On Tue, Aug 11, 2020 at 11:25:51AM +0100, Srinivas Kandagatla wrote:That should work, let me try that!
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