On Sun, Sep 6, 2020 at 8:52 PM Marc MERLIN <marc_nouveau@xxxxxxxxxxx> wrote: > > Ok, I have an update to this problem. I added the nouveau list because > I can't quite tell if the issue is: > - the PCIe changes that went in 5.6 I think (or 5.5?), referenced below > > - a new issue with thunderbold on thinkpad P73, that seems to be > triggered if I have a USB-C yubikey in the port. With 5.7, my issues > went away if I removed the USB key during boot, showing an interaction > between nouveau and thunderbolt > > - changes in the nouveau driver. Mika told me the PCIe regression > "pcieport 0000:00:01.0: PME: Spurious native interrupt!" is supposed > to be fixed in 5.8, but I still get a 4mn hang or so during boot and > with 5.8, removing the USB key, didn't help make the boot faster > that's the root port the GPU is attached to, no? I saw that message on the Thinkpad P1G2 when runtime resuming the Nvidia GPU, but it does seem to come from the root port. > I don't otherwise use the nvidia chip I so wish I didn't have, I only > use intel graphics on that laptop, but I must apparently use the nouveau > driver to manage the nouveau chip so that it's turned off and not > burning 60W doing nothing. > Well, you'd also need it when attaching external displays. > lspci is in the quoted message below, I won't copy it here again, but > here's the nvidia bit: > 01:00.0 VGA compatible controller: NVIDIA Corporation TU104GLM [Quadro RTX 4000 Mobile / Max-Q] (rev a1) > 01:00.1 Audio device: NVIDIA Corporation TU104 HD Audio Controller (rev a1) > 01:00.2 USB controller: NVIDIA Corporation TU104 USB 3.1 Host Controller (rev a1) > 01:00.3 Serial bus controller [0c80]: NVIDIA Corporation TU104 USB Type-C UCSI Controller (rev a1) > > Here are 5 boots, 4 on 5.8.5: > > dmesg.1_hang_but_no_warning.txt https://pastebin.com/Y5NaH08n > Boot hung for quite a while, but no clear output > > dmesg.2_pme_spurious.txt https://pastebin.com/dX19aCpj > [ 8.185808] nvidia-gpu 0000:01:00.3: runtime IRQ mapping not provided by arch > [ 8.185989] nvidia-gpu 0000:01:00.3: enabling device (0000 -> 0002) > [ 8.188986] nvidia-gpu 0000:01:00.3: enabling bus mastering > [ 11.936507] nvidia-gpu 0000:01:00.3: PME# enabled > [ 11.975985] nvidia-gpu 0000:01:00.3: PME# disabled > [ 11.976011] pcieport 0000:00:01.0: PME: Spurious native interrupt! > > dmesg.3_usb_key_yanked.txt https://pastebin.com/m7QLnCZt > I yanked the USB key during boot, that seemed to help unlock things with > 5.7, but did not with 5.8. It's hung on a loop of: > [ 11.262854] nvidia-gpu 0000:01:00.3: saving config space at offset 0x0 (reading 0x1ad910de) > [ 11.262863] nvidia-gpu 0000:01:00.3: saving config space at offset 0x4 (reading 0x100406) > [ 11.262869] nvidia-gpu 0000:01:00.3: saving config space at offset 0x8 (reading 0xc8000a1) > [ 11.262874] nvidia-gpu 0000:01:00.3: saving config space at offset 0xc (reading 0x800000) > [ 11.262880] nvidia-gpu 0000:01:00.3: saving config space at offset 0x10 (reading 0xce054000) > [ 11.262885] nvidia-gpu 0000:01:00.3: saving config space at offset 0x14 (reading 0x0) > [ 11.262890] nvidia-gpu 0000:01:00.3: saving config space at offset 0x18 (reading 0x0) > [ 11.262895] nvidia-gpu 0000:01:00.3: saving config space at offset 0x1c (reading 0x0) > [ 11.262900] nvidia-gpu 0000:01:00.3: saving config space at offset 0x20 (reading 0x0) > [ 11.262906] nvidia-gpu 0000:01:00.3: saving config space at offset 0x24 (reading 0x0) > [ 11.262911] nvidia-gpu 0000:01:00.3: saving config space at offset 0x28 (reading 0x0) > [ 11.262916] nvidia-gpu 0000:01:00.3: saving config space at offset 0x2c (reading 0x229b17aa) > [ 11.262921] nvidia-gpu 0000:01:00.3: saving config space at offset 0x30 (reading 0x0) > [ 11.262926] nvidia-gpu 0000:01:00.3: saving config space at offset 0x34 (reading 0x68) > [ 11.262931] nvidia-gpu 0000:01:00.3: saving config space at offset 0x38 (reading 0x0) > [ 11.262937] nvidia-gpu 0000:01:00.3: saving config space at offset 0x3c (reading 0x4ff) > [ 11.262985] nvidia-gpu 0000:01:00.3: PME# enabled > [ 11.303060] nvidia-gpu 0000:01:00.3: PME# disabled > mhh, interesting. I heard some random comments that the Nvidia USB-C/UCSI driver is a bit broken and can cause various issues. Mind blacklisting i2c-nvidia-gpu and typec_nvidia (and verify they don't get loaded) and see if that helps? > dmesg.4_5.5_boot_fine.txt https://pastebin.com/WXgQTUYP > reference boot with 4.5, it works fine, no issues > > dmesg.5_no_key_still_hang.txt https://pastebin.com/kcT8Ras0 > unfortunately, booting without the USB-C key in thunderbolt, did not > allow this boot to be faster, it looks different though: > [ 6.723454] pcieport 0000:00:01.0: runtime IRQ mapping not provided by arch > [ 6.723598] pcieport 0000:00:01.0: PME: Signaling with IRQ 122 > [ 6.724011] pcieport 0000:00:01.0: saving config space at offset 0x0 (reading 0x19018086) > [ 6.724016] pcieport 0000:00:01.0: saving config space at offset 0x4 (reading 0x100407) > [ 6.724021] pcieport 0000:00:01.0: saving config space at offset 0x8 (reading 0x604000d) > [ 6.724025] pcieport 0000:00:01.0: saving config space at offset 0xc (reading 0x810000) > [ 6.724029] pcieport 0000:00:01.0: saving config space at offset 0x10 (reading 0x0) > [ 6.724033] pcieport 0000:00:01.0: saving config space at offset 0x14 (reading 0x0) > [ 6.724037] pcieport 0000:00:01.0: saving config space at offset 0x18 (reading 0x10100) > [ 6.724041] pcieport 0000:00:01.0: saving config space at offset 0x1c (reading 0x20002020) > [ 6.724046] pcieport 0000:00:01.0: saving config space at offset 0x20 (reading 0xce00cd00) > [ 6.724050] pcieport 0000:00:01.0: saving config space at offset 0x24 (reading 0xb1f1a001) > [ 6.724054] pcieport 0000:00:01.0: saving config space at offset 0x28 (reading 0x0) > [ 6.724058] pcieport 0000:00:01.0: saving config space at offset 0x2c (reading 0x0) > [ 6.724062] pcieport 0000:00:01.0: saving config space at offset 0x30 (reading 0x0) > [ 6.724066] pcieport 0000:00:01.0: saving config space at offset 0x34 (reading 0x88) > [ 6.724070] pcieport 0000:00:01.0: saving config space at offset 0x38 (reading 0x0) > [ 6.724074] pcieport 0000:00:01.0: saving config space at offset 0x3c (reading 0x201ff) > [ 6.724129] pcieport 0000:00:1b.0: runtime IRQ mapping not provided by arch > [ 6.724650] pcieport 0000:00:1b.0: PME: Signaling with IRQ 123 > [ 6.725021] pcieport 0000:00:1b.0: saving config space at offset 0x0 (reading 0xa3408086) > [ 6.725026] pcieport 0000:00:1b.0: saving config space at offset 0x4 (reading 0x100407) > [ 6.725031] pcieport 0000:00:1b.0: saving config space at offset 0x8 (reading 0x60400f0) > [ 6.725035] pcieport 0000:00:1b.0: saving config space at offset 0xc (reading 0x810000) > [ 6.725040] pcieport 0000:00:1b.0: saving config space at offset 0x10 (reading 0x0) > [ 6.725044] pcieport 0000:00:1b.0: saving config space at offset 0x14 (reading 0x0) > [ 6.725049] pcieport 0000:00:1b.0: saving config space at offset 0x18 (reading 0x20200) > [ 6.725053] pcieport 0000:00:1b.0: saving config space at offset 0x1c (reading 0x200000f0) > [ 6.725058] pcieport 0000:00:1b.0: saving config space at offset 0x20 (reading 0xce30ce30) > [ 6.725062] pcieport 0000:00:1b.0: saving config space at offset 0x24 (reading 0x1fff1) > [ 6.725067] pcieport 0000:00:1b.0: saving config space at offset 0x28 (reading 0x0) > [ 6.725071] pcieport 0000:00:1b.0: saving config space at offset 0x2c (reading 0x0) > [ 6.725075] pcieport 0000:00:1b.0: saving config space at offset 0x30 (reading 0x0) > [ 6.725080] pcieport 0000:00:1b.0: saving config space at offset 0x34 (reading 0x40) > [ 6.725084] pcieport 0000:00:1b.0: saving config space at offset 0x38 (reading 0x0) > [ 6.725089] pcieport 0000:00:1b.0: saving config space at offset 0x3c (reading 0x201ff) > [ 6.725154] pcieport 0000:00:1c.0: runtime IRQ mapping not provided by arch > [ 6.725284] pcieport 0000:00:1c.0: PME: Signaling with IRQ 124 > [ 6.725580] pcieport 0000:00:1c.0: pciehp: Slot #0 AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug+ Surprise+ Interlock- NoCompl+ IbPresDis- LLActRep+ > [ 6.726086] pci_bus 0000:04: dev 00, created physical slot 0 > > Any idea what's going on? > > Thanks, > Marc > > On Sat, Aug 08, 2020 at 01:22:02PM -0700, Marc MERLIN wrote: > > On Fri, Oct 04, 2019 at 03:39:46PM +0300, Mika Westerberg wrote: > > > This is otherwise similar to pcie_wait_for_link() but allows passing > > > custom activation delay in milliseconds. > > > > > > Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> > > > --- > > > drivers/pci/pci.c | 21 ++++++++++++++++++--- > > > 1 file changed, 18 insertions(+), 3 deletions(-) > > > > > > diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c > > > index e7982af9a5d8..bfd92e018925 100644 > > > > Hi Mika, > > > > So, I have a thinkpad P73 with thunderbolt, and while I don't boot > > often, my last boots have been unreliable at best (was only able to boot > > 5.7 once, and 5.8 did not succeed either). > > > > 5.6 was working for a while, but couldn't boot it either this morning, > > so I had to go back to 5.5. This does not mean 5.5 does not have the > > problem, just that it booted this morning, while 5.6 didn't when I > > tried. > > Once the kernel is booted, the problem does not seem to occur much, or > > at all. > > > > Basically, I'm getting the same thing than this person with a P53 (which > > is a mostly identical lenovo thinkpad, to mine) > > kernel: pcieport 0000:00:01.0: PME: Spurious native interrupt! > > kernel: pcieport 0000:00:01.0: PME: Spurious native interrupt! > > kernel: pcieport 0000:00:01.0: PME: Spurious native interrupt! > > kernel: pcieport 0000:00:01.0: PME: Spurious native interrupt! > > kernel: pcieport 0000:00:01.0: PME: Spurious native interrupt! > > https://bbs.archlinux.org/viewtopic.php?id=250658 > > > > The kernel boots eventually, but it takes minutes, and everything is so > > super slow, that I just can't reasonably use the machine. > > > > This shows similar issues with 5.3, 5.4. > > https://forum.proxmox.com/threads/pme-spurious-native-interrupt-kernel-meldungen.62850/ > > > > Another report here with 5.6: > > https://bugzilla.redhat.com/show_bug.cgi?id=1831899 > > > > My current kernel is running your patch above, and I haven't done a lot > > of research yet to confirm whether going back to a kernel before it was > > merged, fixes the problem. Unfortunately the problem is not consistent, > > so it makes things harder to test/debug, especially on my main laptop > > that I do all my work on :) > > > > I noticed this older patch of yours: > > http://patchwork.ozlabs.org/project/linux-pci/patch/0113014581dbe2d1f938813f1783905bd81b79db.1560079442.git.lukas@xxxxxxxxx/ > > This patch is not in my kernel, is it worth adding? > > > > Can I get you more info to help debug this? > > > > If that helps: > > sauron:/usr/src/linux-5.7.11-amd64-preempt-sysrq-20190816/drivers/pci# lspci > > 00:00.0 Host bridge: Intel Corporation Device 3e20 (rev 0d) > > 00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x16) (rev 0d) > > 00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 630 (Mobile) (rev 02) > > 00:04.0 Signal processing controller: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem (rev 0d) > > 00:08.0 System peripheral: Intel Corporation Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th/8th Gen Core Processor Gaussian Mixture Model > > 00:12.0 Signal processing controller: Intel Corporation Cannon Lake PCH Thermal Controller (rev 10) > > 00:14.0 USB controller: Intel Corporation Cannon Lake PCH USB 3.1 xHCI Host Controller (rev 10) > > 00:14.2 RAM memory: Intel Corporation Cannon Lake PCH Shared SRAM (rev 10) > > 00:15.0 Serial bus controller [0c80]: Intel Corporation Cannon Lake PCH Serial IO I2C Controller #0 (rev 10) > > 00:15.1 Serial bus controller [0c80]: Intel Corporation Cannon Lake PCH Serial IO I2C Controller #1 (rev 10) > > 00:16.0 Communication controller: Intel Corporation Cannon Lake PCH HECI Controller (rev 10) > > 00:17.0 SATA controller: Intel Corporation Cannon Lake Mobile PCH SATA AHCI Controller (rev 10) > > 00:1b.0 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #17 (rev f0) > > 00:1c.0 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #1 (rev f0) > > 00:1c.5 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #6 (rev f0) > > 00:1c.7 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #8 (rev f0) > > 00:1e.0 Communication controller: Intel Corporation Cannon Lake PCH Serial IO UART Host Controller (rev 10) > > 00:1f.0 ISA bridge: Intel Corporation Cannon Lake LPC Controller (rev 10) > > 00:1f.3 Audio device: Intel Corporation Cannon Lake PCH cAVS (rev 10) > > 00:1f.4 SMBus: Intel Corporation Cannon Lake PCH SMBus Controller (rev 10) > > 00:1f.5 Serial bus controller [0c80]: Intel Corporation Cannon Lake PCH SPI Controller (rev 10) > > 00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (7) I219-LM (rev 10) > > 01:00.0 VGA compatible controller: NVIDIA Corporation TU104GLM [Quadro RTX 4000 Mobile / Max-Q] (rev a1) > > 01:00.1 Audio device: NVIDIA Corporation TU104 HD Audio Controller (rev a1) > > 01:00.2 USB controller: NVIDIA Corporation TU104 USB 3.1 Host Controller (rev a1) > > 01:00.3 Serial bus controller [0c80]: NVIDIA Corporation TU104 USB Type-C UCSI Controller (rev a1) > > 02:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981/PM983 > > 04:00.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] (rev 06) > > 05:00.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] (rev 06) > > 05:01.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] (rev 06) > > 05:02.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] (rev 06) > > 05:04.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] (rev 06) > > 06:00.0 System peripheral: Intel Corporation JHL7540 Thunderbolt 3 NHI [Titan Ridge 4C 2018] (rev 06) > > 2c:00.0 USB controller: Intel Corporation JHL7540 Thunderbolt 3 USB Controller [Titan Ridge 4C 2018] (rev 06) > > 52:00.0 Network controller: Intel Corporation Wi-Fi 6 AX200 (rev 1a) > > 54:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS525A PCI Express Card Reader (rev 01) > > > > > > sauron:/usr/src/linux-5.7.11-amd64-preempt-sysrq-20190816/drivers/pci# lsusb -t > > /: Bus 06.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 10000M > > /: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M > > /: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 10000M > > /: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M > > /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/10p, 10000M > > /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/16p, 480M > > |__ Port 2: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 12M > > |__ Port 8: Dev 3, If 3, Class=Video, Driver=uvcvideo, 480M > > |__ Port 8: Dev 3, If 1, Class=Video, Driver=uvcvideo, 480M > > |__ Port 8: Dev 3, If 2, Class=Video, Driver=uvcvideo, 480M > > |__ Port 8: Dev 3, If 0, Class=Video, Driver=uvcvideo, 480M > > |__ Port 9: Dev 4, If 0, Class=Vendor Specific Class, Driver=, 12M > > |__ Port 14: Dev 6, If 0, Class=Wireless, Driver=btusb, 12M > > |__ Port 14: Dev 6, If 1, Class=Wireless, Driver=btusb, 12M > > > > Thanks, > > Marc > > -- > > "A mouse is a device used to point at the xterm you want to type in" - A.S.R. > > > > Home page: http://marc.merlins.org/ | PGP 7F55D5F27AAF9D08 > > -- > "A mouse is a device used to point at the xterm you want to type in" - A.S.R. > > Home page: http://marc.merlins.org/ | PGP 7F55D5F27AAF9D08 > _______________________________________________ > Nouveau mailing list > Nouveau@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/nouveau >