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