[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5066fa12-3ac1-4619-8fbe-62d61f9d446c@opensource.cirrus.com>
Date: Tue, 10 Feb 2026 17:29:34 +0000
From: Richard Fitzgerald <rf@...nsource.cirrus.com>
To: Pierre-Louis Bossart <pierre-louis.bossart@...ux.dev>,
"Holalu Yogendra, Niranjan" <niranjan.hy@...com>,
"linux-sound@...r.kernel.org" <linux-sound@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"yung-chuan.liao@...ux.intel.com" <yung-chuan.liao@...ux.intel.com>
Cc: "broonie@...nel.org" <broonie@...nel.org>,
"ckeepax@...nsource.cirrus.com" <ckeepax@...nsource.cirrus.com>,
"shumingf@...ltek.com" <shumingf@...ltek.com>,
"lgirdwood@...il.com" <lgirdwood@...il.com>,
"ranjani.sridharan@...ux.intel.com" <ranjani.sridharan@...ux.intel.com>,
"cezary.rojewski@...el.com" <cezary.rojewski@...el.com>,
"peter.ujfalusi@...ux.intel.com" <peter.ujfalusi@...ux.intel.com>,
"kai.vehmanen@...ux.intel.com" <kai.vehmanen@...ux.intel.com>,
"vkoul@...nel.org" <vkoul@...nel.org>,
"Ding, Shenghao"
<shenghao-ding@...com>,
"Xu, Baojun" <baojun.xu@...com>, "Kasargod, Sandeep" <sandeepk@...com>
Subject: Re: [PATCH v1 RESEND] SoundWire: Allow Prepare command for
Simplified_CP_SM
On 10/02/2026 5:04 pm, Pierre-Louis Bossart wrote:
> On 2/10/26 12:08, Holalu Yogendra, Niranjan wrote:
>>> On 2/9/26 20:13, Pierre-Louis Bossart <pierre-louis.bossart@...ux.dev> wrote:
>>> Subject: Re: [PATCH v1 RESEND] SoundWire: Allow Prepare
>>> command for Simplified_CP_SM
>>>
>>> On 2/9/26 08: 09, Niranjan H Y wrote:
>>>> In TI device implementations, we've found that some devices with
>>>> Simplified_CP_SM still benefit from receiving the Prepare command.
>>> It would also be good to clarify when the device is actually prepared after the
>>> bits are set, if the implementation cannot guarantee that the prepared status is
>>> reached by the end of the frame where the write occurs, then it's definitively
>>> NOT a Simplified_CP_SM.
>>>
>>> What happens is the simple_ch_prep_sm bit is not set for those devices, and
>>> the regular state machine is used instead? Is anything broken?
>>
>> We need to use the same BIOS between Windows and Linux. The BIOS configures
>> the device as Simplified_CP_SM. The device also expects the Prepare bits to be
>> set. If the device is configured as generic CP_SM, the status "Port Ready"
>> bits will not be updated and we end up with port prepare fail errors.
>
> Are you referring to the DPN_IntStat::PortReady bit? IOW do the errors during prepare happen because the interrupt is not generated?
>
> If that is the case, then you should be aware of the thread "soundwire: stream: Prepare ports in parallel to reduce stream start latency", where it was agreed that the use of the PortReady interrupt is broken. We do need to move to a different code where we have a polling loop on the DPN_PrepareStatus::NotFinished bits.
I made a patch to poll for DP prepare finished, instead of using the
interrupt. I haven't sent that patch because this TI patch changes the
same function. I was waiting for this one to be merged and then I would
rebase onto that.
Draft review of polled DP prepare:
https://github.com/thesofproject/linux/pull/5649
Powered by blists - more mailing lists