[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2ed288d0-c8fe-1856-dbe9-74f4f7c075ba@linux.intel.com>
Date: Wed, 19 Jul 2023 14:13:59 +0200
From: Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>
To: Takashi Iwai <tiwai@...e.de>
Cc: Kai Vehmanen <kai.vehmanen@...ux.intel.com>,
Alsa-devel <alsa-devel@...a-project.org>,
sound-open-firmware@...a-project.org, linux-kernel@...r.kernel.org,
Jaroslav Kysela <perex@...ex.cz>,
Takashi Iwai <tiwai@...e.com>,
Cezary Rojewski <cezary.rojewski@...el.com>,
Pierre-Louis Bossart <pierre-louis.bossart@...ux.intel.com>,
Liam Girdwood <liam.r.girdwood@...ux.intel.com>,
Peter Ujfalusi <peter.ujfalusi@...ux.intel.com>,
Bard Liao <yung-chuan.liao@...ux.intel.com>,
Ranjani Sridharan <ranjani.sridharan@...ux.intel.com>,
Mark Brown <broonie@...nel.org>,
Daniel Baluta <daniel.baluta@....com>,
Matthew Auld <matthew.auld@...el.com>
Subject: [PATCH] ASoC: SOF: Intel: Remove deferred probe for SOF
On 2023-07-19 13:06, Takashi Iwai wrote:
> On Wed, 19 Jul 2023 11:48:06 +0200,
> Maarten Lankhorst wrote:
>>
>> The 60 seconds timeout is a thing "better than complete disablement",
>> so it's not ideal, either. Maybe we can add something like the
>> following:
>>
>> - Check when the deferred probe takes too long, and warn it
>> - Provide some runtime option to disable the component binding, so
>> that user can work around it if needed
>>
>> A module option to snd_hdac_i915_init would probably be the least of all evils
>> here.
>
> Yes, probably it's the easiest option and sufficient.
>
>
> thanks,
>
> Takashi
Hey,
Patch below, can be applied immediately iresspective of the other patches.
---->8----------
Selecting CONFIG_DRM selects CONFIG_VIDEO_NOMODESET, which exports
video_firmware_drivers_only(). This can be used as a first approximation
on whether i915 will be available. It's safe to use as this is only
built when CONFIG_SND_HDA_I915 is selected by CONFIG_I915.
It's not completely fool proof, as you can boot with "nomodeset
i915.modeset=1" to make i915 load regardless, or use
"i915.force_probe=!*" to never load i915, but the common case of booting
with nomodeset to disable all GPU drivers this will work as intended.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>
---
diff --git a/sound/hda/hdac_i915.c b/sound/hda/hdac_i915.c
index 1637dc6e630a6..90bcf84f7b2ce 100644
--- a/sound/hda/hdac_i915.c
+++ b/sound/hda/hdac_i915.c
@@ -11,6 +11,8 @@
#include <sound/hda_i915.h>
#include <sound/hda_register.h>
+#include <video/nomodeset.h>
+
#define IS_HSW_CONTROLLER(pci) (((pci)->device == 0x0a0c) || \
((pci)->device == 0x0c0c) || \
((pci)->device == 0x0d0c) || \
@@ -122,6 +124,9 @@ static int i915_gfx_present(struct pci_dev *hdac_pci)
{
struct pci_dev *display_dev = NULL;
+ if (video_firmware_drivers_only())
+ return false;
+
for_each_pci_dev(display_dev) {
if (display_dev->vendor == PCI_VENDOR_ID_INTEL &&
(display_dev->class >> 16) == PCI_BASE_CLASS_DISPLAY &&
Powered by blists - more mailing lists