Re: [PATCH v2 2/2] ASoC: tas2783-sdw: do not cache read-only Controls

Andrey Golovko <[email protected]>
Newsgroups org.kernel.vger.linux-sound,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
On Fri, Aug 14, 2026 at 04:13:42PM +0100, Mark Brown wrote:

> Does this work for multibyte reads?  The regmap has val_size set to 8
> but some of the read only registers are multibyte.  For SoundWire
> val_bits doesn't really matter so you should just be able to set that to
> 32.

It does not, thank you.  Twenty of the Controls in the list are wider
than one byte, and with val_bits = 8 the MBQ layer refuses each of them
before anything reaches the bus, so the patch on its own would replace
an answer from the cache with -EINVAL.

The widening is a patch of its own because the calibration write relied
on the old width, so I have sent both as v3 with it in front, against
for-7.3:

  https://lore.kernel.org/linux-sound/[email protected]/

The cover letter has the list of the multi-byte Controls and what the
two patches were measured to do on the machine here.

One thing I noticed while checking the sizes, unrelated to this series:
FU21 0x10 and UDMPU23 0x06 are in the read-only list but appear nowhere
in tas2783_sdca_mbq_size(), which returns 0 for them, so
tas2783_readable_register() refuses them and they are unreachable
through the regmap in either direction.  Harmless as it stands, nothing
touches them, but the size callback looks incomplete rather than
deliberate.  I can add them, or leave that to TI along with the rest of
the reg_defaults questions I owe them a mail about.

Andrey
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.