[PATCH 0/2] PCI: device link quirk for NVIDIA GPU
From: Abhishek Sahu
Date: Fri May 31 2019 - 01:04:30 EST
NVIDIA Turing GPU [1] has hardware support for USB Type-C and
VirtualLink [2]. The Turing GPU is a multi-function PCI device
which has the following four functions:
- VGA display controller (Function 0)
- Audio controller (Function 1)
- USB xHCI Host controller (Function 2)
- USB Type-C USCI controller (Function 3)
Currently NVIDIA and Nouveau GPU drivers only manage function 0.
Rest of the functions are managed by other drivers. These functions
internally in the hardware are tightly coupled. When function 0 goes
in runtime suspended state, then it will do power gating for most of
the hardware blocks. Some of these hardware blocks are used by
the other PCI functions, which leads to functional failure. In the
mainline kernel, the device link is present between
function 0 and function 1. This patch series deals with creating
a similar kind of device link between function 0 and
functions 2 and 3.
[1] https://www.nvidia.com/content/dam/en-zz/Solutions/design-visualization/technologies/turing-architecture/NVIDIA-Turing-Architecture-Whitepaper.pdf
[2] https://en.wikipedia.org/wiki/VirtualLink
Abhishek Sahu (2):
PCI: Code reorganization for VGA device link
PCI: Create device link for NVIDIA GPU
drivers/pci/quirks.c | 67 ++++++++++++++++++++++++++++++++++----------
1 file changed, 52 insertions(+), 15 deletions(-)
--
2.17.1