Skip to content

Commit 9170f2c

Browse files
ujfalusiranj063
authored andcommitted
ASoC: SOF: Intel: hda: Add module parameter to disable display audio bind
The SOF audio stack expects working Intel eGPU to probe and to have working analog audio. Under special circumstances users or developers can encounter issues of no i915/Xe driver available and thus the SOF audio card is not probing: - Booting kernel on a new architecture where the display driver is not yet working (cannot even force probed) - running in virtualized environment without access to eGPU resources - booting with nomodeset While the percentage of affected users are small, it can still cause unreasonable obstacles on their use cases. With the disable_display_audio_bind=true module parameter the binding can be disabled to let the SOF stack to probe and provide at least working analog audio. Obviously the display audio will not work, but that is expected. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
1 parent a131a1c commit 9170f2c

1 file changed

Lines changed: 9 additions & 0 deletions

File tree

sound/soc/sof/intel/hda.c

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
#include <sound/soc-acpi-intel-ssp-common.h>
2929
#include <sound/sof.h>
3030
#include <sound/sof/xtensa.h>
31+
#include <sound/hda_i915.h>
3132
#include <sound/hda-mlink.h>
3233
#include "../sof-audio.h"
3334
#include "../sof-pci-dev.h"
@@ -41,6 +42,11 @@
4142
#include <sound/soc-acpi-intel-match.h>
4243
#endif
4344

45+
static bool disable_display_audio_bind;
46+
module_param(disable_display_audio_bind, bool, 0444);
47+
MODULE_PARM_DESC(disable_display_audio_bind,
48+
"Disable i915/Xe display audio component binding");
49+
4450
/* platform specific devices */
4551
#include "shim.h"
4652

@@ -704,6 +710,9 @@ int hda_dsp_probe_early(struct snd_sof_dev *sdev)
704710
const struct sof_intel_dsp_desc *chip;
705711
int ret = 0;
706712

713+
if (disable_display_audio_bind)
714+
snd_hdac_i915_bind(sof_to_bus(sdev), 0);
715+
707716
if (!sdev->dspless_mode_selected) {
708717
/*
709718
* detect DSP by checking class/subclass/prog-id information

0 commit comments

Comments
 (0)