Re: [PATCH v2 0/2] PCI: device link quirk for NVIDIA GPU

From: Abhishek Sahu
Date: Mon Jun 17 2019 - 07:39:44 EST


On 6/14/2019 2:27 AM, Bjorn Helgaas wrote:
> On Thu, Jun 06, 2019 at 02:52:23PM +0530, Abhishek Sahu wrote:
>> * v2:
>>
>> 1. Make the pci device link helper function generic which can be
>> used for other multi-function PCI devices also.
>> 2. Minor changes in comments and commit logs.
>>
>> * v1:
>>
>> 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 creating device link
>> PCI: Create device link for NVIDIA GPU
>
> Applied to pci/misc for v5.3, thanks!

Thanks Bjorn for your review and support!

The runtime PM changes in USB Type-C USCI driver is also
applied for v5.3

https://marc.info/?l=linux-usb&m=155994544705901&w=2

It will help in achieving run-time PM for Turing GPUs
in v5.3.

Regards,
Abhishek