[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87pn7qnabq.wl-maz@kernel.org>
Date: Sun, 16 Aug 2020 11:39:53 +0100
From: Marc Zyngier <maz@...nel.org>
To: Bjorn Helgaas <helgaas@...nel.org>
Cc: linux-pci@...r.kernel.org, linux-rockchip@...ts.infradead.org,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
Rob Herring <robh@...nel.org>,
Lorenzo Pieralisi <lorenzo.pieralisi@....com>,
Heiko Stuebner <heiko@...ech.de>,
Shawn Lin <shawn.lin@...k-chips.com>,
Roh Herring <robh+dt@...nel.org>,
Bjorn Helgaas <bhelgaas@...gle.com>, kernel-team@...roid.com
Subject: Re: [PATCH 1/2] PCI: rockchip: Work around missing device_type property in DT
On Sun, 16 Aug 2020 00:22:28 +0100,
Bjorn Helgaas <helgaas@...nel.org> wrote:
>
> On Sat, Aug 15, 2020 at 01:51:11PM +0100, Marc Zyngier wrote:
> > Recent changes to the DT PCI bus parsing made it mandatory for
> > device tree nodes describing a PCI controller to have the
> > 'device_type = "pci"' property for the node to be matched.
> >
> > Although this follows the letter of the specification, it
> > breaks existing device-trees that have been working fine
> > for years. Rockchip rk3399-based systems are a prime example
> > of such collateral damage, and have stopped discovering their
> > PCI bus.
> >
> > In order to paper over the blunder, let's add a workaround
> > to the pcie-rockchip driver, adding the missing property when
> > none is found at boot time. A warning will hopefully nudge the
> > user into updating their DT to a fixed version if they can, but
> > the insentive is obviously pretty small.
>
> s/insentive/incentive/ (Lorenzo or I can fix this up)
>
> > Fixes: 2f96593ecc37 ("of_address: Add bus type match for pci ranges parser")
> > Suggested-by: Roh Herring <robh+dt@...nel.org>
>
> s/Roh/Rob/ (similarly)
Clearly not my day when it comes to proofreading commit messages.
Thanks for pointing this out, and in advance for fixing it up.
>
> > Signed-off-by: Marc Zyngier <maz@...nel.org>
>
> This looks like a candidate for v5.9, since 2f96593ecc37 was merged
> during the v5.9 merge window, right?
Absolutely.
> I wonder how many other DTs are similarly broken? Maybe Rob's DT
> checker has already looked?
I've just managed to run the checker, which comes up with all kinds of
goodies. Apart from the above, it also spots the following:
- arch/arm64/boot/dts/mediatek/mt7622.dtsi: Has a device_type property
in its main PCIe node, but not in the child nodes. It isn't obvious
to me whether that's a violation or not (the spec doesn't say
whether the property should be set on a per-port basis). Rob?
- arch/arm64/boot/dts/qcom/msm8996.dtsi: Only one out of the three
PCIe nodes has the device_type property, probably broken similarly
to rk3399.
I could move the workaround to drivers/pci/of.c, and have it called
from the individual drivers. I don't have the HW to test those though.
Thoughts?
M.
--
Without deviation from the norm, progress is not possible.
Powered by blists - more mailing lists