[RFC 3/4] ALSA: hda/i915: Add flag to hdac_bus to disable device link for display audio
Peter Ujfalusi
peter.ujfalusi at linux.intel.com
Wed Jun 25 14:02:21 UTC 2025
i915_no_device_link can be set by audio stacks where there is no direct
hardware dependency exist between display and HDA.
The flag will be passed to acomp->no_device_link for the display stack to
skip the creation of the display link if it is set.
By default the link creation will remain to ensure that it is skipped only
when it is possible by the architecture.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi at linux.intel.com>
---
include/sound/hdaudio.h | 1 +
sound/hda/hdac_i915.c | 7 ++++++-
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/include/sound/hdaudio.h b/include/sound/hdaudio.h
index 4e4317d06ac5..9e1234be3ea7 100644
--- a/include/sound/hdaudio.h
+++ b/include/sound/hdaudio.h
@@ -352,6 +352,7 @@ struct hdac_bus {
bool not_use_interrupts:1; /* prohibiting the RIRB IRQ */
bool access_sdnctl_in_dword:1; /* accessing the sdnctl register by dword */
bool use_pio_for_commands:1; /* Use PIO instead of CORB for commands */
+ bool i915_no_device_link:1; /* Do not add device link for i915 HDMI audio */
int poll_count;
diff --git a/sound/hda/hdac_i915.c b/sound/hda/hdac_i915.c
index e9425213320e..b86dd31b67f8 100644
--- a/sound/hda/hdac_i915.c
+++ b/sound/hda/hdac_i915.c
@@ -118,8 +118,13 @@ static int i915_component_master_match(struct device *dev, int subcomponent,
if ((!strcmp(dev->driver->name, "i915") ||
!strcmp(dev->driver->name, "xe")) &&
subcomponent == I915_COMPONENT_AUDIO &&
- connectivity_check(i915_pci, hdac_pci))
+ connectivity_check(i915_pci, hdac_pci)) {
+ struct i915_audio_component *acomp = bus->audio_component;
+
+ acomp->no_device_link = bus->i915_no_device_link;
+
return 1;
+ }
return 0;
}
--
2.50.0
More information about the Intel-gfx-trybot
mailing list