From: Pierre-Louis Bossart <pierre-louis.bossart@linux.dev>
To: Charles Keepax <ckeepax@opensource.cirrus.com>
Cc: broonie@kernel.org, vkoul@kernel.org, lee@kernel.org,
lgirdwood@gmail.com, yung-chuan.liao@linux.intel.com,
peter.ujfalusi@linux.intel.com, oder_chiou@realtek.com,
jack.yu@realtek.com, shumingf@realtek.com, srini@kernel.org,
linux-sound@vger.kernel.org, linux-arm-msm@vger.kernel.org,
linux-kernel@vger.kernel.org, patches@opensource.cirrus.com
Subject: Re: [PATCH v3 00/10] Expand SoundWire enumeration helper coverage
Date: Mon, 22 Jun 2026 11:44:01 +0200 [thread overview]
Message-ID: <d4c4ffb9-8ea6-4fb2-bcfe-1e2265c262fa@linux.dev> (raw)
In-Reply-To: <ajVpMYzqnSc0x/YB@opensource.cirrus.com>
On 6/19/26 18:07, Charles Keepax wrote:
> On Fri, Jun 19, 2026 at 03:41:44PM +0200, Pierre-Louis Bossart wrote:
>>
>>> The patch series in [1] added a new helper to remove common boiler plate
>>> waiting for a device to enumerate on SoundWire, however, many devices
>>> also wait for enumeration during probe. This series updates things to be
>>> suitable such that we can call the same helper at probe time when the
>>> unattach_request is not valid.
>>
>> So if we are no longer testing for unattach_request, should this be definition and its use be removed?
>> Looks like there were multiple evolutions since the initial patch
>> "soundwire: sdw_slave: track unattach_request to handle all init sequences",
>> is an additional cleanup needed?
>
> There are still a couple of end drivers that use unattach_request
> to attempt to track if the device was reset. I suspect that is
> likely better done other ways but its very hard stuff to change
> without detailed knowledge of the specific devices.
ok, it looks like a more difficult change than a basic cleanup.
> I think our only part still using this is cs42l42 which I think
> someone has the power to test internally, so we could look at
> that at some point in the future. But I am not comfortable
> changing the realtek or ess parts using this myself.
>
>>> There is one final step outstanding which is to add a core helper
>>> that waits for a device to drop off the bus. This is not include
>>> in this series and should be the last step of this process.
>>
>> Humm, I am not following why the core needs to wait for a device
>> to drop off. If there's a bus reset or device reset, it's almost
>> immediate. It the devices loses sync then the core wouldn't
>> wait either since it's not expecting the device to drop-off.
>
> The problem is mostly from the device side. This usually comes up
> from a device reset. So the driver does a reset, device drops off
> the bus, the device driver doesn't want to carry on until it
> knows the device is back on the bus. So naively one calls
> sdw_slave_wait_for_init() but there is nothing the ensures the
> core saw the bus disconnection before that call so it might
> immediately succeed, causing the driver to attempt to access a
> missing device.
>
> Yeah the fall of the bus is fast but so are processors, you need
> to actually ensure you can't shortcut the wait. Although typing
> this it occurs to me it probably doesn't have to be a wait one
> can probably just manually reinit the initalization_complete
> completion. But hopefully I will get this series ready soon and
> we can discuss on there.
Don't we already have the interface to detect a device was UNATTACHED?
In theory the core will invoke the update_status() callback on every status change. Each driver would use the information to know when the UNATTACHED happened and likewise when the device is enumerated/initialized again. So far most drivers just return and do nothing when an UNATTACHED status is reported.
The only thing we can't control at the moment is that when a device reports as device0, the core will enumerate it and attempt to initialize it. If additional time is needed prior to the enumeration, we don't have the hooks for it - that would not be quite standard behavior anyways.
next prev parent reply other threads:[~2026-06-22 9:46 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-08 10:27 [PATCH v3 00/10] Expand SoundWire enumeration helper coverage Charles Keepax
2026-06-08 10:27 ` [PATCH v3 01/10] soundwire: Always wait for initialisation of unattached devices Charles Keepax
2026-06-08 10:27 ` [PATCH v3 02/10] ASoC: wsa881x: Use new SoundWire enumeration helper Charles Keepax
2026-06-08 10:27 ` [PATCH v3 03/10] mfd: cs42l43: " Charles Keepax
2026-06-18 12:04 ` (subset) " Lee Jones
2026-06-08 10:27 ` [PATCH v3 04/10] ASoC: rt5682: " Charles Keepax
2026-06-08 10:27 ` [PATCH v3 05/10] ASoC: pm4125: " Charles Keepax
2026-06-08 10:27 ` [PATCH v3 06/10] ASoC: wcd937x: " Charles Keepax
2026-06-08 10:27 ` [PATCH v3 07/10] ASoC: wcd938x: " Charles Keepax
2026-06-08 10:27 ` [PATCH v3 08/10] ASoC: wcd939x: " Charles Keepax
2026-06-08 10:27 ` [PATCH v3 09/10] ASoC: SDCA: " Charles Keepax
2026-06-08 10:27 ` [PATCH v3 10/10] ASoC: cs35l56: Remove unnecessary conditionals waiting for enumeration Charles Keepax
2026-06-11 19:47 ` (subset) [PATCH v3 00/10] Expand SoundWire enumeration helper coverage Mark Brown
2026-06-19 13:41 ` Pierre-Louis Bossart
2026-06-19 16:07 ` Charles Keepax
2026-06-22 9:44 ` Pierre-Louis Bossart [this message]
2026-06-22 10:16 ` Charles Keepax
2026-06-22 11:53 ` Pierre-Louis Bossart
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=d4c4ffb9-8ea6-4fb2-bcfe-1e2265c262fa@linux.dev \
--to=pierre-louis.bossart@linux.dev \
--cc=broonie@kernel.org \
--cc=ckeepax@opensource.cirrus.com \
--cc=jack.yu@realtek.com \
--cc=lee@kernel.org \
--cc=lgirdwood@gmail.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=oder_chiou@realtek.com \
--cc=patches@opensource.cirrus.com \
--cc=peter.ujfalusi@linux.intel.com \
--cc=shumingf@realtek.com \
--cc=srini@kernel.org \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.