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 09/15] ASoC: SDCA: Add UMP buffer helper functions
Date: Mon, 8 Sep 2025 14:15:10 +0100 [thread overview]
Message-ID: <aL7W3iS1YxGfk/AP@opensource.cirrus.com> (raw)
In-Reply-To: <e85fa12d-727c-402b-a7c1-493d2224f228@linux.dev>
On Mon, Sep 08, 2025 at 02:02:09PM +0200, Pierre-Louis Bossart wrote:
> On 9/5/25 16:31, Charles Keepax wrote:
> > Add helper functions for handling Universal Message Passing (UMP)
> > buffers on SDCA devices. These are generic mechanisms to pass blocks of
> > binary data between the host and the device, in both directions. They
> > are used for things like passing HID descriptors and the File Download
> > process.
>
> Humm, these helpers are very host-centric and don't seem to cover the basic
> UMP message passing, e.g. for host to device:
>
> 1. host puts information in a buffer.
by calling sdca_ump_write_message
> 2. host sets ownership to device and waits for ownership to be returned.
by calling sdca_ump_set_owner_device
> 3. device does a bunch of things and returns the ownership to the host.
> 4. host detects ownership change or times out with a failed transfer error message.
by receiving an IRQ on the owner control.
> What am I missing?
You might need to elaborate a little more on what you think is
missing. The four functions implement the four operations that
power a UMP buffer, checking you have ownership, passing
ownership back to the device, reading data, and writing data.
One could combine more of the functionality into a single helper,
but then you start to hit problems where you need to do extra
bits.
For example HID, very simple just: check you own the buffer,
read the message, and pass the buffer back.
FDL, has extra steps: check you own the buffer, check the FDL
status, then write the buffer, then write the FDL response,
and only then pass the buffer back.
Thanks,
Charles
next prev parent reply other threads:[~2025-09-08 13:15 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-05 14:31 [PATCH 00/15] Add SDCA UMP/FDL support Charles Keepax
2025-09-05 14:31 ` [PATCH 01/15] regmap: sdw-mbq: Don't assume the regmap device is the SoundWire slave Charles Keepax
2025-09-08 11:35 ` Pierre-Louis Bossart
2025-09-08 12:38 ` Charles Keepax
2025-09-05 14:31 ` [PATCH 02/15] ASoC: SDCA: Add manual PM runtime gets to IRQ handlers Charles Keepax
2025-09-08 11:42 ` Pierre-Louis Bossart
2025-09-08 13:31 ` Charles Keepax
2025-09-08 14:15 ` Charles Keepax
2025-09-09 12:56 ` Pierre-Louis Bossart
2025-09-05 14:31 ` [PATCH 03/15] ASoC: SDCA: Pass SoundWire slave to HID Charles Keepax
2025-09-05 14:31 ` [PATCH 04/15] ASoC: SDCA: Pass device register map from IRQ alloc to handlers Charles Keepax
2025-09-08 11:49 ` Pierre-Louis Bossart
2025-09-08 12:56 ` Charles Keepax
2025-09-09 13:05 ` Pierre-Louis Bossart
2025-09-09 16:43 ` Charles Keepax
2025-09-05 14:31 ` [PATCH 05/15] ASoC: SDCA: Update externally_requested flag to cover all requests Charles Keepax
2025-09-05 14:31 ` [PATCH 06/15] ASoC: SDCA: Factor out a helper to find SDCA IRQ data Charles Keepax
2025-09-05 14:31 ` [PATCH 07/15] ASoC: SDCA: Rely less on the ASoC component in IRQ handling Charles Keepax
2025-09-08 10:27 ` Liao, Bard
2025-09-08 12:56 ` Charles Keepax
2025-09-08 14:43 ` Charles Keepax
2025-09-09 1:42 ` Liao, Bard
2025-09-09 8:56 ` Charles Keepax
2025-09-10 1:33 ` Liao, Bard
2025-09-08 11:55 ` Pierre-Louis Bossart
2025-09-08 12:58 ` Charles Keepax
2025-09-05 14:31 ` [PATCH 08/15] ASoC: SDCA: Force some SDCA Controls to be volatile Charles Keepax
2025-09-05 14:31 ` [PATCH 09/15] ASoC: SDCA: Add UMP buffer helper functions Charles Keepax
2025-09-08 12:02 ` Pierre-Louis Bossart
2025-09-08 13:15 ` Charles Keepax [this message]
2025-09-09 13:14 ` Pierre-Louis Bossart
2025-09-09 16:52 ` Charles Keepax
2025-09-10 12:09 ` Pierre-Louis Bossart
2025-09-10 13:37 ` Charles Keepax
2025-09-10 14:29 ` Pierre-Louis Bossart
2025-09-10 15:39 ` Charles Keepax
2025-09-11 12:33 ` Pierre-Louis Bossart
2025-09-11 13:07 ` Charles Keepax
2025-09-12 10:15 ` Pierre-Louis Bossart
2025-09-12 10:33 ` Charles Keepax
2025-09-12 11:30 ` Pierre-Louis Bossart
2025-09-05 14:31 ` [PATCH 10/15] ASoC: SDCA: Add SDCA FDL data parsing Charles Keepax
2025-09-05 14:31 ` [PATCH 11/15] ASoC: SDCA: Add FDL library for XU entities Charles Keepax
2025-09-08 12:14 ` Pierre-Louis Bossart
2025-09-08 13:16 ` Charles Keepax
2025-09-09 13:14 ` Pierre-Louis Bossart
2025-09-05 14:31 ` [PATCH 12/15] ASoC: SDCA: Add XU-specific IRQ processing Charles Keepax
2025-09-05 14:31 ` [PATCH 13/15] ASoC: SDCA: Add completion for FDL start and stop Charles Keepax
2025-09-05 14:31 ` [PATCH 14/15] ASoC: SDCA: Add early IRQ handling Charles Keepax
2025-09-05 14:31 ` [PATCH 15/15] ASoC: SDCA: Add HID button IRQ Charles Keepax
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=aL7W3iS1YxGfk/AP@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