linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH 0/3] provide workaround for Rockchip PCIe bus scan crash with optional delay
@ 2020-12-31 12:52 Jari Hämäläinen
  2020-12-31 12:52 ` [RFC PATCH 1/3] PCI: rockchip: provide workaround for " Jari Hämäläinen
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Jari Hämäläinen @ 2020-12-31 12:52 UTC (permalink / raw)
  To: Shawn Lin, Heiko Stuebner
  Cc: Jari Hämäläinen, linux-pci, linux-rockchip,
	Lorenzo Pieralisi, Rob Herring, Bjorn Helgaas

Hello all,

This RFC patch provides a workaround for Rockchip PCIe controller crashes
with some devices when PCIe bus is scanned. Both command line parameter and
device tree property are included as ways to set the delay. I'm sending
this as RFC because I don't know which approach, command line and/or device
tree, would be the best considering this is a workaround, not a proper fix.

I feel that at least command line parameter should be provided as it's easy
to edit by end user. Device tree property could be seen as a way for disto
maintainer to provide sane or safe default with kernel but it also extends
the change to touch more files which makes it harder to clean up if a
proper fix to this is found.

Also, I've set delay to 1100 ms for RockPro64 in patch 3 as an example of
safe default. If new device tree property support is accepted maybe the
actual device tree should be left unmodified or delay set to 0 ms so that
users not needing the delay are not affected in any way.

Patch 1 adds the workaround code. Kernel parameter documentation is also
included. Devices used in testing and a log excerpt are included in
changelog.

In addition to devices needing the delay, tested and listed in patch 1
following devices that do not need the delay were tested with no delay and
1000 ms delay and no regression was observed:
- Marvell 88SE9215 and 88SE9230 based SATA controllers
- Samsung 970 EVO Plus NVMe drive

Patches 2 and 3 add dt-bindings and the new property to RockPro64 device as
an example.

All comments about the workaround itself if it's applicable and about both
command line + device tree or only command line approaches are welcome.

Best regards,
Jari Hämäläinen

Jari Hämäläinen (3):
  PCI: rockchip: provide workaround for bus scan crash with optional
    delay
  dt-bindings: PCI: rockchip: document bus-scan-delay-ms workaround
    property
  arm64: dts: rockchip: use bus-scan-delay-ms workaround with RockPro64
    PCIe

 .../admin-guide/kernel-parameters.txt          |  8 ++++++++
 .../bindings/pci/rockchip-pcie-host.txt        |  3 +++
 .../boot/dts/rockchip/rk3399-rockpro64.dtsi    |  1 +
 drivers/pci/controller/pcie-rockchip-host.c    | 18 ++++++++++++++++++
 drivers/pci/controller/pcie-rockchip.c         |  5 +++++
 drivers/pci/controller/pcie-rockchip.h         |  2 ++
 6 files changed, 37 insertions(+)


base-commit: 5c8fe583cce542aa0b84adc939ce85293de36e5e
-- 
2.29.2


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2021-01-25 18:09 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-31 12:52 [RFC PATCH 0/3] provide workaround for Rockchip PCIe bus scan crash with optional delay Jari Hämäläinen
2020-12-31 12:52 ` [RFC PATCH 1/3] PCI: rockchip: provide workaround for " Jari Hämäläinen
2021-01-01 17:37   ` Bjorn Helgaas
2021-01-02 13:43     ` Jari Hämäläinen
2021-01-24  6:39       ` Jari Hämäläinen
2021-01-25 18:08         ` Robin Murphy
2020-12-31 12:52 ` [RFC PATCH 2/3] dt-bindings: PCI: rockchip: document bus-scan-delay-ms workaround property Jari Hämäläinen
2020-12-31 12:52 ` [RFC PATCH 3/3] arm64: dts: rockchip: use bus-scan-delay-ms workaround with RockPro64 PCIe Jari Hämäläinen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).