[1/2] dmaengine: ioat: Drop redundant pci_enable_pcie_error_reporting()

Message ID 20230307192655.874008-2-helgaas@kernel.org
State New
Headers
Series PCI/AER: Remove redundant Device Control Error Reporting Enable |

Commit Message

Bjorn Helgaas March 7, 2023, 7:26 p.m. UTC
  From: Bjorn Helgaas <bhelgaas@google.com>

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 <bhelgaas@google.com>
---
 drivers/dma/ioat/init.c | 6 ------
 1 file changed, 6 deletions(-)
  

Comments

Dave Jiang March 7, 2023, 8:06 p.m. UTC | #1
On 3/7/23 12:26 PM, Bjorn Helgaas wrote:
> From: Bjorn Helgaas <bhelgaas@google.com>
> 
> 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 <bhelgaas@google.com>

Acked-by: Dave Jiang <dave.jiang@intel.com>

> ---
>   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);
>   }
>
  

Patch

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);
 }