Hi Cezary,
Thank you for this series. You should have mentioned that this fixes an issue that's been around since September 2018, and for which there's currently no solution on KabyLake/AmberLake platforms - PCI_DEVICE(0x8086, 0x9D71)
https://bugzilla.kernel.org/show_bug.cgi?id=201251
This patchset has been prepared internally for topmost linux-stable 5.5 and 4.20 (no 4.19 as skl_hda_dsp did not exist there yet).
Apart from our RVPs, we have run tests also on:
- KBL Lenovo Carbon X1
- SKL Dell XPS 9350
- WHL Acer Swift 5
Honestly, I'd see HDaudio related patches being backport as low as 4.20 (although some changes had to be adjusted due to base differences between 4.20 and 5.5, can share these too). One could argue HDA + Dmic configuration should be available on 4.19 too - it's an LTS after all. However, that time, some changes could be counted as "feature" rather than fixes. Awaiting your replies and thoughts on that.
In consequence, I've appended "Fixes" only for last two patches for now
- once decisions are made, can append adequate tags wherever necessary.
There's been a couple of accidental regressions already on stable, now fixed, and my understanding is that the bar for inclusion is higher, so let's assume this counts as a new feature: it never worked before with an upstream kernel and distributions haven't had access to topology files either. If a specific distribution wants to backport on top of a -stable version, that's entirely possible but that would be their decision. They would not only need to update the kernel but topology and UCM as well.
One comment though: in the absence of blacklist/voodoo magic, this solution will not be selected with GLK+/WHL, the default with dmics is SOF. Even on KBL, the legacy driver would be selected, we only select the SST driver for SKL and KBL Chromebooks.
You would have to modify the dsp-config stuff [1] to load the skl driver on KBL, which likely requires a FLAG_SST_ONLY_IF_DMIC definition, and probably add a Kconfig since SOF will at some point support KBL, and we want to prevent conflicts between PCI drivers registered for the same ID. The order in that table might be enough though, it's much better than the selection based on a Makefile inclusion.
Patches 6/7 don't seem to be related to DMICs, so we should probably discuss them separately.
Thanks -Pierre
[1] https://elixir.bootlin.com/linux/latest/source/sound/hda/intel-dsp-config.c#...