Thread (16 messages) 16 messages, 2 authors, 2016-02-09

Re: [RFC PATCH v2 2/3] PCI: hisi: Make the HiSilicon PCIe host controller ECAM compliant

From: Arnd Bergmann <arnd@arndb.de>
Date: 2016-02-08 16:32:39
Also in: linux-arm-kernel, linux-pci, lkml

On Monday 08 February 2016 15:55:35 Gabriele Paoloni wrote:
quoted
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?
quoted hunk ↗ jump to hunk
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help