mbox series

[v1,0/3] PCI: brcmstb: Clkreq# accomodations of downstream device

Message ID 20230406124625.41325-1-jim2101024@gmail.com (mailing list archive)
Headers show
Series PCI: brcmstb: Clkreq# accomodations of downstream device | expand

Message

Jim Quinlan April 6, 2023, 12:46 p.m. UTC
The current driver assumes the downstream devices can provide clkreq# for
ASPM.  These commits accomodate devices w/ or w/o clkreq# and also handle
L1SS-capable devices.

The Raspian Linux folks have already been using a PCIe RC property
"brcm,enable-l1ss".  These commits use the same property, in a
backward-compatible manner, and the implementaion adds more detail and also
automatically identifies devices w/o a clkreq# signal, i.e. most devices
plugged into an RPi CM4 IO board.

Jim Quinlan (3):
  dt-bindings: PCI: brcmstb: Add two optional props
  PCI: brcmstb: Clkreq# accomodations of downstream device
  PCI: brcmstb: Allow setting the completion timeout

 .../bindings/pci/brcm,stb-pcie.yaml           | 12 +++
 drivers/pci/controller/pcie-brcmstb.c         | 93 +++++++++++++++++--
 2 files changed, 95 insertions(+), 10 deletions(-)


base-commit: 99ddf2254febae9eab7fb0bcc02c5322243f5c49

Comments

Cyril Brulebois April 6, 2023, 9:31 p.m. UTC | #1
Hi Jim,

Jim Quinlan <jim2101024@gmail.com> (2023-04-06):
> The current driver assumes the downstream devices can provide clkreq# for
> ASPM.  These commits accomodate devices w/ or w/o clkreq# and also handle
> L1SS-capable devices.
> 
> The Raspian Linux folks have already been using a PCIe RC property
> "brcm,enable-l1ss".  These commits use the same property, in a
> backward-compatible manner, and the implementaion adds more detail and also
> automatically identifies devices w/o a clkreq# signal, i.e. most devices
> plugged into an RPi CM4 IO board.
> 
> Jim Quinlan (3):
>   dt-bindings: PCI: brcmstb: Add two optional props
>   PCI: brcmstb: Clkreq# accomodations of downstream device
>   PCI: brcmstb: Allow setting the completion timeout
> 
>  .../bindings/pci/brcm,stb-pcie.yaml           | 12 +++
>  drivers/pci/controller/pcie-brcmstb.c         | 93 +++++++++++++++++--
>  2 files changed, 95 insertions(+), 10 deletions(-)
> 
> 
> base-commit: 99ddf2254febae9eab7fb0bcc02c5322243f5c49

I've just verified with the exact same hardware as in Bugzilla#217276
that latest master (v6.3-rc5-137-gf2afccfefe7b) still gets a kernel
panic at boot, which goes away once those 3 patches are applied. Do you
need any extra information, log excerpt, or something like that?


Cheers,
Hank Barta April 7, 2023, 3:06 p.m. UTC | #2
Apologies to anyone who is seeing this for the second time. I forgot
to format as plain text on the first transmission.

Cyril Brulebois kindly provided me with Debian packages for the two
kernels he built and I tested them as well. I can confirm that the one
without the three patches still had the panic on power up and when a
PCIe device is present. Otherwise it booted without difficulty. The
kernel with three patches booted successfully on all tries both cold
and warm with a PCIe/NVME installed. I was also able to mount
partitions on the NVME driver and copy data off.

My hardware

CM4 with WiFi/BT, 8GG RAM and no eMMC.
(Official) I/O board
PCIe/NVME adapter card with Intel 670p SSD installed
32GB Samsung EVO Select SD card (boot device.)

Thanks to all who contributed to this fix.


On Thu, Apr 6, 2023 at 4:31 PM Cyril Brulebois <kibi@debian.org> wrote:
>
> Hi Jim,
>
> Jim Quinlan <jim2101024@gmail.com> (2023-04-06):
> > The current driver assumes the downstream devices can provide clkreq# for
> > ASPM.  These commits accomodate devices w/ or w/o clkreq# and also handle
> > L1SS-capable devices.
> >
> > The Raspian Linux folks have already been using a PCIe RC property
> > "brcm,enable-l1ss".  These commits use the same property, in a
> > backward-compatible manner, and the implementaion adds more detail and also
> > automatically identifies devices w/o a clkreq# signal, i.e. most devices
> > plugged into an RPi CM4 IO board.
> >
> > Jim Quinlan (3):
> >   dt-bindings: PCI: brcmstb: Add two optional props
> >   PCI: brcmstb: Clkreq# accomodations of downstream device
> >   PCI: brcmstb: Allow setting the completion timeout
> >
> >  .../bindings/pci/brcm,stb-pcie.yaml           | 12 +++
> >  drivers/pci/controller/pcie-brcmstb.c         | 93 +++++++++++++++++--
> >  2 files changed, 95 insertions(+), 10 deletions(-)
> >
> >
> > base-commit: 99ddf2254febae9eab7fb0bcc02c5322243f5c49
>
> I've just verified with the exact same hardware as in Bugzilla#217276
> that latest master (v6.3-rc5-137-gf2afccfefe7b) still gets a kernel
> panic at boot, which goes away once those 3 patches are applied. Do you
> need any extra information, log excerpt, or something like that?
>
>
> Cheers,
> --
> Cyril Brulebois (kibi@debian.org)            <https://debamax.com/>
> D-I release manager -- Release team member -- Freelance Consultant