2023-03-07 19:40:48

by Bjorn Helgaas

[permalink] [raw]
Subject: [PATCH 0/2] PCI/AER: Remove redundant Device Control Error Reporting Enable

From: Bjorn Helgaas <[email protected]>

Since f26e58bf6f54 ("PCI/AER: Enable error reporting when AER is native"),
which appeared in v6.0, the PCI core has enabled PCIe error reporting for
all devices during enumeration.

Remove driver code to do this and remove unnecessary includes of
<linux/aer.h>.

Bjorn Helgaas (2):
dmaengine: ioat: Drop redundant pci_enable_pcie_error_reporting()
dmaengine: idxd: Remove unnecessary aer.h include

drivers/dma/idxd/init.c | 1 -
drivers/dma/ioat/init.c | 6 ------
2 files changed, 7 deletions(-)

--
2.25.1



2023-03-07 19:40:52

by Bjorn Helgaas

[permalink] [raw]
Subject: [PATCH 1/2] dmaengine: ioat: Drop redundant pci_enable_pcie_error_reporting()

From: Bjorn Helgaas <[email protected]>

pci_enable_pcie_error_reporting() enables the device to send ERR_*
Messages. Since f26e58bf6f54 ("PCI/AER: Enable error reporting when AER is
native"), the PCI core does this for all devices during enumeration, so the
driver doesn't need to do it itself.

Remove the redundant pci_enable_pcie_error_reporting() call from the
driver. Also remove the corresponding pci_disable_pcie_error_reporting()
from the driver .remove() path.

Note that this only controls ERR_* Messages from the device. An ERR_*
Message may cause the Root Port to generate an interrupt, depending on the
AER Root Error Command register managed by the AER service driver.

Signed-off-by: Bjorn Helgaas <[email protected]>
---
drivers/dma/ioat/init.c | 6 ------
1 file changed, 6 deletions(-)

diff --git a/drivers/dma/ioat/init.c b/drivers/dma/ioat/init.c
index 5d707ff63554..6ca62edf47bd 100644
--- a/drivers/dma/ioat/init.c
+++ b/drivers/dma/ioat/init.c
@@ -15,7 +15,6 @@
#include <linux/workqueue.h>
#include <linux/prefetch.h>
#include <linux/dca.h>
-#include <linux/aer.h>
#include <linux/sizes.h>
#include "dma.h"
#include "registers.h"
@@ -1380,15 +1379,11 @@ static int ioat_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
if (is_skx_ioat(pdev))
device->version = IOAT_VER_3_2;
err = ioat3_dma_probe(device, ioat_dca_enabled);
-
- if (device->version >= IOAT_VER_3_3)
- pci_enable_pcie_error_reporting(pdev);
} else
return -ENODEV;

if (err) {
dev_err(dev, "Intel(R) I/OAT DMA Engine init failed\n");
- pci_disable_pcie_error_reporting(pdev);
return -ENODEV;
}

@@ -1411,7 +1406,6 @@ static void ioat_remove(struct pci_dev *pdev)
device->dca = NULL;
}

- pci_disable_pcie_error_reporting(pdev);
ioat_dma_remove(device);
}

--
2.25.1


2023-03-07 19:40:54

by Bjorn Helgaas

[permalink] [raw]
Subject: [PATCH 2/2] dmaengine: idxd: Remove unnecessary aer.h include

From: Bjorn Helgaas <[email protected]>

<linux/aer.h> is unused, so remove it.

Signed-off-by: Bjorn Helgaas <[email protected]>
Cc: Fenghua Yu <[email protected]>
Cc: Dave Jiang <[email protected]>
---
drivers/dma/idxd/init.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/drivers/dma/idxd/init.c b/drivers/dma/idxd/init.c
index 640d3048368e..a85efcda7095 100644
--- a/drivers/dma/idxd/init.c
+++ b/drivers/dma/idxd/init.c
@@ -9,7 +9,6 @@
#include <linux/delay.h>
#include <linux/dma-mapping.h>
#include <linux/workqueue.h>
-#include <linux/aer.h>
#include <linux/fs.h>
#include <linux/io-64-nonatomic-lo-hi.h>
#include <linux/device.h>
--
2.25.1


2023-03-07 20:06:25

by Dave Jiang

[permalink] [raw]
Subject: Re: [PATCH 1/2] dmaengine: ioat: Drop redundant pci_enable_pcie_error_reporting()



On 3/7/23 12:26 PM, Bjorn Helgaas wrote:
> From: Bjorn Helgaas <[email protected]>
>
> pci_enable_pcie_error_reporting() enables the device to send ERR_*
> Messages. Since f26e58bf6f54 ("PCI/AER: Enable error reporting when AER is
> native"), the PCI core does this for all devices during enumeration, so the
> driver doesn't need to do it itself.
>
> Remove the redundant pci_enable_pcie_error_reporting() call from the
> driver. Also remove the corresponding pci_disable_pcie_error_reporting()
> from the driver .remove() path.
>
> Note that this only controls ERR_* Messages from the device. An ERR_*
> Message may cause the Root Port to generate an interrupt, depending on the
> AER Root Error Command register managed by the AER service driver.
>
> Signed-off-by: Bjorn Helgaas <[email protected]>

Acked-by: Dave Jiang <[email protected]>

> ---
> drivers/dma/ioat/init.c | 6 ------
> 1 file changed, 6 deletions(-)
>
> diff --git a/drivers/dma/ioat/init.c b/drivers/dma/ioat/init.c
> index 5d707ff63554..6ca62edf47bd 100644
> --- a/drivers/dma/ioat/init.c
> +++ b/drivers/dma/ioat/init.c
> @@ -15,7 +15,6 @@
> #include <linux/workqueue.h>
> #include <linux/prefetch.h>
> #include <linux/dca.h>
> -#include <linux/aer.h>
> #include <linux/sizes.h>
> #include "dma.h"
> #include "registers.h"
> @@ -1380,15 +1379,11 @@ static int ioat_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
> if (is_skx_ioat(pdev))
> device->version = IOAT_VER_3_2;
> err = ioat3_dma_probe(device, ioat_dca_enabled);
> -
> - if (device->version >= IOAT_VER_3_3)
> - pci_enable_pcie_error_reporting(pdev);
> } else
> return -ENODEV;
>
> if (err) {
> dev_err(dev, "Intel(R) I/OAT DMA Engine init failed\n");
> - pci_disable_pcie_error_reporting(pdev);
> return -ENODEV;
> }
>
> @@ -1411,7 +1406,6 @@ static void ioat_remove(struct pci_dev *pdev)
> device->dca = NULL;
> }
>
> - pci_disable_pcie_error_reporting(pdev);
> ioat_dma_remove(device);
> }
>

2023-03-07 20:06:34

by Dave Jiang

[permalink] [raw]
Subject: Re: [PATCH 2/2] dmaengine: idxd: Remove unnecessary aer.h include



On 3/7/23 12:26 PM, Bjorn Helgaas wrote:
> From: Bjorn Helgaas <[email protected]>
>
> <linux/aer.h> is unused, so remove it.
>
> Signed-off-by: Bjorn Helgaas <[email protected]>
> Cc: Fenghua Yu <[email protected]>
> Cc: Dave Jiang <[email protected]>

Acked-by: Dave Jiang <[email protected]>

> ---
> drivers/dma/idxd/init.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/drivers/dma/idxd/init.c b/drivers/dma/idxd/init.c
> index 640d3048368e..a85efcda7095 100644
> --- a/drivers/dma/idxd/init.c
> +++ b/drivers/dma/idxd/init.c
> @@ -9,7 +9,6 @@
> #include <linux/delay.h>
> #include <linux/dma-mapping.h>
> #include <linux/workqueue.h>
> -#include <linux/aer.h>
> #include <linux/fs.h>
> #include <linux/io-64-nonatomic-lo-hi.h>
> #include <linux/device.h>

2023-03-07 20:57:14

by Fenghua Yu

[permalink] [raw]
Subject: Re: [PATCH 2/2] dmaengine: idxd: Remove unnecessary aer.h include



On 3/7/23 11:26, Bjorn Helgaas wrote:
> From: Bjorn Helgaas <[email protected]>
>
> <linux/aer.h> is unused, so remove it.
>
> Signed-off-by: Bjorn Helgaas <[email protected]>
> Cc: Fenghua Yu <[email protected]>
> Cc: Dave Jiang <[email protected]>

Acked-by: Fenghua Yu <[email protected]>

Thanks.

-Fenghua

2023-03-17 17:47:06

by Vinod Koul

[permalink] [raw]
Subject: Re: [PATCH 0/2] PCI/AER: Remove redundant Device Control Error Reporting Enable

On 07-03-23, 13:26, Bjorn Helgaas wrote:
> From: Bjorn Helgaas <[email protected]>
>
> Since f26e58bf6f54 ("PCI/AER: Enable error reporting when AER is native"),
> which appeared in v6.0, the PCI core has enabled PCIe error reporting for
> all devices during enumeration.
>
> Remove driver code to do this and remove unnecessary includes of
> <linux/aer.h>.

Applied, thanks

--
~Vinod