Skip to content

Commit 144fe7d

Browse files
committed
ASoC: SOF: Intel: hda: Keep non-alt mlinks powered at probe on ACE2+
Drop the hda_bus_ml_put_all() call at the end of hda_init_caps(). On multi-link (mlink) capable platforms the non-alternate links (HDaudio and iDisp) are powered on by hardware when CRST# is de-asserted (LCTL.SPA = 1) and their ref_count is pre-charged to 1 in hda_ml_alloc_h2link() to match this state. The put_all call immediately dropped that reference and toggled LCTL.SPA back to 0, relying on the first stream open to power the link up again. On ACE2+ platforms this redundant SPA 1->0->1 toggle at probe leaves the Processing Pipe Capability (PPLC) Linear Link Position counters in a state where they do not advance on the first stream after boot. The counters only start working after the first full runtime suspend/resume cycle, which includes a CRST# assert/deassert that fully resets the PPC AON block. Keep the non-alt links powered from CRST# de-assert through first use. System suspend still powers them down via hda_bus_ml_suspend(), and resume relies on CRST# de-assert to bring them back up, so no other path is affected. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
1 parent 988798a commit 144fe7d

1 file changed

Lines changed: 0 additions & 2 deletions

File tree

sound/soc/sof/intel/hda.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -668,8 +668,6 @@ static int hda_init_caps(struct snd_sof_dev *sdev)
668668
if (!HDA_IDISP_CODEC(bus->codec_mask))
669669
hda_codec_i915_display_power(sdev, false);
670670

671-
hda_bus_ml_put_all(bus);
672-
673671
return 0;
674672
}
675673

0 commit comments

Comments
 (0)