Re: [PATCH] PCI/DPC: Quirk PIO log size for Intel Raptor Lake Root Ports

From: Bjorn Helgaas
Date: Tue Mar 05 2024 - 13:23:32 EST


On Tue, Mar 05, 2024 at 12:30:56PM +0100, Paul Menzel wrote:
> Commit 5459c0b70467 ("PCI/DPC: Quirk PIO log size for certain Intel Root
> Ports") and commit 3b8803494a06 ("PCI/DPC: Quirk PIO log size for Intel Ice
> Lake Root Ports") add quirks for Ice, Tiger and Alder Lake Root Ports.
> System firmware for Raptor Lake still has the bug, so Linux logs the
> warning below on several Raptor Lake systems like Dell Precision 3581 with
> Intel Raptor Lake processor (0W18NX) system firmware/BIOS version 1.10.1.
>
> pci 0000:00:07.0: [8086:a76e] type 01 class 0x060400
> pci 0000:00:07.0: PME# supported from D0 D3hot D3cold
> pci 0000:00:07.0: PTM enabled (root), 4ns granularity
> pci 0000:00:07.0: DPC: RP PIO log size 0 is invalid
> pci 0000:00:07.1: [8086:a73f] type 01 class 0x060400
> pci 0000:00:07.1: PME# supported from D0 D3hot D3cold
> pci 0000:00:07.1: PTM enabled (root), 4ns granularity
> pci 0000:00:07.1: DPC: RP PIO log size 0 is invalid
>
> So, apply the quirk for Raptor Lake Root Ports as well.
>
> This also enables the DPC driver to dump the RP PIO Log registers when DPC
> is triggered.
>
> Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218560
> Cc: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>
> Cc: nvaert1986@xxxxxxxxxxx
> Signed-off-by: Paul Menzel <pmenzel@xxxxxxxxxxxxx>

Added stable tag and applied to pci/dpc for v6.9 with tags:

Reported-by: <nvaert1986@xxxxxxxxxxx>
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218560
Signed-off-by: Paul Menzel <pmenzel@xxxxxxxxxxxxx>
Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
Cc: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>
Cc: <nvaert1986@xxxxxxxxxxx>

nvaert1986@, thanks very much for your report. Let me know if you
prefer to omit your email or add your real name. Happy to do either.

> ---
> drivers/pci/quirks.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
> index d797df6e5f3e..663d838fa861 100644
> --- a/drivers/pci/quirks.c
> +++ b/drivers/pci/quirks.c
> @@ -6225,6 +6225,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x9a2b, dpc_log_size);
> DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x9a2d, dpc_log_size);
> DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x9a2f, dpc_log_size);
> DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x9a31, dpc_log_size);
> +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0xa73f, dpc_log_size);
> +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0xa76e, dpc_log_size);
> #endif
>
> /*
> --
> 2.43.0
>