Merge "soc: soundwire: Update sample interval configuration"

This commit is contained in:
qctecmdr
2020-04-26 23:42:49 -07:00
committed by Gerrit - the friendly Code Review server
4 changed files with 10 additions and 7 deletions

View File

@@ -106,7 +106,7 @@ struct swr_port_info {
u8 slave_port_id; u8 slave_port_id;
u8 offset1; u8 offset1;
u8 offset2; u8 offset2;
u8 sinterval; u16 sinterval;
struct list_head list; struct list_head list;
u8 master_port_id; u8 master_port_id;
u8 hstart; u8 hstart;

View File

@@ -1,6 +1,6 @@
/* SPDX-License-Identifier: GPL-2.0-only */ /* SPDX-License-Identifier: GPL-2.0-only */
/* /*
* Copyright (c) 2015, 2017-2019 The Linux Foundation. All rights reserved. * Copyright (c) 2015, 2017-2020 The Linux Foundation. All rights reserved.
*/ */
#ifndef _LINUX_SWR_COMMON_H #ifndef _LINUX_SWR_COMMON_H
@@ -17,7 +17,7 @@ enum {
}; };
struct port_params { struct port_params {
u8 si; u16 si;
u8 off1; u8 off1;
u8 off2; u8 off2;
u8 hstart;/* head start */ u8 hstart;/* head start */

View File

@@ -1140,7 +1140,7 @@ static void swrm_disable_ports(struct swr_master *master,
(SWRM_DP_PORT_CTRL_BANK((i + 1), bank)), value); (SWRM_DP_PORT_CTRL_BANK((i + 1), bank)), value);
if (mport->stream_type == SWR_PCM) if (mport->stream_type == SWR_PCM)
swrm_pcm_port_config(swrm, i, mport->dir, false); swrm_pcm_port_config(swrm, (i + 1), mport->dir, false);
} }
} }
@@ -1213,7 +1213,7 @@ static void swrm_copy_data_port_config(struct swr_master *master, u8 bank)
continue; continue;
if (mport->stream_type == SWR_PCM) if (mport->stream_type == SWR_PCM)
swrm_pcm_port_config(swrm, i, mport->dir, true); swrm_pcm_port_config(swrm, (i + 1), mport->dir, true);
list_for_each_entry(port_req, &mport->port_req_list, list) { list_for_each_entry(port_req, &mport->port_req_list, list) {
slv_id = port_req->slave_port_id; slv_id = port_req->slave_port_id;
@@ -1303,7 +1303,7 @@ static void swrm_copy_data_port_config(struct swr_master *master, u8 bank)
<< SWRM_DP_PORT_CTRL_OFFSET2_SHFT); << SWRM_DP_PORT_CTRL_OFFSET2_SHFT);
value |= ((mport->offset1) value |= ((mport->offset1)
<< SWRM_DP_PORT_CTRL_OFFSET1_SHFT); << SWRM_DP_PORT_CTRL_OFFSET1_SHFT);
value |= mport->sinterval; value |= (mport->sinterval & 0xFF);
reg[len] = SWRM_DP_PORT_CTRL_BANK((i + 1), bank); reg[len] = SWRM_DP_PORT_CTRL_BANK((i + 1), bank);
@@ -1312,6 +1312,9 @@ static void swrm_copy_data_port_config(struct swr_master *master, u8 bank)
__func__, i, __func__, i,
(SWRM_DP_PORT_CTRL_BANK((i + 1), bank)), value); (SWRM_DP_PORT_CTRL_BANK((i + 1), bank)), value);
reg[len] = SWRM_DP_SAMPLECTRL2_BANK((i + 1), bank);
val[len++] = ((mport->sinterval >> 8) & 0xFF);
if (mport->lane_ctrl != SWR_INVALID_PARAM) { if (mport->lane_ctrl != SWR_INVALID_PARAM) {
reg[len] = SWRM_DP_PORT_CTRL_2_BANK((i + 1), bank); reg[len] = SWRM_DP_PORT_CTRL_2_BANK((i + 1), bank);
val[len++] = mport->lane_ctrl; val[len++] = mport->lane_ctrl;

View File

@@ -89,7 +89,7 @@ struct swrm_mports {
u8 req_ch; u8 req_ch;
u8 offset1; u8 offset1;
u8 offset2; u8 offset2;
u8 sinterval; u16 sinterval;
u8 hstart; u8 hstart;
u8 hstop; u8 hstop;
u8 blk_grp_count; u8 blk_grp_count;