My suggestions are (pick one):
- create one multichannel control and remove the stereo controls when the
hardware is detected (no functionality dup)
we can't remove controls that existed before, this might break userspace with older UCM files that touch those ADC07 and ADC27. That's why we added a new one, to be backwards compatible with a user updates their kernel.
- create proper vmaster control like for HDA playback
That might be the better option. What was suggested in this patch is essentially to introduce a layer that drives the actual controls, but it was done 'manually' and may not follow the proper rules.
That said I know absolutely nothing about 'vmaster controls', pointers to a typical example would be greatly appreciated.
- wait until UCM can describe this hardware and set the DAC values manually
to a sensible value via sequences (the specific hardware levels can be set using the conditions in UCM)
Not an option, there are products that need to ship soon.
BTW: I see lack of analog volume level controls also for other SDW hardware (with the RT1308 amplifier). It's a bit pitty that the audio basics are ignored here. Everyone wants to control the analog levels at first for audio I/O and then to modify the samples in the digital stream.
I agree, there was an oversight in initial UCM files where the SOF controls modifying the digital parts were used across the board. This was mandatory for DMICs controlled by SOF but all other streams should have been controlled by controls exposed by external devices.