]> Git Repo - linux.git/commit
PCI: Enable NVIDIA HDA controllers
authorLukas Wunner <[email protected]>
Mon, 8 Jul 2019 05:17:44 +0000 (13:17 +0800)
committerBjorn Helgaas <[email protected]>
Thu, 11 Jul 2019 16:13:26 +0000 (11:13 -0500)
commitb516ea586d717472178e6ef1c152e85608b0ce32
treeaca69680f8b50a6723514b851573f77a119b0146
parent590a18e1711318a7e1756be48853223a1eb84316
PCI: Enable NVIDIA HDA controllers

Many NVIDIA GPUs can be configured as either a single-function video device
or a multi-function device with video at function 0 and an HDA audio
controller at function 1.  The HDA controller can be enabled or disabled by
a bit in the function 0 config space.

Some BIOSes leave the HDA disabled, which means the HDMI connector from the
NVIDIA GPU may not work.  Sometimes the BIOS enables the HDA if an HDMI
cable is connected at boot time, but that doesn't handle hotplug cases.

Enable the HDA controller on device enumeration and resume and re-read the
header type, which tells us whether the GPU is a multi-function device.

This quirk is limited to NVIDIA PCI devices with the VGA Controller device
class.  This is expected to correspond to product configurations where the
NVIDIA GPU has connectors attached.  Other products where the device class
is 3D Controller are expected to correspond to configurations where the
NVIDIA GPU is dedicated (dGPU) and has no connectors.  See original post
(URL below) for more details.

This commit takes inspiration from an earlier patch by Daniel Drake.

Link: https://lore.kernel.org/r/[email protected]
Link: https://lore.kernel.org/r/[email protected]
Link: https://devtalk.nvidia.com/default/topic/1024022
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=75985
Signed-off-by: Lukas Wunner <[email protected]>
Signed-off-by: Daniel Drake <[email protected]>
[bhelgaas: commit log, log message, return early if already enabled]
Signed-off-by: Bjorn Helgaas <[email protected]>
Cc: Aaron Plattner <[email protected]>
Cc: Peter Wu <[email protected]>
Cc: Ilia Mirkin <[email protected]>
Cc: Karol Herbst <[email protected]>
Cc: Maik Freudenberg <[email protected]>
drivers/pci/quirks.c
include/linux/pci_ids.h
This page took 0.05173 seconds and 4 git commands to generate.