Re: [PATCH v2 2/2] ASoC: tas2783-sdw: do not cache read-only Controls
Andrey Golovko <[email protected]>
| Newsgroups | gmane.linux.sound,gmane.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