Torsten Duwe 51a2a3
From 08ea97f48883a5d3178e09433b449bafc5f2a314 Mon Sep 17 00:00:00 2001
Torsten Duwe 51a2a3
From: Giovanni Cabiddu <giovanni.cabiddu@intel.com>
Torsten Duwe 51a2a3
Date: Wed, 17 Nov 2021 14:30:37 +0000
Torsten Duwe 51a2a3
Subject: [PATCH] crypto: qat - move vf2pf interrupt helpers
Torsten Duwe 51a2a3
Git-commit: 08ea97f48883a5d3178e09433b449bafc5f2a314
Torsten Duwe 51a2a3
Patch-mainline: v5.17-rc1
Torsten Duwe 51a2a3
References: jsc#PED-1073
Torsten Duwe 51a2a3
Torsten Duwe 51a2a3
Move vf2pf interrupt enable and disable functions from adf_pf2vf_msg.c
Torsten Duwe 51a2a3
to adf_isr.c
Torsten Duwe 51a2a3
This it to separate the interrupt related code from the PFVF protocol
Torsten Duwe 51a2a3
logic.
Torsten Duwe 51a2a3
Torsten Duwe 51a2a3
With this change, the function adf_disable_vf2pf_interrupts_irq() is
Torsten Duwe 51a2a3
only called from adf_isr.c and it has been marked as static.
Torsten Duwe 51a2a3
Torsten Duwe 51a2a3
Signed-off-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com>
Torsten Duwe 51a2a3
Reviewed-by: Marco Chiappero <marco.chiappero@intel.com>
Torsten Duwe 51a2a3
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Torsten Duwe 51a2a3
Signed-off-by: Torsten Duwe <duwe@suse.de>
Torsten Duwe 51a2a3
Torsten Duwe 51a2a3
---
Torsten Duwe 51a2a3
 .../crypto/qat/qat_common/adf_common_drv.h    |  2 -
Torsten Duwe 51a2a3
 drivers/crypto/qat/qat_common/adf_isr.c       | 39 +++++++++++++++++++
Torsten Duwe 51a2a3
 drivers/crypto/qat/qat_common/adf_pf2vf_msg.c | 39 -------------------
Torsten Duwe 51a2a3
 3 files changed, 39 insertions(+), 41 deletions(-)
Torsten Duwe 51a2a3
Torsten Duwe 51a2a3
diff --git a/drivers/crypto/qat/qat_common/adf_common_drv.h b/drivers/crypto/qat/qat_common/adf_common_drv.h
Torsten Duwe 51a2a3
index de94b76a6d2ce..4f9f94db16e52 100644
Torsten Duwe 51a2a3
--- a/drivers/crypto/qat/qat_common/adf_common_drv.h
Torsten Duwe 51a2a3
+++ b/drivers/crypto/qat/qat_common/adf_common_drv.h
Torsten Duwe 51a2a3
@@ -193,8 +193,6 @@ int adf_sriov_configure(struct pci_dev *pdev, int numvfs);
Torsten Duwe 51a2a3
 void adf_disable_sriov(struct adf_accel_dev *accel_dev);
Torsten Duwe 51a2a3
 void adf_disable_vf2pf_interrupts(struct adf_accel_dev *accel_dev,
Torsten Duwe 51a2a3
 				  u32 vf_mask);
Torsten Duwe 51a2a3
-void adf_disable_vf2pf_interrupts_irq(struct adf_accel_dev *accel_dev,
Torsten Duwe 51a2a3
-				      u32 vf_mask);
Torsten Duwe 51a2a3
 void adf_enable_vf2pf_interrupts(struct adf_accel_dev *accel_dev,
Torsten Duwe 51a2a3
 				 u32 vf_mask);
Torsten Duwe 51a2a3
 int adf_enable_pf2vf_comms(struct adf_accel_dev *accel_dev);
Torsten Duwe 51a2a3
diff --git a/drivers/crypto/qat/qat_common/adf_isr.c b/drivers/crypto/qat/qat_common/adf_isr.c
Torsten Duwe 51a2a3
index 5dfc534f1bf01..2b4900c913083 100644
Torsten Duwe 51a2a3
--- a/drivers/crypto/qat/qat_common/adf_isr.c
Torsten Duwe 51a2a3
+++ b/drivers/crypto/qat/qat_common/adf_isr.c
Torsten Duwe 51a2a3
@@ -55,6 +55,45 @@ static irqreturn_t adf_msix_isr_bundle(int irq, void *bank_ptr)
Torsten Duwe 51a2a3
 }
Torsten Duwe 51a2a3
 
Torsten Duwe 51a2a3
 #ifdef CONFIG_PCI_IOV
Torsten Duwe 51a2a3
+void adf_enable_vf2pf_interrupts(struct adf_accel_dev *accel_dev, u32 vf_mask)
Torsten Duwe 51a2a3
+{
Torsten Duwe 51a2a3
+	struct adf_hw_device_data *hw_data = accel_dev->hw_device;
Torsten Duwe 51a2a3
+	u32 misc_bar_id = hw_data->get_misc_bar_id(hw_data);
Torsten Duwe 51a2a3
+	struct adf_bar *pmisc = &GET_BARS(accel_dev)[misc_bar_id];
Torsten Duwe 51a2a3
+	void __iomem *pmisc_addr = pmisc->virt_addr;
Torsten Duwe 51a2a3
+	unsigned long flags;
Torsten Duwe 51a2a3
+
Torsten Duwe 51a2a3
+	spin_lock_irqsave(&accel_dev->pf.vf2pf_ints_lock, flags);
Torsten Duwe 51a2a3
+	hw_data->enable_vf2pf_interrupts(pmisc_addr, vf_mask);
Torsten Duwe 51a2a3
+	spin_unlock_irqrestore(&accel_dev->pf.vf2pf_ints_lock, flags);
Torsten Duwe 51a2a3
+}
Torsten Duwe 51a2a3
+
Torsten Duwe 51a2a3
+void adf_disable_vf2pf_interrupts(struct adf_accel_dev *accel_dev, u32 vf_mask)
Torsten Duwe 51a2a3
+{
Torsten Duwe 51a2a3
+	struct adf_hw_device_data *hw_data = accel_dev->hw_device;
Torsten Duwe 51a2a3
+	u32 misc_bar_id = hw_data->get_misc_bar_id(hw_data);
Torsten Duwe 51a2a3
+	struct adf_bar *pmisc = &GET_BARS(accel_dev)[misc_bar_id];
Torsten Duwe 51a2a3
+	void __iomem *pmisc_addr = pmisc->virt_addr;
Torsten Duwe 51a2a3
+	unsigned long flags;
Torsten Duwe 51a2a3
+
Torsten Duwe 51a2a3
+	spin_lock_irqsave(&accel_dev->pf.vf2pf_ints_lock, flags);
Torsten Duwe 51a2a3
+	hw_data->disable_vf2pf_interrupts(pmisc_addr, vf_mask);
Torsten Duwe 51a2a3
+	spin_unlock_irqrestore(&accel_dev->pf.vf2pf_ints_lock, flags);
Torsten Duwe 51a2a3
+}
Torsten Duwe 51a2a3
+
Torsten Duwe 51a2a3
+static void adf_disable_vf2pf_interrupts_irq(struct adf_accel_dev *accel_dev,
Torsten Duwe 51a2a3
+					     u32 vf_mask)
Torsten Duwe 51a2a3
+{
Torsten Duwe 51a2a3
+	struct adf_hw_device_data *hw_data = accel_dev->hw_device;
Torsten Duwe 51a2a3
+	u32 misc_bar_id = hw_data->get_misc_bar_id(hw_data);
Torsten Duwe 51a2a3
+	struct adf_bar *pmisc = &GET_BARS(accel_dev)[misc_bar_id];
Torsten Duwe 51a2a3
+	void __iomem *pmisc_addr = pmisc->virt_addr;
Torsten Duwe 51a2a3
+
Torsten Duwe 51a2a3
+	spin_lock(&accel_dev->pf.vf2pf_ints_lock);
Torsten Duwe 51a2a3
+	hw_data->disable_vf2pf_interrupts(pmisc_addr, vf_mask);
Torsten Duwe 51a2a3
+	spin_unlock(&accel_dev->pf.vf2pf_ints_lock);
Torsten Duwe 51a2a3
+}
Torsten Duwe 51a2a3
+
Torsten Duwe 51a2a3
 static bool adf_handle_vf2pf_int(struct adf_accel_dev *accel_dev)
Torsten Duwe 51a2a3
 {
Torsten Duwe 51a2a3
 	struct adf_hw_device_data *hw_data = accel_dev->hw_device;
Torsten Duwe 51a2a3
diff --git a/drivers/crypto/qat/qat_common/adf_pf2vf_msg.c b/drivers/crypto/qat/qat_common/adf_pf2vf_msg.c
Torsten Duwe 51a2a3
index 99ee17c3d06bf..d0492530c84ab 100644
Torsten Duwe 51a2a3
--- a/drivers/crypto/qat/qat_common/adf_pf2vf_msg.c
Torsten Duwe 51a2a3
+++ b/drivers/crypto/qat/qat_common/adf_pf2vf_msg.c
Torsten Duwe 51a2a3
@@ -14,45 +14,6 @@
Torsten Duwe 51a2a3
 					 ADF_PFVF_MSG_ACK_MAX_RETRY + \
Torsten Duwe 51a2a3
 					 ADF_PFVF_MSG_COLLISION_DETECT_DELAY)
Torsten Duwe 51a2a3
 
Torsten Duwe 51a2a3
-void adf_enable_vf2pf_interrupts(struct adf_accel_dev *accel_dev, u32 vf_mask)
Torsten Duwe 51a2a3
-{
Torsten Duwe 51a2a3
-	struct adf_hw_device_data *hw_data = accel_dev->hw_device;
Torsten Duwe 51a2a3
-	u32 misc_bar_id = hw_data->get_misc_bar_id(hw_data);
Torsten Duwe 51a2a3
-	struct adf_bar *pmisc = &GET_BARS(accel_dev)[misc_bar_id];
Torsten Duwe 51a2a3
-	void __iomem *pmisc_addr = pmisc->virt_addr;
Torsten Duwe 51a2a3
-	unsigned long flags;
Torsten Duwe 51a2a3
-
Torsten Duwe 51a2a3
-	spin_lock_irqsave(&accel_dev->pf.vf2pf_ints_lock, flags);
Torsten Duwe 51a2a3
-	hw_data->enable_vf2pf_interrupts(pmisc_addr, vf_mask);
Torsten Duwe 51a2a3
-	spin_unlock_irqrestore(&accel_dev->pf.vf2pf_ints_lock, flags);
Torsten Duwe 51a2a3
-}
Torsten Duwe 51a2a3
-
Torsten Duwe 51a2a3
-void adf_disable_vf2pf_interrupts(struct adf_accel_dev *accel_dev, u32 vf_mask)
Torsten Duwe 51a2a3
-{
Torsten Duwe 51a2a3
-	struct adf_hw_device_data *hw_data = accel_dev->hw_device;
Torsten Duwe 51a2a3
-	u32 misc_bar_id = hw_data->get_misc_bar_id(hw_data);
Torsten Duwe 51a2a3
-	struct adf_bar *pmisc = &GET_BARS(accel_dev)[misc_bar_id];
Torsten Duwe 51a2a3
-	void __iomem *pmisc_addr = pmisc->virt_addr;
Torsten Duwe 51a2a3
-	unsigned long flags;
Torsten Duwe 51a2a3
-
Torsten Duwe 51a2a3
-	spin_lock_irqsave(&accel_dev->pf.vf2pf_ints_lock, flags);
Torsten Duwe 51a2a3
-	hw_data->disable_vf2pf_interrupts(pmisc_addr, vf_mask);
Torsten Duwe 51a2a3
-	spin_unlock_irqrestore(&accel_dev->pf.vf2pf_ints_lock, flags);
Torsten Duwe 51a2a3
-}
Torsten Duwe 51a2a3
-
Torsten Duwe 51a2a3
-void adf_disable_vf2pf_interrupts_irq(struct adf_accel_dev *accel_dev,
Torsten Duwe 51a2a3
-				      u32 vf_mask)
Torsten Duwe 51a2a3
-{
Torsten Duwe 51a2a3
-	struct adf_hw_device_data *hw_data = accel_dev->hw_device;
Torsten Duwe 51a2a3
-	u32 misc_bar_id = hw_data->get_misc_bar_id(hw_data);
Torsten Duwe 51a2a3
-	struct adf_bar *pmisc = &GET_BARS(accel_dev)[misc_bar_id];
Torsten Duwe 51a2a3
-	void __iomem *pmisc_addr = pmisc->virt_addr;
Torsten Duwe 51a2a3
-
Torsten Duwe 51a2a3
-	spin_lock(&accel_dev->pf.vf2pf_ints_lock);
Torsten Duwe 51a2a3
-	hw_data->disable_vf2pf_interrupts(pmisc_addr, vf_mask);
Torsten Duwe 51a2a3
-	spin_unlock(&accel_dev->pf.vf2pf_ints_lock);
Torsten Duwe 51a2a3
-}
Torsten Duwe 51a2a3
-
Torsten Duwe 51a2a3
 static int __adf_iov_putmsg(struct adf_accel_dev *accel_dev, u32 msg, u8 vf_nr)
Torsten Duwe 51a2a3
 {
Torsten Duwe 51a2a3
 	struct adf_accel_pci *pci_info = &accel_dev->accel_pci_dev;
Torsten Duwe 51a2a3
-- 
Torsten Duwe 51a2a3
2.35.3
Torsten Duwe 51a2a3