[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2599997.xBRrI3qHak@wuerfel>
Date: Mon, 08 Feb 2016 17:29:40 +0100
From: Arnd Bergmann <arnd@...db.de>
To: Gabriele Paoloni <gabriele.paoloni@...wei.com>
Cc: "linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"Guohanjun (Hanjun Guo)" <guohanjun@...wei.com>,
"Wangzhou (B)" <wangzhou1@...ilicon.com>,
"liudongdong (C)" <liudongdong3@...wei.com>,
Linuxarm <linuxarm@...wei.com>, qiujiang <qiujiang@...wei.com>,
"bhelgaas@...gle.com" <bhelgaas@...gle.com>,
"Lorenzo.Pieralisi@....com" <Lorenzo.Pieralisi@....com>,
"tn@...ihalf.com" <tn@...ihalf.com>,
"linux-pci@...r.kernel.org" <linux-pci@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"xuwei (O)" <xuwei5@...ilicon.com>,
"linux-acpi@...r.kernel.org" <linux-acpi@...r.kernel.org>,
"jcm@...hat.com" <jcm@...hat.com>,
zhangjukuo <zhangjukuo@...wei.com>,
"Liguozhu (Kenneth)" <liguozhu@...ilicon.com>
Subject: Re: [RFC PATCH v2 2/3] PCI: hisi: Make the HiSilicon PCIe host controller ECAM compliant
On Monday 08 February 2016 15:55:35 Gabriele Paoloni wrote:
> > Doesn't this break backwards compatibility?
>
> Well Hip05/Hip06 SoCs are used into evaluation boards
> For the Estuary project.
>
> https://github.com/hisilicon/estuary
>
> As this new driver gets upstream we'll merge this new driver into estuary
> and release a new version of the firmware to support it.
So what happens to folks running the old firmware then?
> > I think you need to use a new compatible string in the firmware
> > if you change the register layout, and then change the driver
> > to support both the old and the new layout.
>
> You are right, for some reason in this patchset I missed the Documentation
> update that I posted in the previous one, i.e.:
>
> --- a/Documentation/devicetree/bindings/pci/hisilicon-pcie.txt
> +++ b/Documentation/devicetree/bindings/pci/hisilicon-pcie.txt
> @@ -23,8 +23,8 @@ Optional properties:
> Hip05 Example (note that Hip06 is the same except compatible):
> pcie@...0080000 {
> compatible = "hisilicon,hip05-pcie", "snps,dw-pcie";
> - reg = <0 0xb0080000 0 0x10000>, <0x220 0x00000000 0 0x2000>;
> - reg-names = "rc_dbi", "config";
> + reg = <0 0xb0080000 0 0x10000>, <0x220 0x00100000 0 0x0f00000>;
> + reg-names = "rc_dbi", "ecam-cfg";
>
That is not the compatible string, it's an undocumented register set.
You can either define the a new compatible string that gives the "config"
registers a new meaning, or you change the binding to allow two either
a "config" or an "ecam-cfg" register set, and let the driver handle both.
Arnd
Powered by blists - more mailing lists