Messages in this thread | | | Date | Mon, 3 Jun 2019 12:07:07 +0200 | From | Lukas Wunner <> | Subject | Re: [PATCH 2/2] PCI: Create device link for NVIDIA GPU |
| |
On Mon, Jun 03, 2019 at 01:30:51PM +0530, Abhishek Sahu wrote: > On 6/1/2019 2:09 AM, Bjorn Helgaas wrote: > > > If there *is* spec language that allows dependencies like this, please > > include the citation in your commit log. > > The PCIe specification treats each function separately but GPU case is > different. So, it won't be part of PCIe spec. in GPU, the different > kind of devices are internally coupled in HW but still needs to be > managed by different driver.
GPUs aren't the only devices which have these implicit dependencies.
E.g. Broadcom BCM57765 combines a Gigabit Ethernet chip in function 0 (14e4:16b4) with an SD card reader in function 1 (14e4:16bc) and AFAIK for the latter to work, the former needs to be in D0. I think we're incorrectly not enforcing this dependency in the kernel yet. That chip was built into many MacBooks.
Indeed the inability to specify such inter-function power dependencies in config space seems to be a gaping hole in the PCI spec. Maybe we should always assume that function 0 needs to be in D0 for any other function to work? Not sure if that would be safe.
Thanks,
Lukas
| |