Bug 209943 - pci 0000:00:07.0: DPC: RP PIO log size 0 is invalid
Summary: pci 0000:00:07.0: DPC: RP PIO log size 0 is invalid
Status: NEW
Alias: None
Product: Drivers
Classification: Unclassified
Component: PCI (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: drivers_pci@kernel-bugs.osdl.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-10-29 14:41 UTC by Paul Menzel
Modified: 2022-01-23 16:22 UTC (History)
16 users (show)

See Also:
Kernel Version: 5.10-rc1
Tree: Mainline
Regression: No


Attachments
Linux 5.10+ messages with `initcall_debug` (output of `dmesg`) (214.75 KB, text/plain)
2020-10-29 14:41 UTC, Paul Menzel
Details

Description Paul Menzel 2020-10-29 14:41:27 UTC
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)
Comment 1 Mario Limonciello 2020-10-29 15:00:16 UTC
FYI those messages are new to 5.7 and newer:
https://github.com/torvalds/linux/commit/27005618178ef9e9bf9c42fd91101771c92e9308
Comment 2 Mario Limonciello 2020-10-29 17:02:52 UTC
+Mika

Those messages appear to be from both of the root ports for USB4.
Comment 3 Paul Menzel 2020-12-07 12:51:39 UTC
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
Comment 4 Bjorn Helgaas 2020-12-07 23:10:26 UTC
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.
Comment 5 korg 2021-07-21 05:51:34 UTC
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.
Comment 6 GeorgeQQHu 2021-09-03 02:23:06 UTC
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
Comment 7 Angel 2021-09-10 13:12:04 UTC
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
Comment 8 Esokrarkose 2021-12-15 16:00:33 UTC
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?
Comment 9 Paul Menzel 2021-12-15 17:05:56 UTC
Did you contact the Dell support about it?
Comment 10 Esokrarkose 2021-12-15 17:14:03 UTC
@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.
Comment 11 Paul Menzel 2021-12-15 17:19:33 UTC
(Unfortunately, that is also my experience.)

Did you contact <Dell.Client.Kernel@dell.com>?
Comment 12 Esokrarkose 2021-12-15 17:25:56 UTC
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.
Comment 13 Andrea Ippolito 2021-12-17 07:40:13 UTC
Same on an Inspiron 5310 (13").
Kernel 5.15.7-1-default on opensuse Tumbleweed.
Comment 14 Artyom 2022-01-23 16:22:20 UTC
Same on an Lenovo Yoga Slim (13").
Kernel 5.16.1-1-default on opensuse Tumbleweed. (on 5.15 and older too)

Note You need to log in before you can comment on or make changes to this bug.