From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tony Lindgren Subject: Re: [RFC PATCH v12 1/5] dt-bindings: PCI: Add definition of PCIe WAKE# irq and PCI irq Date: Wed, 3 Jan 2018 11:54:44 -0800 Message-ID: <20180103195444.GN3875@atomide.com> References: <20171226020806.32710-1-jeffy.chen@rock-chips.com> <20171226020806.32710-2-jeffy.chen@rock-chips.com> <20171229175717.GL3875@atomide.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org To: "Rafael J. Wysocki" Cc: Jeffy Chen , Linux Kernel Mailing List , Bjorn Helgaas , Linux PM , Shawn Lin , Brian Norris , "Rafael J. Wysocki" , Doug Anderson , "devicetree@vger.kernel.org" , Linux PCI , Rob Herring , Mark Rutland List-Id: devicetree@vger.kernel.org * Rafael J. Wysocki [171230 00:34]: > On Sat, Dec 30, 2017 at 12:50 AM, Rafael J. Wysocki wrote: > > On Fri, Dec 29, 2017 at 6:57 PM, Tony Lindgren wrote: > >> * Jeffy Chen [171226 02:11]: > >>> We are going to handle PCIe WAKE# pin for PCI devices in the pci core, > >>> so add definitions of the optional PCIe WAKE# pin for PCI devices. > >>> > >>> Also add an definition of the optional PCI interrupt pin for PCI > >>> devices to distinguish it from the PCIe WAKE# pin. > >> > >>> --- a/Documentation/devicetree/bindings/pci/pci.txt > >>> +++ b/Documentation/devicetree/bindings/pci/pci.txt > >>> @@ -24,3 +24,13 @@ driver implementation may support the following properties: > >>> unsupported link speed, for instance, trying to do training for > >>> unsupported link speed, etc. Must be '4' for gen4, '3' for gen3, '2' > >>> for gen2, and '1' for gen1. Any other values are invalid. > >>> + > >>> +PCI devices may support the following properties: > >> > >> This should say PCI ports instead of PCI devices. > > > > No, it is more accurate to say "PCI devices". > > > > Well, it actually gets somewhat confusing, because in the PCI > > terminology a "PCI device" means a physical piece of hardware that can > > be put into a single "slot" (think socket on a board) and may consist > > up to 8 functional units called "functions" which are each represented > > by a struct pci_dev. So there may be up to 8 struct pci_dev objects > > per "PCI device" (as per the standard language) and, BTW, drivers bind > > to functions (via the struct pci_dev objects). > > > > Now, WAKE# is shared by all functions within the same "PCI device" > > (I'm not sure if the standard specifies that directly, but at least it > > appears to be treated as an obvious physical limitation), so it may be > > useful to represent the "slot" or "device" level in the DT even though > > it has no struct device based representation in the kernel. > > Within the convention that bridges represent "everything below them" > as far as WAKE# is concerned, it can say "The following properties may > be provided for PCI bridges:" and the description below should explain > the convention. Sounds good to me. Regards, Tony