ALSA: hda/i915 - skip acomp init if no matching display
authorKai Vehmanen <kai.vehmanen@linux.intel.com>
Tue, 5 Apr 2022 12:36:22 +0000 (15:36 +0300)
committerTakashi Iwai <tiwai@suse.de>
Tue, 5 Apr 2022 16:18:26 +0000 (18:18 +0200)
commitc9db8a30d9f091aa571b5fb7c3f434cde107b02c
tree06d80f778816a89db5e189531b91a77c2391c73e
parentbc55cfd5718c7c23e5524582e9fa70b4d10f2433
ALSA: hda/i915 - skip acomp init if no matching display

In systems with only a discrete i915 GPU, the acomp init will
always timeout for the PCH HDA controller instance.

Avoid the timeout by checking the PCI device hierarchy
whether any display class PCI device can be found on the system,
and at the same level as the HDA PCI device. If found, proceed
with the acomp init, which will wait until i915 probe is complete
and component binding can proceed. If no matching display
device is found, the audio component bind can be safely skipped.

The bind timeout will still be hit if the display is present
in the system, but i915 driver does not bind to it by configuration
choice or probe error. In this case the 60sec timeout will be
hit.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Acked-by: Lucas De Marchi <lucas.demarchi@intel.com>
Link: https://lore.kernel.org/r/20220405123622.2874457-1-kai.vehmanen@linux.intel.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/hda/hdac_i915.c