[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190603100707.yhw4fu54vt3ykvd5@wunner.de>
Date: Mon, 3 Jun 2019 12:07:07 +0200
From: Lukas Wunner <lukas@...ner.de>
To: Abhishek Sahu <abhsahu@...dia.com>
Cc: Bjorn Helgaas <helgaas@...nel.org>, linux-kernel@...r.kernel.org,
linux-pci@...r.kernel.org
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
Powered by blists - more mailing lists