On Tue, Aug 11, 2020 at 11:25:51AM +0100, Srinivas Kandagatla wrote: > Most of the DAPM widgets for DSP ASoC components reuse reg field > of the widgets for its internal calculations, however these are not > real registers. So read/writes to these numbers are not really > valid. However ASoC core will read these registers to get default > state during startup. >
Actually q6afe-dai does not seem to make use of the register number. The DAPM widgets all look like SND_SOC_DAPM_AIF_IN("HDMI_RX", NULL, 0, 0, 0, 0), /* (wname, stname, wchan, wreg, wshift, winvert) Wouldn't it be better to replace wreg = 0 with SND_SOC_NOPM in this case so the read/write won't happen at all? q6routing on the other hand does make use of wreg, so this would not work there... Also: If I remember correctly the ASoC core will also attempt to write to these "registers" when starting to play some audio, so you might also need to implement component->write(). Stephan