Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[RPi5] [rpi-6.12.y]: nvme no worky #6484

Closed
ElDavoo opened this issue Nov 21, 2024 · 5 comments
Closed

[RPi5] [rpi-6.12.y]: nvme no worky #6484

ElDavoo opened this issue Nov 21, 2024 · 5 comments

Comments

@ElDavoo
Copy link

ElDavoo commented Nov 21, 2024

Describe the bug

On 6.12 kernels, my nvme SSD does not get detected (while the PCIe bridge does), and the status LED of the shield does not turn on.
It does work fine with 6.6.y and 6.11.y.

Steps to reproduce the behaviour

Compiling the 6.12.y (currently at ab9bb48 ) with bcm2712_defconfig.

Device (s)

Raspberry Pi 5

System

Raspberry Pi reference 2024-11-13
Generated using pi-gen, https://github.com/RPi-Distro/pi-gen, 919f1e86b959321edaa8266ee271e5d0870f5298, stage2
2024/11/12 16:10:44 
Copyright (c) 2012 Broadcom
version 4b019946 (release) (embedded)

Linux pi5 6.11.9-v8-16k+ #3 SMP PREEMPT Thu Nov 21 13:14:34 GMT 2024 aarch64 GNU/Linux
Linux pi5 6.12.0-v8-16k+ #4 SMP PREEMPT Thu Nov 21 17:37:01 GMT 2024 aarch64 GNU/Linux

Logs

6.11

kmsg11.txt

6.12

kmsg12.txt

Additional context

Context

  1. Shield model: Geekworm X1001
  2. SSD model: Ediloca EN600 Pro

config.txt contains dtparam=pciex1_gen=3

6.11

lspci

0000:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries BCM2712 PCIe Bridge (rev 21)
0000:01:00.0 Non-Volatile memory controller: MAXIO Technology (Hangzhou) Ltd. NVMe SSD Controller MAP1202 (rev 01)
0001:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries BCM2712 PCIe Bridge (rev 21)
0001:01:00.0 Ethernet controller: Raspberry Pi Ltd RP1 PCIe 2.0 South Bridge

lspci -v

0000:01:00.0 Non-Volatile memory controller: MAXIO Technology (Hangzhou) Ltd. NVMe SSD Controller MAP1202 (rev 01) (prog-if 02 [NVM Express])
	Subsystem: MAXIO Technology (Hangzhou) Ltd. NVMe SSD Controller MAP1202 (DRAM-less)
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 36
	Region 0: Memory at 1b00000000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: <access denied>
	Kernel driver in use: nvme

6.12

lspci

0000:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries BCM2712 PCIe Bridge (rev 21)
0001:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries BCM2712 PCIe Bridge (rev 21)
0001:01:00.0 Ethernet controller: Raspberry Pi Ltd RP1 PCIe 2.0 South Bridge

I will update this issue if I can get more information on the problem. I will try to take a look at the pcie drivers to see if they have been rebased on 6.12 incorrectly.

@ElDavoo
Copy link
Author

ElDavoo commented Nov 21, 2024

Replacing drivers/pci/controller/pcie-brcmstb.c with the 6.11 version works!
I will now try to understand which code chunk is causing the issue.

@ElDavoo
Copy link
Author

ElDavoo commented Nov 21, 2024

I found it out, you forgot / removed the code setting the PCIe generation. Patch below
force_gen_fix.txt

@popcornmix
Copy link
Collaborator

There is that call in brcm_pcie_start_link (which is where it is done upstream).
Are you saying it isn't working in that place?

@ElDavoo
Copy link
Author

ElDavoo commented Nov 22, 2024

Are you saying it isn't working in that place?

looks like.

@ElDavoo
Copy link
Author

ElDavoo commented Nov 25, 2024

Fixed by #6487

@ElDavoo ElDavoo closed this as completed Nov 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants