[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ffb79f8b-7557-92eb-2c20-e8f5fd2afaee@linux.intel.com>
Date: Fri, 16 Sep 2022 16:22:37 +0200
From: Pierre-Louis Bossart <pierre-louis.bossart@...ux.intel.com>
To: Srinivas Kandagatla <srinivas.kandagatla@...aro.org>,
vkoul@...nel.org
Cc: alsa-devel@...a-project.org, linux-arm-msm@...r.kernel.org,
linux-kernel@...r.kernel.org, sanyog.r.kale@...el.com,
yung-chuan.liao@...ux.intel.com, quic_srivasam@...cinc.com
Subject: Re: [PATCH v2 1/2] soundwire: qcom: update status from device id 1
On 9/16/22 15:53, Srinivas Kandagatla wrote:
> By default autoenumeration is enabled on QCom SoundWire controller
> which means the core should not be dealing with device 0 w.r.t enumeration.
>
> During Enumeration if SoundWire core sees status[0] as SDW_SLAVE_ATTACHED and
> start programming the device id, however reading DEVID registers return zeros
> which does not match to any of the slaves in the list and the core attempts
> to park this device to Group 13. This results in adding SoundWire device
> with enumeration address 0:0:0:0
>
> Fix this by not passing device 0 status to SoundWire core.
>
> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@...aro.org>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@...ux.intel.com>
> ---
> Changes since v1:
> - updated change log and split patch in to two as suggested by Pierre
>
> drivers/soundwire/qcom.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/soundwire/qcom.c b/drivers/soundwire/qcom.c
> index e7f95c41eb70..d3ce580cdeaf 100644
> --- a/drivers/soundwire/qcom.c
> +++ b/drivers/soundwire/qcom.c
> @@ -448,7 +448,7 @@ static void qcom_swrm_get_device_status(struct qcom_swrm_ctrl *ctrl)
> ctrl->reg_read(ctrl, SWRM_MCP_SLV_STATUS, &val);
> ctrl->slave_status = val;
>
> - for (i = 0; i <= SDW_MAX_DEVICES; i++) {
> + for (i = 1; i <= SDW_MAX_DEVICES; i++) {
> u32 s;
>
> s = (val >> (i * 2));
Powered by blists - more mailing lists