Bug 209943
Summary: | pci 0000:00:07.0: DPC: RP PIO log size 0 is invalid | ||
---|---|---|---|
Product: | Drivers | Reporter: | Paul Menzel (pmenzel+bugzilla.kernel.org) |
Component: | PCI | Assignee: | drivers_pci (drivers_pci) |
Status: | RESOLVED CODE_FIX | ||
Severity: | normal | CC: | alvaro.octal, andrea.ippo, aniket.teredesai, austinagronick+bugzilla, betaev, binli, bjorn, bugzilla.kernel.org, contact, cristina223, eric, Esokrarkose, fhangel, freddy, grzegorz.alibozek, huqiqiao, jigglyponk, kernel.izz3b, kernelorg, L.Bonnaud, lindamarie, linux-bugs, mark.blakeney, me, me, mika.westerberg, mpearson-lenovo, nrjsbudhe, nvaert1986, pmenzel+bugzilla.kernel.org, poperigby, sathyanarayanan.kuppuswamy, serg, spiderx, superm1, tasksynctest, ulf.norberg, wd84, ypwong, zsolt.donca |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 5.10-rc1 | Subsystem: | |
Regression: | No | Bisected commit-id: | |
Attachments: |
Linux 5.10+ messages with `initcall_debug` (output of `dmesg`)
Quirk the RP PIO Log size of certain ports Output of sudo lspci -vv Add ICL PCI IDs to the quirk list Fix for Raptor Lake-P proposed patch lspci -vv |
FYI those messages are new to 5.7 and newer: https://github.com/torvalds/linux/commit/27005618178ef9e9bf9c42fd91101771c92e9308 +Mika Those messages appear to be from both of the root ports for USB4. Just for the record, as expected, it’s also seen with Linux 5.9.11 on a Dell XPS 13 9310 2-in-1/02P55J, BIOS 1.0.3 10/05/2020. [ 0.609085] pci 0000:00:07.0: [8086:9a23] type 01 class 0x060400 [ 0.610234] pci 0000:00:07.0: PME# supported from D0 D3hot D3cold [ 0.610255] pci 0000:00:07.0: DPC: RP PIO log size 0 is invalid [ 0.610385] pci 0000:00:07.2: [8086:9a27] type 01 class 0x060400 [ 0.611527] pci 0000:00:07.2: PME# supported from D0 D3hot D3cold [ 0.611548] pci 0000:00:07.2: DPC: RP PIO log size 0 is invalid I assume the only problem is the "DPC: RP PIO log size 0 is invalid" message itself? It sure looks like the device is out of spec because PCIe r5.0, sec 7.9.15.2, says RP PIO Log Size - This field indicates how many DWORDs are allocated for the RP PIO log registers, comprised by the RP PIO Header Log, the RP PIO ImpSpec Log, and RP PIO TLP Prefix Log. If the Root Port supports RP Extensions for DPC, the value of this field must be 4 or greater; otherwise, the value of this field must be 0. Maybe we just need to tone down the message to pci_info()? It looks like dpc_process_rp_pio_error() would do the right thing even when dpc_rp_log_size == 0. In the attached messages, the firmware retains control of AER, so Linux never tries to use DPC itself anyway. Very similar (same?) on Lenovo T14, i5-1145G7 TigerLake, kernel 5.10.40. ``` [ 0.719122] pci 0000:00:07.0: PME# supported from D0 D3hot D3cold [ 0.719144] pci 0000:00:07.0: DPC: RP PIO log size 0 is invalid [ 0.719262] pci 0000:00:07.2: [8086:9a27] type 01 class 0x060400 [ 0.720011] pci 0000:00:07.2: PME# supported from D0 D3hot D3cold [ 0.720033] pci 0000:00:07.2: DPC: RP PIO log size 0 is invalid [ 0.720300] pci 0000:00:0d.0: [8086:9a13] type 00 class 0x0c0330 ``` Reported to Lenovo. Very similar on LENOVO ZhaoYang K4e-ITL System: Host: uos-PC Kernel: 5.14.0-next-20210831-amd64-desktop+ x86_64 bits: 64 Console: tty 1 Distro: Deepin 20.2.3 Machine: Type: Laptop System: LENOVO product: 82F8 v: ZhaoYang K4e-ITL serial: MP20QYHS Mobo: LENOVO model: LNVNB161216 v: SDK0K09938 WIN serial: MP20QYHS UEFI: LENOVO v: F8CN41WW(V2.04) date: 05/07/2021 Battery: ID-1: BAT1 charge: 19.5 Wh condition: 45.1/45.0 Wh (100%) CPU: Quad Core: 11th Gen Intel Core i5-1135G7 type: MT MCP speed: 400 MHz min/max: 400/4200 MHz Graphics: Device-1: Intel driver: i915 v: kernel Display: tty server: X.org 1.20.4 driver: modesetting unloaded: fbdev,vesa tty: 132x31 Message: Advanced graphics data unavailable in console for root. Network: Device-1: Intel driver: iwlwifi Device-2: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet driver: r8169 Drives: Local Storage: total: 476.94 GiB used: 16.96 GiB (3.6%) Info: Processes: 245 Uptime: 51m Memory: 7.56 GiB used: 1.17 GiB (15.5%) Init: systemd runlevel: 5 Shell: bash demsg -l 3 [ 0.616561] pci 0000:00:07.0: DPC: RP PIO log size 0 is invalid I have the same issue with a Dell XPS 9300. I tried different kernels up to the very latest 5.14.2 and the error message remains there. > kernel: pci 0000:00:07.0: DPC: RP PIO log size 0 is invalid > kernel: pci 0000:00:07.2: DPC: RP PIO log size 0 is invalid > Host: XPS 13 9300 > Kernel: 5.14.2-051402-generic > CPU: Intel i7-1065G7 (8) @ 1.300GHz > GPU: Intel Iris Plus Graphics G7 Same here on a 9310 2-in-1, Bios 2.6.0, Linux 5.15.8. I see those messages popping up after the boot menu at every boot, any fix in sight? Did you contact the Dell support about it? @Paul: Is there anybody at Dell left who cares about Linux? Mario Limonciello left Dell for AMD, same for Yuan Perry. Those were the only contributors to the kernel I noticed. I had an engineering contact at Dell who allowed me to test firmware fixes under NDA early this year, but I can't reach that person anymore. Going through their very bad first level support is not an option for me, I don't have enough time to explain the same thing to dozens of times to people following protocols in a bot like manner. If you know anybody I could contact, please let me know. (Unfortunately, that is also my experience.) Did you contact <Dell.Client.Kernel@dell.com>? No did not try that contact yet, did you have succeess with that before? I was really happy with one technical support engineer that was assigned to an issue I got escalated. He was really very responsive and did a great job in exchanging info via email, unfortunately they restricted his company mail so that he can't receive mail from outside anymore, which is a really questionable move imho. I will greatly reconsider going with Dell in the future if they force everybody to go through their outsourced support that does not even know what "firmware bug" means and repeatedly asks to reinstall Windows. Same on an Inspiron 5310 (13"). Kernel 5.15.7-1-default on opensuse Tumbleweed. Same on an Lenovo Yoga Slim (13"). Kernel 5.16.1-1-default on opensuse Tumbleweed. (on 5.15 and older too) I have the same entry in my `dmesg` with `5.16.15-201.fc35.x86_64` Fedora 35 kernel on Dell Inspiron 15 Plus 7510.
> pci 0000:00:07.0: DPC: RP PIO log size 0 is invalid
Please always share the system firmware version, for example with `dmesg | grep DMI:`. (In reply to Paul Menzel from comment #16) > DMI: Dell Inc. Inspiron 15 7510/0GNCM6, BIOS 1.4.0 12/10/2021 same here on lenovo t14 gen2i (archlinux, 5.16.16-arch1-1) kernel: ACPI: [Firmware Bug]: BIOS _OSI(Linux) query ignored kernel: pci 0000:00:07.0: DPC: RP PIO log size 0 is invalid kernel: pci 0000:00:07.2: DPC: RP PIO log size 0 is invalid kernel: ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PC00.RP09.PEGP.DDNT], AE_NOT_FOUND (20210930/psargs-330) kernel: ACPI Error: Aborting method \_SB.PC00.LPCB.EC.SEN4._TMP due to previous error (AE_NOT_FOUND) (20210930/psparse-529) kernel: ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PC00.RP09.PEGP.DDNT], AE_NOT_FOUND (20210930/psargs-330) kernel: ACPI Error: Aborting method \_SB.PC00.LPCB.EC.SEN4._TMP due to previous error (AE_NOT_FOUND) (20210930/psparse-529) DMI: LENOVO 20W0002UMX/20W0002UMX, BIOS N34ET48W (1.48 ) 01/28/2022 Mark, regarding the Lenovo ThinkPad T14 in comment #18, any hints how to got about to get also the other errors fixed. Same here: # dmesg | grep DPC: [ 0.687665] pci 0000:00:07.0: DPC: RP PIO log size 0 is invalid # dmesg | grep DMI: [ 0.000000] DMI: TUXEDO TUXEDO InfinityBook S 15 Gen6/NS50_70MU, BIOS 1.07.12NRTR 05/01/2021 I'm seeing this on the X1 Carbon G10 (happened to be what I was working on when I got the notification of this message) so I suspect it's really common. I'll check some other platforms in a bit. I've raised a ticket internally (LO-1638). Looks like we'll need to reach out to Intel for this one as it's coming from their PCI bridge. As a note I have only raised this as low priority as I don't believe it has any functional impact - but be nice to understand it. Let me know if it's more serious. Mark @grzegorz.alibozek, for the ACPI errors, please create a new issue in the ACPI component, add Mark to Cc, and also reference it here. It is probably a firmware issue, but I am not clear. Please attach output of `dmesg` and `acpidump` there. Mark, for reference, see Bjorn’s (PCI subsystem maintainer) comment #4. Also see linux-pci thread [1]. [1]: https://lore.kernel.org/linux-pci/084ea8e2-baae-0e2d-c60d-73fb055bdc1d@molgen.mpg.de/ (In reply to Paul Menzel from comment #16) > Please always share the system firmware version, for example with `dmesg | > grep DMI:`. DMI: LENOVO 82A3/LNVNB161216, BIOS FBCN24WW 02/05/2021 Same issue here with a Dell Precision 7560. Same with Lenovo ThinkPad X1 Yoga Gen 6 and linux 5.18.1. (In reply to Mark Pearson from comment #21) > I'm seeing this on the X1 Carbon G10 (happened to be what I was working on > when I got the notification of this message) so I suspect it's really > common. I'll check some other platforms in a bit. > > I've raised a ticket internally (LO-1638). Looks like we'll need to reach > out to Intel for this one as it's coming from their PCI bridge. > > As a note I have only raised this as low priority as I don't believe it has > any functional impact - but be nice to understand it. Let me know if it's > more serious. > > Mark Actually Mark, it is very serious for some of us. My Dell XPS 13 has been sitting on that screen and never booting all the way for about 4 or 5 days now: [ 0.460513] pci 0000:00:07.0: DPC: RP PIO log size 0 is invalid [ 0.462680] pci 0000:00:07.2: DPC: RP PIO log size 0 is invalid /dev/nvme0n1p2: clean, 428347/31227904 files 118823244/124895488 blocks Regrettably, I am new at this but I installed Ubuntu 22.04 several weeks ago. the kernel is 5.15 and I have Grub 2.06. I also disabled Secure Boot and that got rid of an error 71. Not sure which info is useful - but any advice on what to type to get my laptop back would be amazing. @linparda, your problem is very likely unrelated. (In the GRUB menu, press the key e and remove `quiet` from the Linux kernel command line. Then boot with F10 or Ctrl + x.) It’s a problem you should report to Ubuntu though. (In reply to Paul Menzel from comment #28) > @linparda, your problem is very likely unrelated. (In the GRUB menu, press > the key e and remove `quiet` from the Linux kernel command line. Then boot > with F10 or Ctrl + x.) It’s a problem you should report to Ubuntu though. Paul! Thank you! You are very right! Finally an answer! Actually, my system was not seeing my usb so that I could reinstall Ubuntu 22.04. Once I switched out the Dell A to C adapter I was able to see the drive and reinstall. But that doesn't change the fact that boot completely stopped at the bug screen: [ 0.460513] pci 0000:00:07.0: DPC: RP PIO log size 0 is invalid [ 0.462680] pci 0000:00:07.2: DPC: RP PIO log size 0 is invalid But with your help, now I know what to do, so a heartfelt thank you. (In reply to Paul Menzel from comment #28) > @linparda, your problem is very likely unrelated. (In the GRUB menu, press > the key e and remove `quiet` from the Linux kernel command line. Then boot > with F10 or Ctrl + x.) It’s a problem you should report to Ubuntu though. Yes, I will report it. I also met this issue on ThinkBook 14, should this issue be fixed in BIOS? kernel: pci 0000:00:07.0: DPC: RP PIO log size 0 is invalid Tried today with latest kernel & latest BIOS, keeps happening: $ uname -r 5.19.0-051900rc6-generic $ sudo dmesg | grep DMI: [ 0.000000] DMI: Dell Inc. XPS 15 9520/0YD3W1, BIOS 1.4.0 06/09/2022 Then while booting [0.572824] pci 0000:00:07.0: DPC: RP PIO log size 0 is invalid [0.573486] pci 0000:00:07.1: DPC: RP PIO log size 0 is invalid Hi. This should be just a log message but it should not prevent the system from booting up. I'm trying to figure out from our side (Intel) why it reports size 0 and whether there is an errata somewhere, and then provide a quirk or something that makes it go away on the affected root ports. If for some reason this prevents the system from booting you can disable DPC temporarily by setting CONFIG_PCIE_DPC=n in kernel .config and rebuilding the kernel. Thanks a lot for looking at this "bug"! (not a functional bug, but very annoying because it is displayed on every boot) BTW, I also see it on Intel hardware: # dmesg | grep DPC [ 0.629242] pci 0000:00:07.0: DPC: RP PIO log size 0 is invalid [ 0.630710] pci 0000:00:07.2: DPC: RP PIO log size 0 is invalid # dmesg | grep DMI: [ 0.000000] DMI: Intel(R) Client Systems NUC11TNHv5/NUC11TNBv5, BIOS TNTGLV57.0064.2022.0217.1533 02/17/2022 Just for the record, this also happens on a [ 0.000000] DMI: Dell Inc. XPS 9315/02GGG1, BIOS 1.1.3 05/11/2022 [ 0.474926] pci 0000:00:07.0: DPC: RP PIO log size 0 is invalid [ 0.475478] pci 0000:00:07.1: DPC: RP PIO log size 0 is invalid ``` $ lspci -nn 00:00.0 Host bridge [0600]: Intel Corporation Device [8086:4602] (rev 06) 00:02.0 VGA compatible controller [0300]: Intel Corporation Alder Lake-UP4 GT2 [Iris Xe Graphics] [8086:46aa] (rev 0c) 00:04.0 Signal processing controller [1180]: Intel Corporation Alder Lake Innovation Platform Framework Processor Participant [8086:461d] (rev 06) 00:05.0 Multimedia controller [0480]: Intel Corporation Device [8086:465d] (rev 06) 00:06.0 PCI bridge [0604]: Intel Corporation 12th Gen Core Processor PCI Express x4 Controller #0 [8086:464d] (rev 06) 00:07.0 PCI bridge [0604]: Intel Corporation Alder Lake-P Thunderbolt 4 PCI Express Root Port #0 [8086:466e] (rev 06) 00:07.1 PCI bridge [0604]: Intel Corporation Alder Lake-P Thunderbolt 4 PCI Express Root Port #1 [8086:463f] (rev 06) 00:08.0 System peripheral [0880]: Intel Corporation 12th Gen Core Processor Gaussian & Neural Accelerator [8086:464f] (rev 06) 00:0d.0 USB controller [0c03]: Intel Corporation Alder Lake-P Thunderbolt 4 USB Controller [8086:461e] (rev 06) 00:0d.2 USB controller [0c03]: Intel Corporation Alder Lake-P Thunderbolt 4 NHI #0 [8086:463e] (rev 06) 00:12.0 Serial controller [0700]: Intel Corporation Device [8086:51fc] (rev 01) 00:14.0 USB controller [0c03]: Intel Corporation Alder Lake PCH USB 3.2 xHCI Host Controller [8086:51ed] (rev 01) 00:14.2 RAM memory [0500]: Intel Corporation Alder Lake PCH Shared SRAM [8086:51ef] (rev 01) 00:14.3 Network controller [0280]: Intel Corporation Alder Lake-P PCH CNVi WiFi [8086:51f0] (rev 01) 00:15.0 Serial bus controller [0c80]: Intel Corporation Alder Lake PCH Serial IO I2C Controller #0 [8086:51e8] (rev 01) 00:15.1 Serial bus controller [0c80]: Intel Corporation Alder Lake PCH Serial IO I2C Controller #1 [8086:51e9] (rev 01) 00:16.0 Communication controller [0780]: Intel Corporation Alder Lake PCH HECI Controller [8086:51e0] (rev 01) 00:1e.0 Communication controller [0780]: Intel Corporation Alder Lake PCH UART #0 [8086:51a8] (rev 01) 00:1e.2 Serial bus controller [0c80]: Intel Corporation Device [8086:51aa] (rev 01) 00:1e.3 Serial bus controller [0c80]: Intel Corporation Device [8086:51ab] (rev 01) 00:1f.0 ISA bridge [0601]: Intel Corporation Device [8086:5187] (rev 01) 00:1f.3 Multimedia audio controller [0401]: Intel Corporation Device [8086:51cc] (rev 01) 00:1f.4 SMBus [0c05]: Intel Corporation Alder Lake PCH-P SMBus Host Controller [8086:51a3] (rev 01) 00:1f.5 Serial bus controller [0c80]: Intel Corporation Alder Lake-P PCH SPI Controller [8086:51a4] (rev 01) 01:00.0 Non-Volatile memory controller [0108]: Phison Electronics Corporation Device [1987:5019] (rev 01) Currently on Ubuntu 22.04 and Kernel 5.19 (Release) on a Dell XPS 9520 (2022) (12700H) with every boot, however the system boots. ``` [0.248124] ================================================================= [0.248130] UBSAN: array-Index-out-of-bounds in /home/kernel/COD/linux/drivers/acpi/acpica/dswexec.c:401:12 [0.248132] index -1 Is out of range for type 'acpi_operand_object *[9] ' [0.248193] ================================================================= [0.574661] pci 0000:00:07.0: DPC: RP PIO log size 0 is Invalid [0.575431] pci 0000:00:07.1: DPC: RP PIO log size 0 is Invalid [4.927607] Dev loop11: unable to read RDB block 8 [5.679119] Bluetooth: hc10: Malformed MSFT vendor event: 0x02 [7.0901431 ACPI BIOS Error (bug): Could not resolve symbol [\_TZ.ETMD], AE_NOT_FOUND (20220331/psargs-330) [7.090184] ACPI Error: Aborting method \_SB.IETM._OSC due to previous error (AE_NOT_FOUND) (20220331/psparse-529) ``` Not sure if this might be related with https://bugzilla.kernel.org/show_bug.cgi?id=216266 The UBSAN issue looks like bug #216266, you referenced. As you seem to build the Linux kernel yourself, please try the patch from there. Created attachment 301556 [details]
Quirk the RP PIO Log size of certain ports
Can someone try the attached patch? There is a BIOS bug that causes the log size to be set to 0 instead of 4 so this patch should quirk the affected ports (Tiger Lake, Alder Lake). This will be fixed in the BIOS too at least for the upcoming platforms.
> There is a BIOS bug that causes the log size to be set to 0 instead of 4
Could you please elaborate. Is that in Intel’s Firmware Support Package (FSP)? I’d like to forward this to Dell. Is there an internal bug report number, I could give them?
With the patch applied, the warnings are gone on the Dell XPS 13 9315 (Alder Lake). Thank you very much. I’d appreciate, if still an informational message would be printed, pointing out there is a firmware issue, and the hardware vendor should be informed about it.
PS: I wasn’t able to save the log, as SDDM didn’t work for some reason. In Linus’ master branch (going to be 5.20/6.0), I saw new warnings, but I assume they are unrelated.
Can't tag data node
Hi, I sent you the internal bug number in a private email. You can share it with Dell. You mean use pci_info() instead of pci_dbg() in the quirk? Sure I can do that. Submitted the patch upstream now: https://lore.kernel.org/linux-pci/20220816102042.69125-1-mika.westerberg@linux.intel.com/ Patch worked for my machine I had the same errors sudo dmesg | grep DPC 0.484701] acpi PNP0A08:00: _OSC: OS now controls [PCIeHotplug SHPCHotplug PME PCIeCapability LTR DPC] [ 0.490520] pci 0000:00:07.0: DPC: RP PIO log size 0 is invalid [ 0.491273] pci 0000:00:07.2: DPC: RP PIO log size 0 is invalid sudo dmesg | grep DMI [ 0.000000] DMI: LENOVO 82QG/LNVNB161216, BIOS J1CN32WW 06/15/2022 Patched the mainline 6.0-rc1 and no error in log Thank you! (In reply to Mika Westerberg from comment #41) > Submitted the patch upstream now: > https://lore.kernel.org/linux-pci/20220816102042.69125-1-mika. > westerberg@linux.intel.com/ I am facing a similar error. How can I use the patch? I am new to Ubuntu. Any help is appreciated. The patch should end up in distro kernels eventually. I suggest just ignoring the error for now. It really is just a message so it does not affect the funtionality in any way (unless you intent to use PCIe DPC of those root ports). I an not able to boot. I get this error when I select Ubuntu from GRUB menu. I an not able to boot. I get this error when I select Ubuntu from GRUB menu. I an not able to boot. I get this error when I select Ubuntu from GRUB menu. Most likely the "hang" happens afterwards but this just happens to be the last message logged on the console. You can disable DPC from the kernel but that requires you to build it with CONFIG_PCIE_DPC=n and I doubt it changes anything. Have you been able to boot any distro kernel on that system or you only tried Ubuntu? Hi, when can we expect to see this patch in the up-stream kernel. My Laptop crashes a lot due this issue. Full issue https://ask.fedoraproject.org/t/asus-zenbook-fedora-36-kernel-5-19-8-200-fc36-x86-64-halt/26445 (In reply to Aniket Prajapati from comment #49) > Hi, when can we expect to see this patch in the up-stream kernel. > My Laptop crashes a lot due this issue. > Full issue > https://ask.fedoraproject.org/t/asus-zenbook-fedora-36-kernel-5-19-8-200- > fc36-x86-64-halt/26445 As already written, it’s just a cosmetic issue, and the crashes are caused by something else. Sorry. Aniket, I'm sorry that your Zenbook is crashing. From the URL in comment #49, I can't tell exactly what is happening, but as Paul mentioned, a crash would almost certainly be caused by something else, and the patch here would not help. I responded to the Fedora issue suggesting that you report it to the linux-kernel@vger.kernel.org mailing list where we can pursue it further. The patch quirking these PCIe root ports was picked up by the PCI maintainer (Bjorn) and should land in v6.1 kernel release. I have confirmed on Kubuntu 22.10 a workaround to hide all kernel messages including 'DPC: RP PIO log size 0 is invalid' is to add console=ttyS0 to the GRUB_CMDLINE_LINUX variable. For novice linux users that end up here, I did this by using grub customizer (https://launchpad.net/grub-customizer). Go to General settings > advanced settings > click the Add button. 1. ensure the is active box is checked. 2. set the name column to GRUB_CMDLINE_LINUX, press enter. 3. set the value column to console=ttyS0, press enter. 4. click close and then click save in the main window. I think this is a better solution for most users than installing a buggy mainline kernel version or trying to patch and compile the kernel. Mika Westerberg says just above that "The patch quirking these PCIe root ports was picked up by the PCI maintainer (Bjorn) and should land in v6.1 kernel release." I'm on 6.3.1 and I still get these messages at boot: ``` May 08 08:07:39 lt kernel: pci 0000:00:07.0: DPC: RP PIO log size 0 is invalid May 08 08:07:39 lt kernel: pci 0000:00:07.2: DPC: RP PIO log size 0 is invalid ``` It is in the mainline with commit ID 5459c0b7046752e519a646e1c2404852bb628459. Can you attach 'sudo lspci -vv' output? Created attachment 304227 [details]
Output of sudo lspci -vv
Created attachment 304234 [details]
Add ICL PCI IDs to the quirk list
Hi, The original commit is missing Ice Lake root ports. Are you able to try the attached patch?
@Mika, yes applying that patch to 6.3.1 does fix the problem. I don't get those error messages. Thanks for testing! Okay, I will send the patch upstream then. Hi Mika, I am getting the same issue on a new Nuc 13PRO, latest 22.04.2 LTS. How can I pull the patch? Hi Mika, I am getting the same issue on a new Nuc 13PRO, latest 22.04.2 LTS. How can I pull the patch? (In reply to jigglyponk from comment #61) > ... How can I pull the patch? The patch is queued up and should appear in v6.4-rc4: https://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git/commit/?h=for-linus&id=3b8803494a0612acdeee714cb72aa142b1e05ce5 If you want to build your own kernel, you can include it. Or you can wait for the distro to incorporate it. My understanding is that this is mostly a cosmetic issue, and you can just ignore the warning. The only functional impact is that if DPC is triggered because of a PCIe error, the patch will enable messages with some extra log registers. Created attachment 304343 [details]
Fix for Raptor Lake-P
On a LG Gram 17Z90R-A.ADB9U1 with a i7-1360P "Raptor Lake-P" processor and the latest 6.4-rc4 kernel there's still a problem.
dmesg:
pci 0000:00:07.0: DPC: RP PIO log size 0 is invalid
pci 0000:00:07.3: DPC: RP PIO log size 0 is invalid
lspci:
00:07.0 PCI bridge [0604]: Intel Corporation Device [8086:a72f]
00:07.3 PCI bridge [0604]: Intel Corporation Device [8086:a71f]
I've created a patch to add the pci ids to the dpc_log_size fix. After testing the problem is gone.
dmesg:
pci 0000:00:07.0: Overriding RP PIO Log Size to 4
pci 0000:00:07.3: Overriding RP PIO Log Size to 4
Oh, for pete's sake. Mika, are we doing something wrong in Linux, or are all these just hardware or BIOS defects? I'm looking at PCIe r6.0, sec, 7.9.14.2, which *seems* to say that the RP PIO log size in the DPC Capability register must be 4 or greater, which I think is what we're checking. But maybe we should we just make that a pci_info() instead of pci_err() and accept that we won't get RP PIO logs on these processors? Hi, This was supposed to be fixed after Alder Lake but apparently it was not :( I agree to make it pci_info() instead. I will make a patch for that. In my opinion, it should be found out, why the firmware reference(?) code is not fixed. My guess is, the error message should have clearly stated that’s a spec violation in the system firmware, and it should be reported to the board vendor to get it fixed in an update. Additionally, [fwts](https://launchpad.net/fwts) could be asked to add a test for it. (In reply to Paul Menzel from comment #66) > In my opinion, it should be found out, why the firmware reference(?) code is > not fixed. My guess is, the error message should have clearly stated that’s > a spec violation in the system firmware, and it should be reported to the > board vendor to get it fixed in an update. > > Additionally, [fwts](https://launchpad.net/fwts) could be asked to add a > test for it. I agree. Unfortunately simple users like me (and I guess many others commenting here) have little to no luck in getting heard from the likes of DELL and other OEMs. I wonder if some Linux contributor at Intel could raise awareness about such issues to OEMs, so that they could release a proper BIOS/firmware fix. On my side the quirk is effective as I am seeing "Overriding RP PIO Log Size to 4". I am still leaving my system details here, in case someone has the right contacts in DELL to make this move further. Thank you in advance! I'm using a DELL XPS 13 9305 with BIOS version 1.13.0 on an 11th gen Tiger Lake CPU. lspci -nn 00:00.0 Host bridge [0600]: Intel Corporation 11th Gen Core Processor Host Bridge/DRAM Registers [8086:9a14] (rev 01) 00:02.0 VGA compatible controller [0300]: Intel Corporation TigerLake-LP GT2 [Iris Xe Graphics] [8086:9a49] (rev 01) 00:04.0 Signal processing controller [1180]: Intel Corporation TigerLake-LP Dynamic Tuning Processor Participant [8086:9a03] (rev 01) 00:06.0 PCI bridge [0604]: Intel Corporation 11th Gen Core Processor PCIe Controller [8086:9a09] (rev 01) 00:07.0 PCI bridge [0604]: Intel Corporation Tiger Lake-LP Thunderbolt 4 PCI Express Root Port #0 [8086:9a23] (rev 01) 00:07.1 PCI bridge [0604]: Intel Corporation Tiger Lake-LP Thunderbolt 4 PCI Express Root Port #1 [8086:9a25] (rev 01) 00:08.0 System peripheral [0880]: Intel Corporation GNA Scoring Accelerator module [8086:9a11] (rev 01) 00:0a.0 Signal processing controller [1180]: Intel Corporation Tigerlake Telemetry Aggregator Driver [8086:9a0d] (rev 01) 00:0d.0 USB controller [0c03]: Intel Corporation Tiger Lake-LP Thunderbolt 4 USB Controller [8086:9a13] (rev 01) 00:0d.2 USB controller [0c03]: Intel Corporation Tiger Lake-LP Thunderbolt 4 NHI #0 [8086:9a1b] (rev 01) 00:14.0 USB controller [0c03]: Intel Corporation Tiger Lake-LP USB 3.2 Gen 2x1 xHCI Host Controller [8086:a0ed] (rev 20) 00:14.2 RAM memory [0500]: Intel Corporation Tiger Lake-LP Shared SRAM [8086:a0ef] (rev 20) 00:15.0 Serial bus controller [0c80]: Intel Corporation Tiger Lake-LP Serial IO I2C Controller #0 [8086:a0e8] (rev 20) 00:15.1 Serial bus controller [0c80]: Intel Corporation Tiger Lake-LP Serial IO I2C Controller #1 [8086:a0e9] (rev 20) 00:16.0 Communication controller [0780]: Intel Corporation Tiger Lake-LP Management Engine Interface [8086:a0e0] (rev 20) 00:19.0 Serial bus controller [0c80]: Intel Corporation Tiger Lake-LP Serial IO I2C Controller #4 [8086:a0c5] (rev 20) 00:19.1 Serial bus controller [0c80]: Intel Corporation Tiger Lake-LP Serial IO I2C Controller #5 [8086:a0c6] (rev 20) 00:1c.0 PCI bridge [0604]: Intel Corporation Device [8086:a0b8] (rev 20) 00:1d.0 PCI bridge [0604]: Intel Corporation Device [8086:a0b3] (rev 20) 00:1e.0 Communication controller [0780]: Intel Corporation Tiger Lake-LP Serial IO UART Controller #0 [8086:a0a8] (rev 20) 00:1f.0 ISA bridge [0601]: Intel Corporation Tiger Lake-LP LPC Controller [8086:a082] (rev 20) 00:1f.3 Audio device [0403]: Intel Corporation Tiger Lake-LP Smart Sound Technology Audio Controller [8086:a0c8] (rev 20) 00:1f.4 SMBus [0c05]: Intel Corporation Tiger Lake-LP SMBus Controller [8086:a0a3] (rev 20) 00:1f.5 Serial bus controller [0c80]: Intel Corporation Tiger Lake-LP SPI Controller [8086:a0a4] (rev 20) 01:00.0 Non-Volatile memory controller [0108]: KIOXIA Corporation NVMe SSD Controller BG4 [1e0f:0001] a4:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS525A PCI Express Card Reader [10ec:525a] (rev 01) a5:00.0 Network controller [0280]: Intel Corporation Wi-Fi 6 AX200 [8086:2723] (rev 1a) This is known BIOS but and was supposed to be fixed after Alder Lake. I re-raised it internally now, hoping to get it fixed. (In reply to Mika Westerberg from comment #68) > This is known BIOS but and was supposed to be fixed after Alder Lake. I > re-raised it internally now, hoping to get it fixed. known BIOS bug, I mean. Fwiw, this is not isolated to Dell bios'en only. The following is on a Raptor Lake (1370p) Framework Laptop 13, running (Arch) Linux 6.4.5: Jul 25 00:16:33 FRAME kernel: pci 0000:00:07.0: DPC: RP PIO log size 0 is invalid Jul 25 00:16:33 FRAME kernel: pci 0000:00:07.1: DPC: RP PIO log size 0 is invalid Jul 25 00:16:33 FRAME kernel: pci 0000:00:07.2: DPC: RP PIO log size 0 is invalid Jul 25 00:16:33 FRAME kernel: pci 0000:00:07.3: DPC: RP PIO log size 0 is invalid These correspond to Intel devices in lspci: 00:07.0 PCI bridge: Intel Corporation Device a76e 00:07.1 PCI bridge: Intel Corporation Device a73f 00:07.2 PCI bridge: Intel Corporation Device a72f 00:07.3 PCI bridge: Intel Corporation Device a71f The bios version on this device is: Vendor: INSYDE Corp. Version: 03.03 Release Date: 04/07/2023 Created attachment 304715 [details] proposed patch This possible patch doesn't *solve* anything; it just downgrades the message from ERROR to INFO level and says what the consequence is. I considered just changing pci_dpc_init() to assume a size of 4 when the device advertises size 0 (which is what https://git.kernel.org/linus/5459c0b70467 and https://git.kernel.org/linus/3b8803494a06 do), but I don't think that's really safe because the log registers are optional, and the RP PIO Log Size is what tells us how big the DPC Capability is. If we assume a Log Size of 4, we could end up reading junk past the end of the implemented Capability. Losing the RP PIO log hinders debugging, but if vendors don't care enough to implement this correctly, I don't know what else we can do. > Losing the RP PIO log hinders debugging, but if vendors don't care enough to
> implement > this correctly, I don't know what else we can do.
We are still actively tracking this one within Lenovo and planning on fixing it, if that helps any. Internal ticket is LO-1638 and it's been under active discussion this month as it got flagged as an issue blocking one of our platform releases which helped give it some attention.
Admittedly it's suffering from being a low priority 'cosmetic' issue because to my understanding it has no functional impact (I can't block a platform release for just this). It is taking longer to get addressed than I'd like, but it hasn't been completely ignored.
Hopefully I don't regret writing the above in a years time :) I'll be much happier once I've tested a BIOS with a fix in it.
Mark
Looks like Dell bios 1.18 (For XPS 9520), released last week has addressed this issue, at least for me Kernel 6.2 no longer shows any boot messages. @Avaro, thank you for the feedback. Just for the record, what system firmware version did you run before? Could you please also share the URL to the system firmware update? I also confirm that the error message is gone on my Tuxedo InfinityBook S 15 Gen6 (without a BIOS update). The error message is also gone on my Dell Latitude 5590 (with BIOS 1.29.0). @Laurent, it-d be great if you listed the versions nevertheless. What system firmware on the Tuxedo device, and what Linux kernel versions? Here it is: BIOS Information Vendor: INSYDE Corp. Version: 1.07.16NRTR4 Release Date: 05/26/2022 $ uname -a Linux xxx 6.5.7-060507-generic #202310102154 SMP PREEMPT_DYNAMIC Tue Oct 10 22:00:30 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux Arch Linux on 6.6.2-arch1-1, Lenovo T14s Gen4 Intel 13th (BIOS: N3PET19W (1.10 )) lis 24 23:58:29 archlinux kernel: pci 0000:00:07.0: DPC: RP PIO log size 0 is invalid lis 24 23:58:29 archlinux kernel: pci 0000:00:07.2: DPC: RP PIO log size 0 is invalid I'm receiving the same error message on a Dell Precision 3581 with Intel Raptor Lake processor (0W18NX) BIOS version: 1.10.1 (latest version as of this moment) [ 0.509356] pci 0000:00:06.2: PTM enabled (root), 4ns granularity [ 0.509681] pci 0000:00:07.0: [8086:a76e] type 01 class 0x060400 [ 0.509765] pci 0000:00:07.0: PME# supported from D0 D3hot D3cold [ 0.509785] pci 0000:00:07.0: PTM enabled (root), 4ns granularity [ 0.509789] pci 0000:00:07.0: DPC: RP PIO log size 0 is invalid [ 0.510274] pci 0000:00:07.1: [8086:a73f] type 01 class 0x060400 [ 0.510362] pci 0000:00:07.1: PME# supported from D0 D3hot D3cold [ 0.510381] pci 0000:00:07.1: PTM enabled (root), 4ns granularity [ 0.510385] pci 0000:00:07.1: DPC: RP PIO log size 0 is invalid [ 0.510877] pci 0000:00:08.0: [8086:a74f] type 00 class 0x088000 > I'm receiving the same error message on a Dell Precision 3581 with Intel
> Raptor Lake processor (0W18NX) BIOS version: 1.10.1 (latest version as of
> this moment)
Please contact the Dell support saying the violate the spec. Please attach `sudo lspci -vv`, but might be also good to create a separate issue for Raptor Lake, as this issue is getting quite long.
Created attachment 305962 [details]
lspci -vv
Paul,
The lspci -vv as per your request.
I forgot to add that this could very well be an Intel Raptor Lake issue, as I've seen this message on a few Lenovo ThinkPad and Dell Latitude laptops too with an Intel Raptor Lake processor. I split your Raptor Lake issue into bug #218560 [1]. [1]: https://bugzilla.kernel.org/show_bug.cgi?id=218560 I am closing this issue as it was fixed by commit 5459c0b70467 ("PCI/DPC: Quirk PIO log size for certain Intel Root Ports") added to Linux v6.1-rc1. Please create separate issues, should you see this on your device. |
Created attachment 293299 [details] Linux 5.10+ messages with `initcall_debug` (output of `dmesg`) On the Intel Dell XPS 13 9310, Linux 5.10-rc1 prints the error messages below. [ 0.507307] pci 0000:00:07.0: DPC: RP PIO log size 0 is invalid [ 0.508835] pci 0000:00:07.2: DPC: RP PIO log size 0 is invalid They are also present in Debian’s Linux 5.9.1 from Debian Sid/unstable. They are not shown in Dell’s Ubuntu 20.04.1 with Linux version 5.6.0-1022-oem. $ lspci -nn 00:00.0 Host bridge [0600]: Intel Corporation 11th Gen Core Processor Host Bridge/DRAM Registers [8086:9a14] (rev 01) 00:02.0 VGA compatible controller [0300]: Intel Corporation UHD Graphics [8086:9a49] (rev 01) 00:04.0 Signal processing controller [1180]: Intel Corporation Device [8086:9a03] (rev 01) 00:06.0 PCI bridge [0604]: Intel Corporation 11th Gen Core Processor PCIe Controller [8086:9a09] (rev 01) 00:07.0 PCI bridge [0604]: Intel Corporation Tiger Lake-LP Thunderbolt PCI Express Root Port #0 [8086:9a23] (rev 01) 00:07.2 PCI bridge [0604]: Intel Corporation Tiger Lake-LP Thunderbolt PCI Express Root Port #2 [8086:9a27] (rev 01) 00:0a.0 Signal processing controller [1180]: Intel Corporation Device [8086:9a0d] (rev 01) 00:0d.0 USB controller [0c03]: Intel Corporation Tiger Lake-LP Thunderbolt USB Controller [8086:9a13] (rev 01) 00:0d.2 USB controller [0c03]: Intel Corporation Tiger Lake-LP Thunderbolt NHI #0 [8086:9a1b] (rev 01) 00:0d.3 USB controller [0c03]: Intel Corporation Tiger Lake-LP Thunderbolt NHI #1 [8086:9a1d] (rev 01) 00:12.0 Serial controller [0700]: Intel Corporation Tiger Lake-LP Integrated Sensor Hub [8086:a0fc] (rev 20) 00:14.0 USB controller [0c03]: Intel Corporation Tiger Lake-LP USB 3.2 Gen 2x1 xHCI Host Controller [8086:a0ed] (rev 20) 00:14.2 RAM memory [0500]: Intel Corporation Tiger Lake-LP Shared SRAM [8086:a0ef] (rev 20) 00:14.3 Network controller [0280]: Intel Corporation Wi-Fi 6 AX201 [8086:a0f0] (rev 20) 00:15.0 Serial bus controller [0c80]: Intel Corporation Tiger Lake-LP Serial IO I2C Controller #0 [8086:a0e8] (rev 20) 00:15.1 Serial bus controller [0c80]: Intel Corporation Tiger Lake-LP Serial IO I2C Controller #1 [8086:a0e9] (rev 20) 00:16.0 Communication controller [0780]: Intel Corporation Tiger Lake-LP Management Engine Interface [8086:a0e0] (rev 20) 00:19.0 Serial bus controller [0c80]: Intel Corporation Tiger Lake-LP Serial IO I2C Controller #4 [8086:a0c5] (rev 20) 00:19.1 Serial bus controller [0c80]: Intel Corporation Tiger Lake-LP Serial IO I2C Controller #5 [8086:a0c6] (rev 20) 00:1d.0 PCI bridge [0604]: Intel Corporation Device [8086:a0b3] (rev 20) 00:1f.0 ISA bridge [0601]: Intel Corporation Tiger Lake-LP LPC Controller [8086:a082] (rev 20) 00:1f.3 Multimedia audio controller [0401]: Intel Corporation Tiger Lake-LP Smart Sound Technology Audio Controller [8086:a0c8] (rev 20) 00:1f.4 SMBus [0c05]: Intel Corporation Tiger Lake-LP SMBus Controller [8086:a0a3] (rev 20) 00:1f.5 Serial bus controller [0c80]: Intel Corporation Tiger Lake-LP SPI Controller [8086:a0a4] (rev 20) 01:00.0 Non-Volatile memory controller [0108]: Sandisk Corp WD Black 2019/PC SN750 NVMe SSD [15b7:5006] 56:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5260 PCI Express Card Reader [10ec:5260] (rev 01)