linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] PCI/AER: Support errors introduced by PCIe r6.0
@ 2025-08-27 13:41 Lukas Wunner
  2025-08-27 19:26 ` Bjorn Helgaas
  2025-08-27 19:56 ` Sathyanarayanan Kuppuswamy
  0 siblings, 2 replies; 5+ messages in thread
From: Lukas Wunner @ 2025-08-27 13:41 UTC (permalink / raw)
  To: Bjorn Helgaas
  Cc: Ilpo Jarvinen, Sathyanarayanan Kuppuswamy, Mahesh J Salgaonkar,
	Oliver OHalloran, linuxppc-dev, linux-pci

PCIe r6.0 defined five additional errors in the Uncorrectable Error
Status, Mask and Severity Registers (PCIe r7.0 sec 7.8.4.2ff).

lspci has been supporting them since commit 144b0911cc0b ("ls-ecaps:
extend decode support for more fields for AER CE and UE status"):

https://git.kernel.org/pub/scm/utils/pciutils/pciutils.git/commit/?id=144b0911cc0b

Amend the AER driver to recognize them as well, instead of logging them as
"Unknown Error Bit".

Signed-off-by: Lukas Wunner <lukas@wunner.de>
Cc: stable@vger.kernel.org
---
Last amendment of aer_uncorrectable_error_string[] was in 2019 for an
error introduced in PCIe r3.1, see commit 6458b438ebc1 ("PCI/AER: Add
PoisonTLPBlocked to Uncorrectable error counters").

 drivers/pci/pcie/aer.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/pci/pcie/aer.c b/drivers/pci/pcie/aer.c
index e286c19..15ed541 100644
--- a/drivers/pci/pcie/aer.c
+++ b/drivers/pci/pcie/aer.c
@@ -43,7 +43,7 @@
 #define AER_ERROR_SOURCES_MAX		128
 
 #define AER_MAX_TYPEOF_COR_ERRS		16	/* as per PCI_ERR_COR_STATUS */
-#define AER_MAX_TYPEOF_UNCOR_ERRS	27	/* as per PCI_ERR_UNCOR_STATUS*/
+#define AER_MAX_TYPEOF_UNCOR_ERRS	32	/* as per PCI_ERR_UNCOR_STATUS*/
 
 struct aer_err_source {
 	u32 status;			/* PCI_ERR_ROOT_STATUS */
@@ -525,11 +525,11 @@ void pci_aer_exit(struct pci_dev *dev)
 	"AtomicOpBlocked",		/* Bit Position 24	*/
 	"TLPBlockedErr",		/* Bit Position 25	*/
 	"PoisonTLPBlocked",		/* Bit Position 26	*/
-	NULL,				/* Bit Position 27	*/
-	NULL,				/* Bit Position 28	*/
-	NULL,				/* Bit Position 29	*/
-	NULL,				/* Bit Position 30	*/
-	NULL,				/* Bit Position 31	*/
+	"DMWrReqBlocked",		/* Bit Position 27	*/
+	"IDECheck",			/* Bit Position 28	*/
+	"MisIDETLP",			/* Bit Position 29	*/
+	"PCRC_CHECK",			/* Bit Position 30	*/
+	"TLPXlatBlocked",		/* Bit Position 31	*/
 };
 
 static const char *aer_agent_string[] = {
-- 
2.47.2


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] PCI/AER: Support errors introduced by PCIe r6.0
  2025-08-27 13:41 [PATCH] PCI/AER: Support errors introduced by PCIe r6.0 Lukas Wunner
@ 2025-08-27 19:26 ` Bjorn Helgaas
  2025-08-27 19:56 ` Sathyanarayanan Kuppuswamy
  1 sibling, 0 replies; 5+ messages in thread
From: Bjorn Helgaas @ 2025-08-27 19:26 UTC (permalink / raw)
  To: Lukas Wunner
  Cc: Ilpo Jarvinen, Sathyanarayanan Kuppuswamy, Mahesh J Salgaonkar,
	Oliver OHalloran, linuxppc-dev, linux-pci

On Wed, Aug 27, 2025 at 03:41:09PM +0200, Lukas Wunner wrote:
> PCIe r6.0 defined five additional errors in the Uncorrectable Error
> Status, Mask and Severity Registers (PCIe r7.0 sec 7.8.4.2ff).
> 
> lspci has been supporting them since commit 144b0911cc0b ("ls-ecaps:
> extend decode support for more fields for AER CE and UE status"):
> 
> https://git.kernel.org/pub/scm/utils/pciutils/pciutils.git/commit/?id=144b0911cc0b
> 
> Amend the AER driver to recognize them as well, instead of logging them as
> "Unknown Error Bit".
> 
> Signed-off-by: Lukas Wunner <lukas@wunner.de>
> Cc: stable@vger.kernel.org

Applied to pci/aer for v6.18, thanks, Lukas!

> ---
> Last amendment of aer_uncorrectable_error_string[] was in 2019 for an
> error introduced in PCIe r3.1, see commit 6458b438ebc1 ("PCI/AER: Add
> PoisonTLPBlocked to Uncorrectable error counters").
> 
>  drivers/pci/pcie/aer.c | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/pci/pcie/aer.c b/drivers/pci/pcie/aer.c
> index e286c19..15ed541 100644
> --- a/drivers/pci/pcie/aer.c
> +++ b/drivers/pci/pcie/aer.c
> @@ -43,7 +43,7 @@
>  #define AER_ERROR_SOURCES_MAX		128
>  
>  #define AER_MAX_TYPEOF_COR_ERRS		16	/* as per PCI_ERR_COR_STATUS */
> -#define AER_MAX_TYPEOF_UNCOR_ERRS	27	/* as per PCI_ERR_UNCOR_STATUS*/
> +#define AER_MAX_TYPEOF_UNCOR_ERRS	32	/* as per PCI_ERR_UNCOR_STATUS*/
>  
>  struct aer_err_source {
>  	u32 status;			/* PCI_ERR_ROOT_STATUS */
> @@ -525,11 +525,11 @@ void pci_aer_exit(struct pci_dev *dev)
>  	"AtomicOpBlocked",		/* Bit Position 24	*/
>  	"TLPBlockedErr",		/* Bit Position 25	*/
>  	"PoisonTLPBlocked",		/* Bit Position 26	*/
> -	NULL,				/* Bit Position 27	*/
> -	NULL,				/* Bit Position 28	*/
> -	NULL,				/* Bit Position 29	*/
> -	NULL,				/* Bit Position 30	*/
> -	NULL,				/* Bit Position 31	*/
> +	"DMWrReqBlocked",		/* Bit Position 27	*/
> +	"IDECheck",			/* Bit Position 28	*/
> +	"MisIDETLP",			/* Bit Position 29	*/
> +	"PCRC_CHECK",			/* Bit Position 30	*/
> +	"TLPXlatBlocked",		/* Bit Position 31	*/
>  };
>  
>  static const char *aer_agent_string[] = {
> -- 
> 2.47.2
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] PCI/AER: Support errors introduced by PCIe r6.0
  2025-08-27 13:41 [PATCH] PCI/AER: Support errors introduced by PCIe r6.0 Lukas Wunner
  2025-08-27 19:26 ` Bjorn Helgaas
@ 2025-08-27 19:56 ` Sathyanarayanan Kuppuswamy
  2025-08-28  5:52   ` Lukas Wunner
  1 sibling, 1 reply; 5+ messages in thread
From: Sathyanarayanan Kuppuswamy @ 2025-08-27 19:56 UTC (permalink / raw)
  To: Lukas Wunner, Bjorn Helgaas
  Cc: Ilpo Jarvinen, Mahesh J Salgaonkar, Oliver OHalloran,
	linuxppc-dev, linux-pci


On 8/27/25 6:41 AM, Lukas Wunner wrote:
> PCIe r6.0 defined five additional errors in the Uncorrectable Error
> Status, Mask and Severity Registers (PCIe r7.0 sec 7.8.4.2ff).

is 2ff a typo ?

>
> lspci has been supporting them since commit 144b0911cc0b ("ls-ecaps:
> extend decode support for more fields for AER CE and UE status"):
>
> https://git.kernel.org/pub/scm/utils/pciutils/pciutils.git/commit/?id=144b0911cc0b
>
> Amend the AER driver to recognize them as well, instead of logging them as
> "Unknown Error Bit".
>
> Signed-off-by: Lukas Wunner <lukas@wunner.de>
> Cc: stable@vger.kernel.org
> ---

Reviewed-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>

> Last amendment of aer_uncorrectable_error_string[] was in 2019 for an
> error introduced in PCIe r3.1, see commit 6458b438ebc1 ("PCI/AER: Add
> PoisonTLPBlocked to Uncorrectable error counters").
>
>   drivers/pci/pcie/aer.c | 12 ++++++------
>   1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/pci/pcie/aer.c b/drivers/pci/pcie/aer.c
> index e286c19..15ed541 100644
> --- a/drivers/pci/pcie/aer.c
> +++ b/drivers/pci/pcie/aer.c
> @@ -43,7 +43,7 @@
>   #define AER_ERROR_SOURCES_MAX		128
>   
>   #define AER_MAX_TYPEOF_COR_ERRS		16	/* as per PCI_ERR_COR_STATUS */
> -#define AER_MAX_TYPEOF_UNCOR_ERRS	27	/* as per PCI_ERR_UNCOR_STATUS*/
> +#define AER_MAX_TYPEOF_UNCOR_ERRS	32	/* as per PCI_ERR_UNCOR_STATUS*/
>   
>   struct aer_err_source {
>   	u32 status;			/* PCI_ERR_ROOT_STATUS */
> @@ -525,11 +525,11 @@ void pci_aer_exit(struct pci_dev *dev)
>   	"AtomicOpBlocked",		/* Bit Position 24	*/
>   	"TLPBlockedErr",		/* Bit Position 25	*/
>   	"PoisonTLPBlocked",		/* Bit Position 26	*/
> -	NULL,				/* Bit Position 27	*/
> -	NULL,				/* Bit Position 28	*/
> -	NULL,				/* Bit Position 29	*/
> -	NULL,				/* Bit Position 30	*/
> -	NULL,				/* Bit Position 31	*/
> +	"DMWrReqBlocked",		/* Bit Position 27	*/
> +	"IDECheck",			/* Bit Position 28	*/
> +	"MisIDETLP",			/* Bit Position 29	*/
> +	"PCRC_CHECK",			/* Bit Position 30	*/
> +	"TLPXlatBlocked",		/* Bit Position 31	*/
>   };
>   
>   static const char *aer_agent_string[] = {

-- 
Sathyanarayanan Kuppuswamy
Linux Kernel Developer


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] PCI/AER: Support errors introduced by PCIe r6.0
  2025-08-27 19:56 ` Sathyanarayanan Kuppuswamy
@ 2025-08-28  5:52   ` Lukas Wunner
  2025-08-28  6:24     ` Sathyanarayanan Kuppuswamy
  0 siblings, 1 reply; 5+ messages in thread
From: Lukas Wunner @ 2025-08-28  5:52 UTC (permalink / raw)
  To: Sathyanarayanan Kuppuswamy
  Cc: Bjorn Helgaas, Ilpo Jarvinen, Mahesh J Salgaonkar,
	Oliver OHalloran, linuxppc-dev, linux-pci

On Wed, Aug 27, 2025 at 12:56:41PM -0700, Sathyanarayanan Kuppuswamy wrote:
> On 8/27/25 6:41 AM, Lukas Wunner wrote:
> > PCIe r6.0 defined five additional errors in the Uncorrectable Error
> > Status, Mask and Severity Registers (PCIe r7.0 sec 7.8.4.2ff).
> 
> is 2ff a typo ?

"ff" means "and following" (pages, etc), according to:
https://en.wiktionary.org/wiki/ff

Section 7.8.4.2 is the Status Register.  The Mask and Severity Registers
are specified in the following sections 7.8.4.3 and 7.8.4.4.

Thanks,

Lukas

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] PCI/AER: Support errors introduced by PCIe r6.0
  2025-08-28  5:52   ` Lukas Wunner
@ 2025-08-28  6:24     ` Sathyanarayanan Kuppuswamy
  0 siblings, 0 replies; 5+ messages in thread
From: Sathyanarayanan Kuppuswamy @ 2025-08-28  6:24 UTC (permalink / raw)
  To: Lukas Wunner
  Cc: Bjorn Helgaas, Ilpo Jarvinen, Mahesh J Salgaonkar,
	Oliver OHalloran, linuxppc-dev, linux-pci


On 8/27/25 10:52 PM, Lukas Wunner wrote:
> On Wed, Aug 27, 2025 at 12:56:41PM -0700, Sathyanarayanan Kuppuswamy wrote:
>> On 8/27/25 6:41 AM, Lukas Wunner wrote:
>>> PCIe r6.0 defined five additional errors in the Uncorrectable Error
>>> Status, Mask and Severity Registers (PCIe r7.0 sec 7.8.4.2ff).
>> is 2ff a typo ?
> "ff" means "and following" (pages, etc), according to:
> https://en.wiktionary.org/wiki/ff
>
> Section 7.8.4.2 is the Status Register.  The Mask and Severity Registers
> are specified in the following sections 7.8.4.3 and 7.8.4.4.

Got it, thanks for clarifying. I wasn’t familiar with the "ff" notation.



>
> Thanks,
>
> Lukas

-- 
Sathyanarayanan Kuppuswamy
Linux Kernel Developer


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2025-08-28  6:24 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-27 13:41 [PATCH] PCI/AER: Support errors introduced by PCIe r6.0 Lukas Wunner
2025-08-27 19:26 ` Bjorn Helgaas
2025-08-27 19:56 ` Sathyanarayanan Kuppuswamy
2025-08-28  5:52   ` Lukas Wunner
2025-08-28  6:24     ` Sathyanarayanan Kuppuswamy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).