From: "Holalu Yogendra, Niranjan" <niranjan.hy@ti.com>
To: Pierre-Louis Bossart <pierre-louis.bossart@linux.dev>,
"linux-sound@vger.kernel.org" <linux-sound@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"yung-chuan.liao@linux.intel.com"
<yung-chuan.liao@linux.intel.com>
Cc: "broonie@kernel.org" <broonie@kernel.org>,
"ckeepax@opensource.cirrus.com" <ckeepax@opensource.cirrus.com>,
"shumingf@realtek.com" <shumingf@realtek.com>,
"lgirdwood@gmail.com" <lgirdwood@gmail.com>,
"ranjani.sridharan@linux.intel.com"
<ranjani.sridharan@linux.intel.com>,
"cezary.rojewski@intel.com" <cezary.rojewski@intel.com>,
"peter.ujfalusi@linux.intel.com" <peter.ujfalusi@linux.intel.com>,
"kai.vehmanen@linux.intel.com" <kai.vehmanen@linux.intel.com>,
"vkoul@kernel.org" <vkoul@kernel.org>,
"Ding, Shenghao" <shenghao-ding@ti.com>,
"Xu, Baojun" <baojun.xu@ti.com>,
"Kasargod, Sandeep" <sandeepk@ti.com>,
Richard Fitzgerald <rf@opensource.cirrus.com>
Subject: Re: [PATCH v1 RESEND] SoundWire: Allow Prepare command for Simplified_CP_SM
Date: Tue, 10 Feb 2026 11:08:16 +0000 [thread overview]
Message-ID: <87773927e37c4d70862c5f047431c7b0@ti.com> (raw)
In-Reply-To: <97872c17-73c9-4484-9f8e-373ed9a59a25@linux.dev>
> On 2/9/26 20:13, Pierre-Louis Bossart <pierre-louis.bossart@linux.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.
So, setting the device to simplified CP_SM and ignoring the "port ready" bits is the
best option we have.
The TI's HW is implemented referring to the "Figure 141 Channel Prepare State
Machine" for Simplified_CP_SM of the spec. where Prepare0 OR Prepare1 are shown in the
image interpreting it as setting prepare/de-prepare bits.
> > + } else {
> > + /* Some device return error for the prepare command,
> > + * ignore the error for Simplified CP_SM
>
> that comment is misleading anyways, it's not 'some device' it's ALL the
> conformant devices that will return Command_Ignored when trying to write
> read-only bits. You haven't described what the TI devices would return in this
> case.
TI device doesn't return any error code while setting the prepare bits command while
in Simplified_CP_SM mode. It accepts the write to the register without complaint.
I agree that the comment could be updated. We should indicate that we're
deliberately sending writes to what should be write-ignored bits for compatibility
reasons, while ensuring any potential errors from fully spec-compliant devices are
handled gracefully.
Regards
Niranjan
next prev parent reply other threads:[~2026-02-10 11:08 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-09 7:09 Niranjan H Y
2026-02-09 14:43 ` Pierre-Louis Bossart
2026-02-10 11:08 ` Holalu Yogendra, Niranjan [this message]
2026-02-10 17:04 ` Pierre-Louis Bossart
2026-02-10 17:29 ` Richard Fitzgerald
2026-02-10 20:28 ` Pierre-Louis Bossart
2026-02-11 10:41 ` Richard Fitzgerald
2026-02-12 16:17 ` [EXTERNAL] " Holalu Yogendra, Niranjan
2026-02-12 16:28 ` Richard Fitzgerald
2026-02-13 14:56 ` Pierre-Louis Bossart
2026-02-14 16:42 ` Holalu Yogendra, Niranjan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87773927e37c4d70862c5f047431c7b0@ti.com \
--to=niranjan.hy@ti.com \
--cc=baojun.xu@ti.com \
--cc=broonie@kernel.org \
--cc=cezary.rojewski@intel.com \
--cc=ckeepax@opensource.cirrus.com \
--cc=kai.vehmanen@linux.intel.com \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=peter.ujfalusi@linux.intel.com \
--cc=pierre-louis.bossart@linux.dev \
--cc=ranjani.sridharan@linux.intel.com \
--cc=rf@opensource.cirrus.com \
--cc=sandeepk@ti.com \
--cc=shenghao-ding@ti.com \
--cc=shumingf@realtek.com \
--cc=vkoul@kernel.org \
--cc=yung-chuan.liao@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome