From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gabriele Paoloni Subject: RE: [RFC PATCH v2 2/3] PCI: hisi: Make the HiSilicon PCIe host controller ECAM compliant Date: Mon, 8 Feb 2016 17:21:27 +0000 Message-ID: References: <1454935264-6076-1-git-send-email-gabriele.paoloni@huawei.com> <3532826.pJr5R5Xa4c@wuerfel> <2599997.xBRrI3qHak@wuerfel> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 8BIT Return-path: In-Reply-To: <2599997.xBRrI3qHak@wuerfel> Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org To: Arnd Bergmann Cc: "linux-arm-kernel@lists.infradead.org" , "Guohanjun (Hanjun Guo)" , "Wangzhou (B)" , "liudongdong (C)" , Linuxarm , qiujiang , "bhelgaas@google.com" , "Lorenzo.Pieralisi@arm.com" , "tn@semihalf.com" , "linux-pci@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "xuwei (O)" , "linux-acpi@vger.kernel.org" , "jcm@redhat.com" , zhangjukuo , "Liguozhu (Kenneth)" List-Id: linux-acpi@vger.kernel.org Hi Arnd > -----Original Message----- > From: Arnd Bergmann [mailto:arnd@arndb.de] > Sent: 08 February 2016 16:30 > To: Gabriele Paoloni > Cc: linux-arm-kernel@lists.infradead.org; Guohanjun (Hanjun Guo); > Wangzhou (B); liudongdong (C); Linuxarm; qiujiang; bhelgaas@google.com; > Lorenzo.Pieralisi@arm.com; tn@semihalf.com; linux-pci@vger.kernel.org; > linux-kernel@vger.kernel.org; xuwei (O); linux-acpi@vger.kernel.org; > jcm@redhat.com; zhangjukuo; Liguozhu (Kenneth) > 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? So far we haven't released the PCIe nodes dtsi upstream and we think we can handle the firmware upgrade for our current users either by pointing them to the updated Estuary branch or by internal channels > > > > 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@0xb0080000 { > > 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. Sorry, I misunderstood here, got it now :) > 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. As per reply above I think that it would be quite easy for us to let out current users update the BIOS so I don't think there is any value in maintaining two version of the drivers one of which will not be used. What do you think? Thanks Gab > > Arnd From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756240AbcBHRWq (ORCPT ); Mon, 8 Feb 2016 12:22:46 -0500 Received: from lhrrgout.huawei.com ([194.213.3.17]:10927 "EHLO lhrrgout.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753476AbcBHRWm convert rfc822-to-8bit (ORCPT ); Mon, 8 Feb 2016 12:22:42 -0500 From: Gabriele Paoloni To: Arnd Bergmann CC: "linux-arm-kernel@lists.infradead.org" , "Guohanjun (Hanjun Guo)" , "Wangzhou (B)" , "liudongdong (C)" , Linuxarm , qiujiang , "bhelgaas@google.com" , "Lorenzo.Pieralisi@arm.com" , "tn@semihalf.com" , "linux-pci@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "xuwei (O)" , "linux-acpi@vger.kernel.org" , "jcm@redhat.com" , zhangjukuo , "Liguozhu (Kenneth)" Subject: RE: [RFC PATCH v2 2/3] PCI: hisi: Make the HiSilicon PCIe host controller ECAM compliant Thread-Topic: [RFC PATCH v2 2/3] PCI: hisi: Make the HiSilicon PCIe host controller ECAM compliant Thread-Index: AQHRYm40nte+rVZ6C0Oa+U3K6CZh2J8iKd4AgAAgzXCAAAxJAIAADfcw Date: Mon, 8 Feb 2016 17:21:27 +0000 Message-ID: References: <1454935264-6076-1-git-send-email-gabriele.paoloni@huawei.com> <3532826.pJr5R5Xa4c@wuerfel> <2599997.xBRrI3qHak@wuerfel> In-Reply-To: <2599997.xBRrI3qHak@wuerfel> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.203.181.156] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 X-CFilter-Loop: Reflected X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A020203.56B8CEDE.02C5,ss=1,re=0.000,recu=0.000,reip=0.000,cl=1,cld=1,fgs=0, ip=0.0.0.0, so=2013-06-18 04:22:30, dmn=2013-03-21 17:37:32 X-Mirapoint-Loop-Id: 024bedb167fdc08bb3b2745e42850deb Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Arnd > -----Original Message----- > From: Arnd Bergmann [mailto:arnd@arndb.de] > Sent: 08 February 2016 16:30 > To: Gabriele Paoloni > Cc: linux-arm-kernel@lists.infradead.org; Guohanjun (Hanjun Guo); > Wangzhou (B); liudongdong (C); Linuxarm; qiujiang; bhelgaas@google.com; > Lorenzo.Pieralisi@arm.com; tn@semihalf.com; linux-pci@vger.kernel.org; > linux-kernel@vger.kernel.org; xuwei (O); linux-acpi@vger.kernel.org; > jcm@redhat.com; zhangjukuo; Liguozhu (Kenneth) > 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? So far we haven't released the PCIe nodes dtsi upstream and we think we can handle the firmware upgrade for our current users either by pointing them to the updated Estuary branch or by internal channels > > > > 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@0xb0080000 { > > 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. Sorry, I misunderstood here, got it now :) > 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. As per reply above I think that it would be quite easy for us to let out current users update the BIOS so I don't think there is any value in maintaining two version of the drivers one of which will not be used. What do you think? Thanks Gab > > Arnd From mboxrd@z Thu Jan 1 00:00:00 1970 From: gabriele.paoloni@huawei.com (Gabriele Paoloni) Date: Mon, 8 Feb 2016 17:21:27 +0000 Subject: [RFC PATCH v2 2/3] PCI: hisi: Make the HiSilicon PCIe host controller ECAM compliant In-Reply-To: <2599997.xBRrI3qHak@wuerfel> References: <1454935264-6076-1-git-send-email-gabriele.paoloni@huawei.com> <3532826.pJr5R5Xa4c@wuerfel> <2599997.xBRrI3qHak@wuerfel> Message-ID: To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hi Arnd > -----Original Message----- > From: Arnd Bergmann [mailto:arnd at arndb.de] > Sent: 08 February 2016 16:30 > To: Gabriele Paoloni > Cc: linux-arm-kernel at lists.infradead.org; Guohanjun (Hanjun Guo); > Wangzhou (B); liudongdong (C); Linuxarm; qiujiang; bhelgaas at google.com; > Lorenzo.Pieralisi at arm.com; tn at semihalf.com; linux-pci at vger.kernel.org; > linux-kernel at vger.kernel.org; xuwei (O); linux-acpi at vger.kernel.org; > jcm at redhat.com; zhangjukuo; Liguozhu (Kenneth) > 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? So far we haven't released the PCIe nodes dtsi upstream and we think we can handle the firmware upgrade for our current users either by pointing them to the updated Estuary branch or by internal channels > > > > 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 at 0xb0080000 { > > 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. Sorry, I misunderstood here, got it now :) > 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. As per reply above I think that it would be quite easy for us to let out current users update the BIOS so I don't think there is any value in maintaining two version of the drivers one of which will not be used. What do you think? Thanks Gab > > Arnd