Merge "soc: soundwire: Update sample interval configuration"
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

commit
ace3a85d2f
@@ -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;
|
||||||
|
@@ -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 */
|
||||||
|
@@ -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;
|
||||||
|
@@ -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;
|
||||||
|
Reference in New Issue
Block a user