[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <11de8706-5753-472b-1fe0-de80bb3d8c8c@linaro.org>
Date: Thu, 6 Apr 2023 09:03:29 +0200
From: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>
To: Pierre-Louis Bossart <pierre-louis.bossart@...ux.intel.com>,
Andy Gross <agross@...nel.org>,
Bjorn Andersson <andersson@...nel.org>,
Konrad Dybcio <konrad.dybcio@...aro.org>,
Vinod Koul <vkoul@...nel.org>,
Bard Liao <yung-chuan.liao@...ux.intel.com>,
Sanyog Kale <sanyog.r.kale@...el.com>,
Srinivas Kandagatla <srinivas.kandagatla@...aro.org>,
linux-arm-msm@...r.kernel.org, alsa-devel@...a-project.org,
linux-kernel@...r.kernel.org
Cc: stable@...r.kernel.org, Patrick Lai <quic_plai@...cinc.com>
Subject: Re: [PATCH] soundwire: qcom: Fix enumeration of second device on the
bus
On 05/04/2023 17:01, Pierre-Louis Bossart wrote:
>
>
> On 4/5/23 09:29, Krzysztof Kozlowski wrote:
>> Some Soundwire buses (like &swr0 on Qualcomm HDK8450) have two devices,
>> which can be brought from powerdown state one after another. We need to
>> keep enumerating them on each slave attached interrupt, otherwise only
>> first will appear.
>>
>> Cc: <stable@...r.kernel.org>
>> Fixes: a6e6581942ca ("soundwire: qcom: add auto enumeration support")
>> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>
>>
>> ---
>>
>> Cc: Patrick Lai <quic_plai@...cinc.com>
>> ---
>> drivers/soundwire/qcom.c | 11 +++--------
>> 1 file changed, 3 insertions(+), 8 deletions(-)
>>
>> diff --git a/drivers/soundwire/qcom.c b/drivers/soundwire/qcom.c
>> index c296e0bf897b..1e5077d91f59 100644
>> --- a/drivers/soundwire/qcom.c
>> +++ b/drivers/soundwire/qcom.c
>> @@ -587,14 +587,9 @@ static irqreturn_t qcom_swrm_irq_handler(int irq, void *dev_id)
>> case SWRM_INTERRUPT_STATUS_CHANGE_ENUM_SLAVE_STATUS:
>> dev_dbg_ratelimited(swrm->dev, "SWR new slave attached\n");
>> swrm->reg_read(swrm, SWRM_MCP_SLV_STATUS, &slave_status);
>> - if (swrm->slave_status == slave_status) {
>> - dev_dbg(swrm->dev, "Slave status not changed %x\n",
>> - slave_status);
>
> it's not clear to me how removing this test helps with the two-device
> configuration?
>
> Or is this a case where the status for both devices changes at the same
> time but the interrupt status remains set, so the next iteration of the
> loop is ignored?
I think the patch is not correct. I misinterpreted the slave status
field and after double checking I see two speakers bound. Please ignore
for now.
Best regards,
Krzysztof
Powered by blists - more mailing lists