From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dongdong Liu Subject: Re: [PATCH] PCI: hisi: Fix DT binding (hisi-pcie-almost-ecam) Date: Wed, 12 Apr 2017 18:24:10 +0800 Message-ID: References: <1490275097-39349-1-git-send-email-liudongdong3@huawei.com> Mime-Version: 1.0 Content-Type: text/plain; charset="gbk"; format=flowed Content-Transfer-Encoding: 8bit Return-path: In-Reply-To: <1490275097-39349-1-git-send-email-liudongdong3@huawei.com> Sender: linux-pci-owner@vger.kernel.org To: helgaas@kernel.org, mark.rutland@arm.com Cc: linux-pci@vger.kernel.org, devicetree@vger.kernel.org, wangzhou1@hisilicon.com, gabriele.paoloni@huawei.com, linuxarm@huawei.com List-Id: devicetree@vger.kernel.org Hi Bjorn This is a fixup for v4.11, and needs to go through ASAP so as to avoid a release with the broken binding. Please help to look at the patch. Thanks, Dongdong ÔÚ 2017/3/23 21:18, Dongdong Liu дµÀ: > The "hisilicon,pcie-almost-ecam", which goes against the usual DT > conventions, and is non-sensical in that it describes the IP based on > what it isn't. Fix the DT binding with "hisilicon,hip06-pcie-ecam" > and "hisilicon,hip07-pcie-ecam". > > Signed-off-by: Mark Rutland > Signed-off-by: Dongdong Liu > --- > Documentation/devicetree/bindings/pci/hisilicon-pcie.txt | 10 ++++++++-- > drivers/pci/dwc/pcie-hisi.c | 6 +++++- > 2 files changed, 13 insertions(+), 3 deletions(-) > > diff --git a/Documentation/devicetree/bindings/pci/hisilicon-pcie.txt b/Documentation/devicetree/bindings/pci/hisilicon-pcie.txt > index b7fa3b9..a339dbb 100644 > --- a/Documentation/devicetree/bindings/pci/hisilicon-pcie.txt > +++ b/Documentation/devicetree/bindings/pci/hisilicon-pcie.txt > @@ -44,13 +44,19 @@ Hip05 Example (note that Hip06 is the same except compatible): > }; > > HiSilicon Hip06/Hip07 PCIe host bridge DT (almost-ECAM) description. > + > +Some BIOSes place the host controller in a mode where it is ECAM > +compliant for all devices other than the root complex. In such cases, > +the host controller should be described as below. > + > The properties and their meanings are identical to those described in > host-generic-pci.txt except as listed below. > > Properties of the host controller node that differ from > host-generic-pci.txt: > > -- compatible : Must be "hisilicon,pcie-almost-ecam" > +- compatible : Must be "hisilicon,hip06-pcie-ecam", or > + "hisilicon,hip07-pcie-ecam" > > - reg : Two entries: First the ECAM configuration space for any > other bus underneath the root bus. Second, the base > @@ -59,7 +65,7 @@ host-generic-pci.txt: > > Example: > pcie0: pcie@a0090000 { > - compatible = "hisilicon,pcie-almost-ecam"; > + compatible = "hisilicon,hip06-pcie-ecam"; > reg = <0 0xb0000000 0 0x2000000>, /* ECAM configuration space */ > <0 0xa0090000 0 0x10000>; /* host bridge registers */ > bus-range = <0 31>; > diff --git a/drivers/pci/dwc/pcie-hisi.c b/drivers/pci/dwc/pcie-hisi.c > index fd66a31..cf9d6a9 100644 > --- a/drivers/pci/dwc/pcie-hisi.c > +++ b/drivers/pci/dwc/pcie-hisi.c > @@ -380,9 +380,13 @@ struct pci_ecam_ops hisi_pcie_platform_ops = { > > static const struct of_device_id hisi_pcie_almost_ecam_of_match[] = { > { > - .compatible = "hisilicon,pcie-almost-ecam", > + .compatible = "hisilicon,hip06-pcie-ecam", > .data = (void *) &hisi_pcie_platform_ops, > }, > + { > + .compatible = "hisilicon,hip07-pcie-ecam", > + .data = (void *) &hisi_pcie_platform_ops, > + }, > {}, > }; > >