crypto: remove unnecessary PCI error handling
Subsystems (5)
cover crypto: remove unnecessary PCI error handling
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 (qat_4xxx) and remove unnecessary includes of <linux/aer.h> from several other drivers.
Bjorn Helgaas (6):
crypto: qat - drop redundant adf_enable_aer()
crypto: cavium/nitrox - remove unnecessary aer.h include
crypto: hisilicon/hpre - remove unnecessary aer.h include
crypto: hisilicon/qm - remove unnecessary aer.h include
crypto: hisilicon/sec - remove unnecessary aer.h include
crypto: hisilicon/zip - remove unnecessary aer.h include
drivers/crypto/cavium/nitrox/nitrox_main.c | 1 - drivers/crypto/hisilicon/hpre/hpre_main.c | 1 - drivers/crypto/hisilicon/qm.c | 1 - drivers/crypto/hisilicon/sec2/sec_main.c | 1 - drivers/crypto/hisilicon/zip/zip_main.c | 1 - drivers/crypto/qat/qat_4xxx/adf_drv.c | 11 ++---- drivers/crypto/qat/qat_c3xxx/adf_drv.c | 9 ++--- drivers/crypto/qat/qat_c62x/adf_drv.c | 9 ++--- drivers/crypto/qat/qat_common/adf_aer.c | 35 ------------------- .../crypto/qat/qat_common/adf_common_drv.h | 2 -- drivers/crypto/qat/qat_dh895xcc/adf_drv.c | 9 ++--- 11 files changed, 9 insertions(+), 71 deletions(-)
Signature · 1 line
2.25.1
PATCH 1/6 crypto: qat - drop redundant adf_enable_aer()
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.
--- drivers/crypto/qat/qat_4xxx/adf_drv.c | 11 ++---- drivers/crypto/qat/qat_c3xxx/adf_drv.c | 9 ++--- drivers/crypto/qat/qat_c62x/adf_drv.c | 9 ++--- drivers/crypto/qat/qat_common/adf_aer.c | 35 ------------------- .../crypto/qat/qat_common/adf_common_drv.h | 2 -- drivers/crypto/qat/qat_dh895xcc/adf_drv.c | 9 ++--- 6 files changed, 9 insertions(+), 66 deletions(-)
drivers/crypto/qat/qat_4xxx/adf_drv.c +3 -8
@@ -403,21 +403,19 @@ static int adf_probe(struct pci_dev *pdev, const struct pci_device_id *ent)pci_set_master (pdev); -adf_enable_aer (accel_dev); -if (pci_save_state (pdev)) {dev_err (&pdev->dev,"Failed to save pci state.\n" ); ret = -ENOMEM ; - goto out_err_disable_aer; + goto out_err; } ret =adf_sysfs_init (accel_dev);if (ret) - goto out_err_disable_aer; + goto out_err; ret = hw_data->dev_config (accel_dev);if (ret) - goto out_err_disable_aer; + goto out_err; ret =adf_dev_init (accel_dev);if (ret)
@@ -433,8 +431,6 @@ static int adf_probe(struct pci_dev *pdev, const struct pci_device_id *ent)adf_dev_stop (accel_dev); out_err_dev_shutdown:adf_dev_shutdown (accel_dev); -out_err_disable_aer: -adf_disable_aer (accel_dev); out_err:adf_cleanup_accel (accel_dev);return ret;
@@ -450,7 +446,6 @@ static void adf_remove(struct pci_dev *pdev) }adf_dev_stop (accel_dev);adf_dev_shutdown (accel_dev); -adf_disable_aer (accel_dev);adf_cleanup_accel (accel_dev); }
drivers/crypto/qat/qat_c3xxx/adf_drv.c +2 -7
@@ -193,17 +193,15 @@ static int adf_probe(struct pci_dev *pdev, const struct pci_device_id *ent) }pci_set_master (pdev); -adf_enable_aer (accel_dev); -if (pci_save_state (pdev)) {dev_err (&pdev->dev,"Failed to save pci state\n" ); ret = -ENOMEM ; - goto out_err_disable_aer; + goto out_err_free_reg; } ret = hw_data->dev_config (accel_dev);if (ret) - goto out_err_disable_aer; + goto out_err_free_reg; ret =adf_dev_init (accel_dev);if (ret)
@@ -219,8 +217,6 @@ static int adf_probe(struct pci_dev *pdev, const struct pci_device_id *ent)adf_dev_stop (accel_dev); out_err_dev_shutdown:adf_dev_shutdown (accel_dev); -out_err_disable_aer: -adf_disable_aer (accel_dev); out_err_free_reg:pci_release_regions (accel_pci_dev->pci_dev); out_err_disable:
@@ -241,7 +237,6 @@ static void adf_remove(struct pci_dev *pdev) }adf_dev_stop (accel_dev);adf_dev_shutdown (accel_dev); -adf_disable_aer (accel_dev);adf_cleanup_accel (accel_dev);adf_cleanup_pci_dev (accel_dev);kfree (accel_dev);
drivers/crypto/qat/qat_c62x/adf_drv.c +2 -7
@@ -193,17 +193,15 @@ static int adf_probe(struct pci_dev *pdev, const struct pci_device_id *ent) }pci_set_master (pdev); -adf_enable_aer (accel_dev); -if (pci_save_state (pdev)) {dev_err (&pdev->dev,"Failed to save pci state\n" ); ret = -ENOMEM ; - goto out_err_disable_aer; + goto out_err_free_reg; } ret = hw_data->dev_config (accel_dev);if (ret) - goto out_err_disable_aer; + goto out_err_free_reg; ret =adf_dev_init (accel_dev);if (ret)
@@ -219,8 +217,6 @@ static int adf_probe(struct pci_dev *pdev, const struct pci_device_id *ent)adf_dev_stop (accel_dev); out_err_dev_shutdown:adf_dev_shutdown (accel_dev); -out_err_disable_aer: -adf_disable_aer (accel_dev); out_err_free_reg:pci_release_regions (accel_pci_dev->pci_dev); out_err_disable:
@@ -241,7 +237,6 @@ static void adf_remove(struct pci_dev *pdev) }adf_dev_stop (accel_dev);adf_dev_shutdown (accel_dev); -adf_disable_aer (accel_dev);adf_cleanup_accel (accel_dev);adf_cleanup_pci_dev (accel_dev);kfree (accel_dev);
drivers/crypto/qat/qat_common/adf_aer.c +0 -35
@@ -2,7 +2,6 @@/* Copyright(c) 2014 - 2020 Intel Corporation */ #include <linux/kernel.h> #include <linux/pci.h> -#include <linux/aer.h> #include <linux/completion.h> #include <linux/workqueue.h> #include <linux/delay.h>
@@ -173,40 +172,6 @@ const struct pci_error_handlers adf_err_handler = { };EXPORT_SYMBOL_GPL (adf_err_handler); -/** -* adf_enable_aer() - Enable Advance Error Reporting for acceleration device -* @accel_dev: Pointer to acceleration device. -* -* Function enables PCI Advance Error Reporting for the -* QAT acceleration device accel_dev. -* To be used by QAT device specific drivers. -*/ -void adf_enable_aer (struct adf_accel_dev *accel_dev) -{ -struct pci_dev *pdev =accel_to_pci_dev (accel_dev); - -pci_enable_pcie_error_reporting (pdev); -} -EXPORT_SYMBOL_GPL (adf_enable_aer); - -/** -* adf_disable_aer() - Disable Advance Error Reporting for acceleration device -* @accel_dev: Pointer to acceleration device. -* -* Function disables PCI Advance Error Reporting for the -* QAT acceleration device accel_dev. -* To be used by QAT device specific drivers. -* -* Return: void -*/ -void adf_disable_aer (struct adf_accel_dev *accel_dev) -{ -struct pci_dev *pdev =accel_to_pci_dev (accel_dev); - -pci_disable_pcie_error_reporting (pdev); -} -EXPORT_SYMBOL_GPL (adf_disable_aer); -int adf_init_aer (void ) { device_reset_wq = alloc_workqueue("qat_device_reset_wq",
drivers/crypto/qat/qat_common/adf_common_drv.h +0 -2
@@ -88,8 +88,6 @@ int adf_ae_start(struct adf_accel_dev *accel_dev);int adf_ae_stop (struct adf_accel_dev *accel_dev);extern const struct pci_error_handlers adf_err_handler; -void adf_enable_aer (struct adf_accel_dev *accel_dev); -void adf_disable_aer (struct adf_accel_dev *accel_dev);void adf_reset_sbr (struct adf_accel_dev *accel_dev);void adf_reset_flr (struct adf_accel_dev *accel_dev);void adf_dev_restore (struct adf_accel_dev *accel_dev);
drivers/crypto/qat/qat_dh895xcc/adf_drv.c +2 -7
@@ -193,17 +193,15 @@ static int adf_probe(struct pci_dev *pdev, const struct pci_device_id *ent) }pci_set_master (pdev); -adf_enable_aer (accel_dev); -if (pci_save_state (pdev)) {dev_err (&pdev->dev,"Failed to save pci state\n" ); ret = -ENOMEM ; - goto out_err_disable_aer; + goto out_err_free_reg; } ret = hw_data->dev_config (accel_dev);if (ret) - goto out_err_disable_aer; + goto out_err_free_reg; ret =adf_dev_init (accel_dev);if (ret)
@@ -219,8 +217,6 @@ static int adf_probe(struct pci_dev *pdev, const struct pci_device_id *ent)adf_dev_stop (accel_dev); out_err_dev_shutdown:adf_dev_shutdown (accel_dev); -out_err_disable_aer: -adf_disable_aer (accel_dev); out_err_free_reg:pci_release_regions (accel_pci_dev->pci_dev); out_err_disable:
@@ -241,7 +237,6 @@ static void adf_remove(struct pci_dev *pdev) }adf_dev_stop (accel_dev);adf_dev_shutdown (accel_dev); -adf_disable_aer (accel_dev);adf_cleanup_accel (accel_dev);adf_cleanup_pci_dev (accel_dev);kfree (accel_dev);
Signature · 1 line
2.25.1
Re: [PATCH 1/6] crypto: qat - drop redundant adf_enable_aer()
Quoted 11 lines · Bjorn Helgaas
From: Bjorn Helgaas <[email protected]>
pci_enable_pcie_error_reporting()enables the device to send ERR_* Messages. Sincef26e58bf6f54("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 correspondingpci_disable_pcie_error_reporting()from the driver .remove() path.
Quoted 7 lines
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]>Cc Giovanni Cabiddu <[email protected]>
Reviewed and tried on c62x and 4xxx.
Just a note. This patch will not apply cleanly after [1] is applied.
[1] https://patchwork.kernel.org/project/linux-crypto/patch/[email protected]/
Regards,
Signature · 1 line
Giovanni
PATCH 2/6 crypto: cavium/nitrox - remove unnecessary aer.h include
In reply to Bjorn HelgaasFrom: Bjorn Helgaas <[email protected]>
<linux/aer.h> is unused, so remove it.
--- drivers/crypto/cavium/nitrox/nitrox_main.c | 1 - 1 file changed, 1 deletion(-)
drivers/crypto/cavium/nitrox/nitrox_main.c +0 -1
@@ -1,5 +1,4 @@// SPDX-License-Identifier: GPL-2.0-only -#include <linux/aer.h> #include <linux/delay.h> #include <linux/firmware.h> #include <linux/list.h>
Signature · 1 line
2.25.1
PATCH 3/6 crypto: hisilicon/hpre - remove unnecessary aer.h include
In reply to Bjorn HelgaasFrom: Bjorn Helgaas <[email protected]>
<linux/aer.h> is unused, so remove it.
--- drivers/crypto/hisilicon/hpre/hpre_main.c | 1 - 1 file changed, 1 deletion(-)
drivers/crypto/hisilicon/hpre/hpre_main.c +0 -1
@@ -1,7 +1,6 @@// SPDX-License-Identifier: GPL-2.0 /* Copyright (c) 2018-2019 HiSilicon Limited. */ #include <linux/acpi.h> -#include <linux/aer.h> #include <linux/bitops.h> #include <linux/debugfs.h> #include <linux/init.h>
Signature · 1 line
2.25.1
Re: [PATCH 3/6] crypto: hisilicon/hpre - remove unnecessary aer.h include
Quoted 16 lines · Bjorn Helgaas
From: Bjorn Helgaas <[email protected]>
<
linux/aer.h> is unused, so remove it.Signed-off-by Bjorn Helgaas <[email protected]>Cc Longfang Liu <[email protected]>--- drivers/crypto/hisilicon/hpre/hpre_main.c | 1 - 1 file changed, 1 deletion(-)drivers/crypto/hisilicon/hpre/hpre_main.c +0
-0
drivers/crypto/hisilicon/hpre/hpre_main.c line 6
Quoted 7 lines
drivers/crypto/hisilicon/hpre/hpre_main.c +0
-1@@ -1,7 +1,6 @@// SPDX-License-Identifier: GPL-2.0 /* Copyright (c) 2018-2019 HiSilicon Limited. */ #include <linux/acpi.h> -#include <linux/aer.h> #include <linux/bitops.h> #include <linux/debugfs.h> #include <linux/init.h>
Thanks.
PATCH 4/6 crypto: hisilicon/qm - remove unnecessary aer.h include
In reply to Bjorn HelgaasFrom: Bjorn Helgaas <[email protected]>
<linux/aer.h> is unused, so remove it.
--- drivers/crypto/hisilicon/qm.c | 1 - 1 file changed, 1 deletion(-)
drivers/crypto/hisilicon/qm.c +0 -1
@@ -2,7 +2,6 @@/* Copyright (c) 2019 HiSilicon Limited. */ #include <asm/page.h> #include <linux/acpi.h> -#include <linux/aer.h> #include <linux/bitmap.h> #include <linux/dma-mapping.h> #include <linux/idr.h>
Signature · 1 line
2.25.1
Re: [PATCH 4/6] crypto: hisilicon/qm - remove unnecessary aer.h include
Quoted 17 lines · Bjorn Helgaas
From: Bjorn Helgaas <[email protected]>
<
linux/aer.h> is unused, so remove it.Signed-off-by Bjorn Helgaas <[email protected]>Cc Weili Qian <[email protected]>Cc Zhou Wang <[email protected]>--- drivers/crypto/hisilicon/qm.c | 1 - 1 file changed, 1 deletion(-)drivers/crypto/hisilicon/qm.c +0
-0
drivers/crypto/hisilicon/qm.c line 7
Quoted 7 lines
drivers/crypto/hisilicon/qm.c +0
-1@@ -2,7 +2,6 @@/* Copyright (c) 2019 HiSilicon Limited. */ #include <asm/page.h> #include <linux/acpi.h> -#include <linux/aer.h> #include <linux/bitmap.h> #include <linux/dma-mapping.h> #include <linux/idr.h>
Thanks.
PATCH 5/6 crypto: hisilicon/sec - remove unnecessary aer.h include
In reply to Bjorn HelgaasFrom: Bjorn Helgaas <[email protected]>
<linux/aer.h> is unused, so remove it.
--- drivers/crypto/hisilicon/sec2/sec_main.c | 1 - 1 file changed, 1 deletion(-)
drivers/crypto/hisilicon/sec2/sec_main.c +0 -1
@@ -2,7 +2,6 @@/* Copyright (c) 2019 HiSilicon Limited. */ #include <linux/acpi.h> -#include <linux/aer.h> #include <linux/bitops.h> #include <linux/debugfs.h> #include <linux/init.h>
Signature · 1 line
2.25.1
Re: [PATCH 5/6] crypto: hisilicon/sec - remove unnecessary aer.h include
Quoted 17 lines · Bjorn Helgaas
From: Bjorn Helgaas <[email protected]>
<
linux/aer.h> is unused, so remove it.Signed-off-by Bjorn Helgaas <[email protected]>Cc Kai Ye <[email protected]>Cc Longfang Liu <[email protected]>--- drivers/crypto/hisilicon/sec2/sec_main.c | 1 - 1 file changed, 1 deletion(-)drivers/crypto/hisilicon/sec2/sec_main.c +0
-0
drivers/crypto/hisilicon/sec2/sec_main.c line 7
Quoted 7 lines
drivers/crypto/hisilicon/sec2/sec_main.c +0
-1@@ -2,7 +2,6 @@/* Copyright (c) 2019 HiSilicon Limited. */ #include <linux/acpi.h> -#include <linux/aer.h> #include <linux/bitops.h> #include <linux/debugfs.h> #include <linux/init.h>
Thanks.
PATCH 6/6 crypto: hisilicon/zip - remove unnecessary aer.h include
In reply to Bjorn HelgaasFrom: Bjorn Helgaas <[email protected]>
<linux/aer.h> is unused, so remove it.
--- drivers/crypto/hisilicon/zip/zip_main.c | 1 - 1 file changed, 1 deletion(-)
drivers/crypto/hisilicon/zip/zip_main.c +0 -1
@@ -1,7 +1,6 @@// SPDX-License-Identifier: GPL-2.0 /* Copyright (c) 2019 HiSilicon Limited. */ #include <linux/acpi.h> -#include <linux/aer.h> #include <linux/bitops.h> #include <linux/debugfs.h> #include <linux/init.h>
Signature · 1 line
2.25.1
Re: [PATCH 6/6] crypto: hisilicon/zip - remove unnecessary aer.h include
Quoted 18 lines · Bjorn Helgaas
From: Bjorn Helgaas <[email protected]>
<
linux/aer.h> is unused, so remove it.Signed-off-by Bjorn Helgaas <[email protected]>Cc Yang Shen <[email protected]>Cc Zhou Wang <[email protected]>Cc Nick Terrell <[email protected]>--- drivers/crypto/hisilicon/zip/zip_main.c | 1 - 1 file changed, 1 deletion(-)drivers/crypto/hisilicon/zip/zip_main.c +0
-0
drivers/crypto/hisilicon/zip/zip_main.c line 6
Quoted 7 lines
drivers/crypto/hisilicon/zip/zip_main.c +0
-1@@ -1,7 +1,6 @@// SPDX-License-Identifier: GPL-2.0 /* Copyright (c) 2019 HiSilicon Limited. */ #include <linux/acpi.h> -#include <linux/aer.h> #include <linux/bitops.h> #include <linux/debugfs.h> #include <linux/init.h>
Thanks.
Herbert Xu
maintainerQuoted 17 lines · Bjorn Helgaas
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 (
qat_4xxx) and remove unnecessary includes of <linux/aer.h> from several other drivers.Bjorn Helgaas (6):
crypto: qat - drop redundantadf_enable_aer()
crypto: cavium/nitrox - remove unnecessaryaer.hinclude
crypto: hisilicon/hpre - remove unnecessaryaer.hinclude
crypto: hisilicon/qm - remove unnecessaryaer.hinclude
crypto: hisilicon/sec - remove unnecessaryaer.hinclude
crypto: hisilicon/zip - remove unnecessaryaer.hinclude
Quoted 15 lines
drivers/crypto/cavium/nitrox/nitrox_main.c | 1 - drivers/crypto/hisilicon/hpre/hpre_main.c | 1 - drivers/crypto/hisilicon/qm.c | 1 - drivers/crypto/hisilicon/sec2/sec_main.c | 1 - drivers/crypto/hisilicon/zip/zip_main.c | 1 - drivers/crypto/qat/qat_4xxx/adf_drv.c | 11 ++---- drivers/crypto/qat/qat_c3xxx/adf_drv.c | 9 ++--- drivers/crypto/qat/qat_c62x/adf_drv.c | 9 ++--- drivers/crypto/qat/qat_common/adf_aer.c | 35 ------------------- .../crypto/qat/qat_common/adf_common_drv.h | 2 -- drivers/crypto/qat/qat_dh895xcc/adf_drv.c | 9 ++--- 11 files changed, 9 insertions(+), 71 deletions(-)Signature · 1 line
2.25.1
All applied. Thanks.
Signature · 3 lines
Email: Herbert Xu <[email protected]> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt