Following is the list of fixes and updates targeting HDaudio +/- Dmic configuration on Intel DSP platforms.
- ASoC: Intel: Skylake: Remove superfluous chip initialization ASoC: Intel: Skylake: Select hda configuration permissively
First patch addresses race condition issue between i915 and hda controller. This is done by yielding priority to i915 so iDisp codec can enumerate properly: same codec_mask is now observed regardless of driver chosen (snd_hda_intel vs snd_soc_skl).
Second patch is a consequence of the first, to prevent driver from incorrectly aborting probe - rather than reorganizing Skylake's boot flow, small changed has been proposed.
- ASoC: Intel: Skylake: Shield against no-NHLT configurations
Some hardware has no NHLT exposed by BIOS (or an equivalent). Changes have been made to ensure driver is shielded against null-dereferences and such which occur when said table is absent.
- ASoC: Intel: skl_hda_dsp: Enable Dmic configuration
While DMIC is available on some production stuff, Intel platforms with Skylake driver do not treat it as a valid option if no additional I2S codec in present onboard. Update skl_hda_dsp board to expose Dmic connections too.
- ASoC: Intel: Allow for ROM init retry on CNL platforms ASoC: Intel: Skylake: Await purge request ack on CNL
Both address rom init timeouts during CNL/ CFL/ CML/ WHL boot up sequences. These provide retry mechanism and ensure purge request is acked before proceding with FW load. bxt-sst.c has had these fixes appended long ago - somehow someone forgotten about CNL family.
*****
Note: topology update is also needed to enable HDA +/- Dmic configuration as existing ones do not contain any routes or widgets required to enable it - these care about I2S only. We have prepared corresponding UCM files too. Will be sharing them shortly.
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.
Cezary Rojewski (6): ASoC: Intel: Skylake: Remove superfluous chip initialization ASoC: Intel: Skylake: Select hda configuration permissively ASoC: Intel: Skylake: Enable codec wakeup during chip init ASoC: Intel: Skylake: Shield against no-NHLT configurations ASoC: Intel: Allow for ROM init retry on CNL platforms ASoC: Intel: Skylake: Await purge request ack on CNL
Mateusz Gorski (1): ASoC: Intel: skl_hda_dsp: Enable Dmic configuration
sound/soc/intel/boards/skl_hda_dsp_generic.c | 3 ++ sound/soc/intel/skylake/bxt-sst.c | 3 -- sound/soc/intel/skylake/cnl-sst.c | 35 ++++++++++++++++---- sound/soc/intel/skylake/skl-nhlt.c | 3 +- sound/soc/intel/skylake/skl-sst-dsp.h | 2 ++ sound/soc/intel/skylake/skl.c | 29 ++++++++-------- 6 files changed, 48 insertions(+), 27 deletions(-)