From: Charles Keepax <ckeepax@opensource.cirrus.com>
To: Pierre-Louis Bossart <pierre-louis.bossart@linux.dev>
Cc: broonie@kernel.org, rafael@kernel.org,
yung-chuan.liao@linux.intel.com, peter.ujfalusi@linux.intel.com,
shumingf@realtek.com, lgirdwood@gmail.com,
linux-sound@vger.kernel.org, patches@opensource.cirrus.com
Subject: Re: [PATCH v2 10/19] ASoC: SDCA: Parse XU Entity properties
Date: Thu, 18 Sep 2025 11:24:53 +0100 [thread overview]
Message-ID: <aMvd9XR03Lazr6NX@opensource.cirrus.com> (raw)
In-Reply-To: <10209600-42bf-4be1-8ad4-bf60db6f3d28@linux.dev>
On Wed, Sep 17, 2025 at 08:58:51PM +0200, Pierre-Louis Bossart wrote:
>
> > +/**
> > + * enum sdca_xu_reset_machanism - SDCA FDL Resets
> > + */
> > +enum sdca_xu_reset_mechanism {
> > + SDCA_XU_RESET_FUNCTION = 0x0,
> > + SDCA_XU_RESET_DEVICE = 0x1,
> > + SDCA_XU_RESET_BUS = 0x2,
> > +};
>
> It'd be worth explaining how the last two might work? The
> RESET_BUS is puzzling, if the controller performs a hard reset
> then in theory the device should lose all context. Likewise
> a RESET_DEVICE should cause the SoundWire device to fall
> off the bus and lose context as well, and in the case of a
> multi-function device it could be fun if each function causes
> a device reset. This could end-up in a boot-loop, no?
I mean yeah that one seems problematic to implement to me, but
table 322 in v1.1 defines these three resets. Its up to the
implementation of the device to pick one that works for it.
> > +static int find_sdca_entity_xu(struct device *dev,
> > + struct fwnode_handle *entity_node,
> > + struct sdca_entity *entity)
> > +{
> > + struct sdca_entity_xu *xu = &entity->xu;
> > + u32 tmp;
> > + int ret;
> > +
> > + ret = fwnode_property_read_u32(entity_node,
> > + "mipi-sdca-RxUMP-ownership-transition-max-delay",
> > + &tmp);
> > + if (!ret)
> > + xu->max_delay = tmp;
>
> maybe add a sanity check on the value?
>
> > + ret = fwnode_property_read_u32(entity_node, "mipi-sdca-FDL-reset-mechanism",
> > + &tmp);
> > + if (!ret)
> > + xu->reset_mechanism = tmp;
>
> same here?
None of the existing delays are sanity checking, so I think I
would vote for leaving this as future work. It would make more
sense to add it to all delays rather than just the subset we are
adding there.
Thanks,
Charles
next prev parent reply other threads:[~2025-09-18 10:25 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-12 10:34 [PATCH v2 00/20] Add SDCA UMP/FDL support Charles Keepax
2025-09-12 10:34 ` [PATCH v2 01/19] ASoC: SDCA: Rename SoundWire struct device variables Charles Keepax
2025-09-12 10:34 ` [PATCH v2 02/19] regmap: sdw-mbq: Don't assume the regmap device is the SoundWire slave Charles Keepax
2025-09-12 10:34 ` [PATCH v2 03/19] ASoC: SDCA: Add manual PM runtime gets to IRQ handlers Charles Keepax
2025-09-12 10:34 ` [PATCH v2 04/19] ASoC: SDCA: Pass SoundWire slave to HID Charles Keepax
2025-09-12 10:34 ` [PATCH v2 05/19] ASoC: SDCA: Pass device register map from IRQ alloc to handlers Charles Keepax
2025-09-12 10:34 ` [PATCH v2 06/19] ASoC: SDCA: Update externally_requested flag to cover all requests Charles Keepax
2025-09-12 10:34 ` [PATCH v2 07/19] ASoC: SDCA: Factor out a helper to find SDCA IRQ data Charles Keepax
2025-09-17 18:49 ` Pierre-Louis Bossart
2025-09-19 10:41 ` Charles Keepax
2025-09-12 10:34 ` [PATCH v2 08/19] ASoC: SDCA: Rely less on the ASoC component in IRQ handling Charles Keepax
2025-09-12 10:34 ` [PATCH v2 09/19] ASoC: SDCA: Force some SDCA Controls to be volatile Charles Keepax
2025-09-17 18:53 ` Pierre-Louis Bossart
2025-09-18 10:18 ` Charles Keepax
2025-09-12 10:34 ` [PATCH v2 10/19] ASoC: SDCA: Parse XU Entity properties Charles Keepax
2025-09-17 18:58 ` Pierre-Louis Bossart
2025-09-18 10:24 ` Charles Keepax [this message]
2025-09-12 10:34 ` [PATCH v2 11/19] ASoC: SDCA: Parse Function Reset max delay Charles Keepax
2025-09-12 10:34 ` [PATCH v2 12/19] ASoC: SDCA: Add UMP buffer helper functions Charles Keepax
2025-09-17 19:49 ` Pierre-Louis Bossart
2025-09-18 12:22 ` Charles Keepax
2025-09-12 10:34 ` [PATCH v2 13/19] ASoC: SDCA: Add SDCA FDL data parsing Charles Keepax
2025-09-16 13:38 ` Mark Brown
2025-09-16 13:45 ` Mark Brown
2025-09-16 13:51 ` Charles Keepax
2025-09-17 12:14 ` Mark Brown
2025-09-17 14:31 ` Charles Keepax
2025-09-18 20:25 ` Mark Brown
2025-09-19 8:06 ` Charles Keepax
2025-09-12 10:34 ` [PATCH v2 14/19] ASoC: SDCA: Add FDL library for XU entities Charles Keepax
2025-09-12 10:35 ` [PATCH v2 15/19] ASoC: SDCA: Add FDL-specific IRQ processing Charles Keepax
2025-09-12 10:35 ` [PATCH v2 16/19] ASoC: SDCA: Add completion for FDL start and stop Charles Keepax
2025-09-17 20:13 ` Pierre-Louis Bossart
2025-09-18 10:57 ` Charles Keepax
2025-09-12 10:35 ` [PATCH v2 17/19] ASoC: SDCA: Add UMP timeout handling for FDL Charles Keepax
2025-09-12 10:35 ` [PATCH v2 18/19] ASoC: SDCA: Add early IRQ handling Charles Keepax
2025-09-12 10:35 ` [PATCH v2 19/19] ASoC: SDCA: Add HID button IRQ Charles Keepax
2025-09-16 2:12 ` [PATCH v2 00/20] Add SDCA UMP/FDL support Liao, Bard
2025-09-17 20:20 ` Pierre-Louis Bossart
2025-10-29 22:02 ` Mark Brown
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=aMvd9XR03Lazr6NX@opensource.cirrus.com \
--to=ckeepax@opensource.cirrus.com \
--cc=broonie@kernel.org \
--cc=lgirdwood@gmail.com \
--cc=linux-sound@vger.kernel.org \
--cc=patches@opensource.cirrus.com \
--cc=peter.ujfalusi@linux.intel.com \
--cc=pierre-louis.bossart@linux.dev \
--cc=rafael@kernel.org \
--cc=shumingf@realtek.com \
--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