Re: [PATCH v3 3/3] ALSA: hda: Disabled unused audio controller for Dell platforms with Switchable Graphics

Kai-Heng Feng
2018-04-12T14:15:51Z

at 6:59 PM, Pali Rohár <pali.rohar@gmail.com> wrote:

> On Thursday 12 April 2018 12:50:02 Takashi Iwai wrote:
>>> +#if IS_ENABLED(CONFIG_DELL_LAPTOP)
>>> +static bool check_dell_switchable_gfx(struct pci_dev *pdev)
>>> +{
>>> + bool (*dell_switchable_gfx_is_enabled_func)(void);
>>> + bool enabled;
>>> +
>>> + /* Only need to check for Dell laptops and AIOs */
>>> + if (!dmi_find_device(DMI_DEV_TYPE_OEM_STRING, "Dell System", NULL) ||
>>> + !(dmi_match(DMI_CHASSIS_TYPE, "10") ||
>>> + dmi_match(DMI_CHASSIS_TYPE, "13")) ||
>>> + !(pdev->vendor == PCI_VENDOR_ID_ATI ||
>>> + pdev->vendor == PCI_VENDOR_ID_NVIDIA))
>>> + return false;
> ...
>>> @@ -1711,6 +1745,11 @@ static int azx_create(struct snd_card *card,
>>> struct pci_dev *pci,
>>> if (err < 0)
>>> return err;
>>>
>>> + if (check_dell_switchable_gfx(pci)) {
>>> + pci_disable_device(pci);
>
> Hi!
>
> Now looking at it again... This code disables all ATI and NVIDIA sound
> cards available in any Dell System (laptop or AIO) if system says that
> SG is enabled, right?

Yes.

>
> It means that also any external ATI or NVIDIA PCI card with audio device
> connected to Thunderbolt (e.g. via PCI <--> TB bridge) is always
> unconditionally disabled too?

I never thought of this case, thanks for bringing this up.
Do you have any suggestion to check if it connects to the system via
Thunderbolt?

Kai-Heng

>
>>> + return -ENODEV;
>>> + }
>
> --
> Pali Rohár
> pali.rohar@gmail.com