From mboxrd@z Thu Jan 1 00:00:00 1970 From: Arnd Bergmann Subject: Re: [RFC PATCH v2 2/3] PCI: hisi: Make the HiSilicon PCIe host controller ECAM compliant Date: Mon, 08 Feb 2016 17:29:40 +0100 Message-ID: <2599997.xBRrI3qHak@wuerfel> References: <1454935264-6076-1-git-send-email-gabriele.paoloni@huawei.com> <3532826.pJr5R5Xa4c@wuerfel> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: Gabriele Paoloni Cc: "Lorenzo.Pieralisi@arm.com" , "jcm@redhat.com" , "tn@semihalf.com" , "linux-pci@vger.kernel.org" , Linuxarm , "xuwei (O)" , "linux-kernel@vger.kernel.org" , "linux-acpi@vger.kernel.org" , "Wangzhou (B)" , "liudongdong (C)" , "Guohanjun (Hanjun Guo)" , "bhelgaas@google.com" , zhangjukuo , "Liguozhu (Kenneth)" , qiujiang , "linux-arm-kernel@lists.infradead.org" List-Id: linux-acpi@vger.kernel.org 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@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. 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 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932234AbcBHQcj (ORCPT ); Mon, 8 Feb 2016 11:32:39 -0500 Received: from mout.kundenserver.de ([212.227.17.10]:54214 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932106AbcBHQcf (ORCPT ); Mon, 8 Feb 2016 11:32:35 -0500 From: Arnd Bergmann 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 Date: Mon, 08 Feb 2016 17:29:40 +0100 Message-ID: <2599997.xBRrI3qHak@wuerfel> User-Agent: KMail/4.11.5 (Linux/3.16.0-10-generic; KDE/4.11.5; x86_64; ; ) In-Reply-To: References: <1454935264-6076-1-git-send-email-gabriele.paoloni@huawei.com> <3532826.pJr5R5Xa4c@wuerfel> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V03:K0:6CumX/sAqfWGEuXEYPKiSo0LEdAXrgZnQSE5lgvNBAheQwlH8QU 5BpHxSfQq27krbDJzzUwLn7f7KJEbge3QSm4u+6D8K7e/zow3Q+hc+ehwUptd/SCWyuUTNE LG493ndnYs6qOxw2jKCgYyAFd326xgDo3ebhDP7oBWtIBt/+DcXWxPNagR2pu3kfjoWWTBg 9p2fwuWMLBqz4a7DCuogw== X-UI-Out-Filterresults: notjunk:1;V01:K0:dKeW071t+y4=:BOfQJeuLi8mzMeP82Rr+0P L9FcoYrrOnSHRsrjx0EeYEpSGY2PqXMf8Idzjf2AoewU4uKWeH4DES/8Ho+vjWoRAzy2Awhjr a+KEyA/WNfXzDnhiawHgB6ZeRJdr6SpoOMzFLRwJBvSHcQB9qPxgcHSca3/E+NJItklj+CHxm klEDmc0EMD9ZoYDcGWPb/rf1fMWZNTmCg9IhLPCo4qsod/B19QNIq6vDd3UZcp7bOEUSI7Znt OQh2IAmmTY6jZZz0j/ZUIgs/bpgFODrKbsuWLbwsPyoySS9P4X+7ypqaAsYYfnzMRnOaeX+t0 6ygPKmbaTGOgdEiOOjiHUQpEO2OP2aCvCs97eb9Uv1wCXe8lfX9YNm6uLVC857QfKSjFj2BEM fe9rBtdAc2mfqOmGgu44kbehzf3vMnK47yTA5MzKnW8Ox0D8gshsrqAfYHq0Idev/5GV0Hr0l TUieB3yFfvPJyvhaQlEg9EsfeZdKOZI81SDyUk2qXCnVq3UkH+1ewHoAdyoXIta+jGElMfkNj qgMSDN6CVP0W8TYL2pnPe5BLhm9RH4DRJPH9tviFP9idPdin0/QHrJi8zaVx0oz8yJmRADw6j IzgrvU6totiqnXAfDzen3wMAKO7SVqnydrIGgRgi2KLrCqCxXYfSaMe/DJnRF3210sI3RKsyu 3tr1S2JJxLEjtKbSpgMeght4SZboFa3qH7r1oEHAYTYr2gyUztB2wtODURLa9FifljXv+OukS YOmJhCeh1wTgG0yw Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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@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. 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 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Arnd Bergmann 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 Date: Mon, 08 Feb 2016 17:29:40 +0100 Message-ID: <2599997.xBRrI3qHak@wuerfel> In-Reply-To: References: <1454935264-6076-1-git-send-email-gabriele.paoloni@huawei.com> <3532826.pJr5R5Xa4c@wuerfel> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Sender: linux-acpi-owner@vger.kernel.org List-ID: 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@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. 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 From mboxrd@z Thu Jan 1 00:00:00 1970 From: arnd@arndb.de (Arnd Bergmann) Date: Mon, 08 Feb 2016 17:29:40 +0100 Subject: [RFC PATCH v2 2/3] PCI: hisi: Make the HiSilicon PCIe host controller ECAM compliant In-Reply-To: References: <1454935264-6076-1-git-send-email-gabriele.paoloni@huawei.com> <3532826.pJr5R5Xa4c@wuerfel> Message-ID: <2599997.xBRrI3qHak@wuerfel> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org 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 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. 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