Torsten Duwe 363539
From 8f5c335e34b5ae2dda6db2af300381fc9fb53fe7 Mon Sep 17 00:00:00 2001
Torsten Duwe 363539
From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de>
Torsten Duwe 363539
Date: Mon, 4 Oct 2021 14:59:33 +0200
Torsten Duwe 363539
Subject: [PATCH] crypto: qat - simplify adf_enable_aer()
Torsten Duwe 363539
Mime-version: 1.0
Torsten Duwe 363539
Content-type: text/plain; charset=UTF-8
Torsten Duwe 363539
Content-transfer-encoding: 8bit
Torsten Duwe 363539
Git-commit: 8f5c335e34b5ae2dda6db2af300381fc9fb53fe7
Torsten Duwe 363539
Patch-mainline: v5.16-rc1
Torsten Duwe 363539
References: jsc#PED-1073
Torsten Duwe 363539
Torsten Duwe 363539
A struct pci_driver is shared across all device instances, so assigning
Torsten Duwe 363539
pci_driver.err_handler once per device isn't really sensible.
Torsten Duwe 363539
Torsten Duwe 363539
Set adf_driver.err_handler statically instead of in adf_enable_aer().
Torsten Duwe 363539
This removes a use of pci_dev->driver, which is a step toward removing
Torsten Duwe 363539
pci_dev->driver altogether.
Torsten Duwe 363539
Torsten Duwe 363539
Since adf_enable_aer() returns zero unconditionally, make it a void
Torsten Duwe 363539
function.
Torsten Duwe 363539
Torsten Duwe 363539
Link: https://lore.kernel.org/r/20211004125935.2300113-10-u.kleine-koenig@pengutronix.de
Torsten Duwe 363539
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Torsten Duwe 363539
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Torsten Duwe 363539
Signed-off-by: Torsten Duwe <duwe@suse.de>
Torsten Duwe 363539
Torsten Duwe 363539
---
Torsten Duwe 363539
 drivers/crypto/qat/qat_4xxx/adf_drv.c          |  7 ++-----
Torsten Duwe 363539
 drivers/crypto/qat/qat_c3xxx/adf_drv.c         |  7 ++-----
Torsten Duwe 363539
 drivers/crypto/qat/qat_c62x/adf_drv.c          |  7 ++-----
Torsten Duwe 363539
 drivers/crypto/qat/qat_common/adf_aer.c        | 10 +++-------
Torsten Duwe 363539
 drivers/crypto/qat/qat_common/adf_common_drv.h |  3 ++-
Torsten Duwe 363539
 drivers/crypto/qat/qat_dh895xcc/adf_drv.c      |  7 ++-----
Torsten Duwe 363539
 6 files changed, 13 insertions(+), 28 deletions(-)
Torsten Duwe 363539
Torsten Duwe 363539
diff --git a/drivers/crypto/qat/qat_4xxx/adf_drv.c b/drivers/crypto/qat/qat_4xxx/adf_drv.c
Torsten Duwe 363539
index 359fb7989dfbf..71ef065914b22 100644
Torsten Duwe 363539
--- a/drivers/crypto/qat/qat_4xxx/adf_drv.c
Torsten Duwe 363539
+++ b/drivers/crypto/qat/qat_4xxx/adf_drv.c
Torsten Duwe 363539
@@ -247,11 +247,7 @@ static int adf_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
Torsten Duwe 363539
 
Torsten Duwe 363539
 	pci_set_master(pdev);
Torsten Duwe 363539
 
Torsten Duwe 363539
-	if (adf_enable_aer(accel_dev)) {
Torsten Duwe 363539
-		dev_err(&pdev->dev, "Failed to enable aer.\n");
Torsten Duwe 363539
-		ret = -EFAULT;
Torsten Duwe 363539
-		goto out_err;
Torsten Duwe 363539
-	}
Torsten Duwe 363539
+	adf_enable_aer(accel_dev);
Torsten Duwe 363539
 
Torsten Duwe 363539
 	if (pci_save_state(pdev)) {
Torsten Duwe 363539
 		dev_err(&pdev->dev, "Failed to save pci state.\n");
Torsten Duwe 363539
@@ -304,6 +300,7 @@ static struct pci_driver adf_driver = {
Torsten Duwe 363539
 	.probe = adf_probe,
Torsten Duwe 363539
 	.remove = adf_remove,
Torsten Duwe 363539
 	.sriov_configure = adf_sriov_configure,
Torsten Duwe 363539
+	.err_handler = &adf_err_handler,
Torsten Duwe 363539
 };
Torsten Duwe 363539
 
Torsten Duwe 363539
 module_pci_driver(adf_driver);
Torsten Duwe 363539
diff --git a/drivers/crypto/qat/qat_c3xxx/adf_drv.c b/drivers/crypto/qat/qat_c3xxx/adf_drv.c
Torsten Duwe 363539
index cc6e75dc60de9..2aef0bb791dfa 100644
Torsten Duwe 363539
--- a/drivers/crypto/qat/qat_c3xxx/adf_drv.c
Torsten Duwe 363539
+++ b/drivers/crypto/qat/qat_c3xxx/adf_drv.c
Torsten Duwe 363539
@@ -33,6 +33,7 @@ static struct pci_driver adf_driver = {
Torsten Duwe 363539
 	.probe = adf_probe,
Torsten Duwe 363539
 	.remove = adf_remove,
Torsten Duwe 363539
 	.sriov_configure = adf_sriov_configure,
Torsten Duwe 363539
+	.err_handler = &adf_err_handler,
Torsten Duwe 363539
 };
Torsten Duwe 363539
 
Torsten Duwe 363539
 static void adf_cleanup_pci_dev(struct adf_accel_dev *accel_dev)
Torsten Duwe 363539
@@ -192,11 +193,7 @@ static int adf_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
Torsten Duwe 363539
 	}
Torsten Duwe 363539
 	pci_set_master(pdev);
Torsten Duwe 363539
 
Torsten Duwe 363539
-	if (adf_enable_aer(accel_dev)) {
Torsten Duwe 363539
-		dev_err(&pdev->dev, "Failed to enable aer\n");
Torsten Duwe 363539
-		ret = -EFAULT;
Torsten Duwe 363539
-		goto out_err_free_reg;
Torsten Duwe 363539
-	}
Torsten Duwe 363539
+	adf_enable_aer(accel_dev);
Torsten Duwe 363539
 
Torsten Duwe 363539
 	if (pci_save_state(pdev)) {
Torsten Duwe 363539
 		dev_err(&pdev->dev, "Failed to save pci state\n");
Torsten Duwe 363539
diff --git a/drivers/crypto/qat/qat_c62x/adf_drv.c b/drivers/crypto/qat/qat_c62x/adf_drv.c
Torsten Duwe 363539
index bf251dfe74b36..56163083f1616 100644
Torsten Duwe 363539
--- a/drivers/crypto/qat/qat_c62x/adf_drv.c
Torsten Duwe 363539
+++ b/drivers/crypto/qat/qat_c62x/adf_drv.c
Torsten Duwe 363539
@@ -33,6 +33,7 @@ static struct pci_driver adf_driver = {
Torsten Duwe 363539
 	.probe = adf_probe,
Torsten Duwe 363539
 	.remove = adf_remove,
Torsten Duwe 363539
 	.sriov_configure = adf_sriov_configure,
Torsten Duwe 363539
+	.err_handler = &adf_err_handler,
Torsten Duwe 363539
 };
Torsten Duwe 363539
 
Torsten Duwe 363539
 static void adf_cleanup_pci_dev(struct adf_accel_dev *accel_dev)
Torsten Duwe 363539
@@ -192,11 +193,7 @@ static int adf_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
Torsten Duwe 363539
 	}
Torsten Duwe 363539
 	pci_set_master(pdev);
Torsten Duwe 363539
 
Torsten Duwe 363539
-	if (adf_enable_aer(accel_dev)) {
Torsten Duwe 363539
-		dev_err(&pdev->dev, "Failed to enable aer\n");
Torsten Duwe 363539
-		ret = -EFAULT;
Torsten Duwe 363539
-		goto out_err_free_reg;
Torsten Duwe 363539
-	}
Torsten Duwe 363539
+	adf_enable_aer(accel_dev);
Torsten Duwe 363539
 
Torsten Duwe 363539
 	if (pci_save_state(pdev)) {
Torsten Duwe 363539
 		dev_err(&pdev->dev, "Failed to save pci state\n");
Torsten Duwe 363539
diff --git a/drivers/crypto/qat/qat_common/adf_aer.c b/drivers/crypto/qat/qat_common/adf_aer.c
Torsten Duwe 363539
index ed3e40bc56eb2..fe9bb2f3536a9 100644
Torsten Duwe 363539
--- a/drivers/crypto/qat/qat_common/adf_aer.c
Torsten Duwe 363539
+++ b/drivers/crypto/qat/qat_common/adf_aer.c
Torsten Duwe 363539
@@ -166,11 +166,12 @@ static void adf_resume(struct pci_dev *pdev)
Torsten Duwe 363539
 	dev_info(&pdev->dev, "Device is up and running\n");
Torsten Duwe 363539
 }
Torsten Duwe 363539
 
Torsten Duwe 363539
-static const struct pci_error_handlers adf_err_handler = {
Torsten Duwe 363539
+const struct pci_error_handlers adf_err_handler = {
Torsten Duwe 363539
 	.error_detected = adf_error_detected,
Torsten Duwe 363539
 	.slot_reset = adf_slot_reset,
Torsten Duwe 363539
 	.resume = adf_resume,
Torsten Duwe 363539
 };
Torsten Duwe 363539
+EXPORT_SYMBOL_GPL(adf_err_handler);
Torsten Duwe 363539
 
Torsten Duwe 363539
 /**
Torsten Duwe 363539
  * adf_enable_aer() - Enable Advance Error Reporting for acceleration device
Torsten Duwe 363539
@@ -179,17 +180,12 @@ static const struct pci_error_handlers adf_err_handler = {
Torsten Duwe 363539
  * Function enables PCI Advance Error Reporting for the
Torsten Duwe 363539
  * QAT acceleration device accel_dev.
Torsten Duwe 363539
  * To be used by QAT device specific drivers.
Torsten Duwe 363539
- *
Torsten Duwe 363539
- * Return: 0 on success, error code otherwise.
Torsten Duwe 363539
  */
Torsten Duwe 363539
-int adf_enable_aer(struct adf_accel_dev *accel_dev)
Torsten Duwe 363539
+void adf_enable_aer(struct adf_accel_dev *accel_dev)
Torsten Duwe 363539
 {
Torsten Duwe 363539
 	struct pci_dev *pdev = accel_to_pci_dev(accel_dev);
Torsten Duwe 363539
-	struct pci_driver *pdrv = pdev->driver;
Torsten Duwe 363539
 
Torsten Duwe 363539
-	pdrv->err_handler = &adf_err_handler;
Torsten Duwe 363539
 	pci_enable_pcie_error_reporting(pdev);
Torsten Duwe 363539
-	return 0;
Torsten Duwe 363539
 }
Torsten Duwe 363539
 EXPORT_SYMBOL_GPL(adf_enable_aer);
Torsten Duwe 363539
 
Torsten Duwe 363539
diff --git a/drivers/crypto/qat/qat_common/adf_common_drv.h b/drivers/crypto/qat/qat_common/adf_common_drv.h
Torsten Duwe 363539
index 4261749fae8d4..e4c24be212ff9 100644
Torsten Duwe 363539
--- a/drivers/crypto/qat/qat_common/adf_common_drv.h
Torsten Duwe 363539
+++ b/drivers/crypto/qat/qat_common/adf_common_drv.h
Torsten Duwe 363539
@@ -95,7 +95,8 @@ void adf_ae_fw_release(struct adf_accel_dev *accel_dev);
Torsten Duwe 363539
 int adf_ae_start(struct adf_accel_dev *accel_dev);
Torsten Duwe 363539
 int adf_ae_stop(struct adf_accel_dev *accel_dev);
Torsten Duwe 363539
 
Torsten Duwe 363539
-int adf_enable_aer(struct adf_accel_dev *accel_dev);
Torsten Duwe 363539
+extern const struct pci_error_handlers adf_err_handler;
Torsten Duwe 363539
+void adf_enable_aer(struct adf_accel_dev *accel_dev);
Torsten Duwe 363539
 void adf_disable_aer(struct adf_accel_dev *accel_dev);
Torsten Duwe 363539
 void adf_reset_sbr(struct adf_accel_dev *accel_dev);
Torsten Duwe 363539
 void adf_reset_flr(struct adf_accel_dev *accel_dev);
Torsten Duwe 363539
diff --git a/drivers/crypto/qat/qat_dh895xcc/adf_drv.c b/drivers/crypto/qat/qat_dh895xcc/adf_drv.c
Torsten Duwe 363539
index 3976a81bd99b8..acca56752aa02 100644
Torsten Duwe 363539
--- a/drivers/crypto/qat/qat_dh895xcc/adf_drv.c
Torsten Duwe 363539
+++ b/drivers/crypto/qat/qat_dh895xcc/adf_drv.c
Torsten Duwe 363539
@@ -33,6 +33,7 @@ static struct pci_driver adf_driver = {
Torsten Duwe 363539
 	.probe = adf_probe,
Torsten Duwe 363539
 	.remove = adf_remove,
Torsten Duwe 363539
 	.sriov_configure = adf_sriov_configure,
Torsten Duwe 363539
+	.err_handler = &adf_err_handler,
Torsten Duwe 363539
 };
Torsten Duwe 363539
 
Torsten Duwe 363539
 static void adf_cleanup_pci_dev(struct adf_accel_dev *accel_dev)
Torsten Duwe 363539
@@ -192,11 +193,7 @@ static int adf_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
Torsten Duwe 363539
 	}
Torsten Duwe 363539
 	pci_set_master(pdev);
Torsten Duwe 363539
 
Torsten Duwe 363539
-	if (adf_enable_aer(accel_dev)) {
Torsten Duwe 363539
-		dev_err(&pdev->dev, "Failed to enable aer\n");
Torsten Duwe 363539
-		ret = -EFAULT;
Torsten Duwe 363539
-		goto out_err_free_reg;
Torsten Duwe 363539
-	}
Torsten Duwe 363539
+	adf_enable_aer(accel_dev);
Torsten Duwe 363539
 
Torsten Duwe 363539
 	if (pci_save_state(pdev)) {
Torsten Duwe 363539
 		dev_err(&pdev->dev, "Failed to save pci state\n");
Torsten Duwe 363539
-- 
Torsten Duwe 363539
2.35.3
Torsten Duwe 363539