Torsten Duwe 3416f8
From 49c43538ce05115e3fe12752dc77aa1deed3b0d2 Mon Sep 17 00:00:00 2001
Torsten Duwe 3416f8
From: Marco Chiappero <marco.chiappero@intel.com>
Torsten Duwe 3416f8
Date: Wed, 17 Nov 2021 14:30:49 +0000
Torsten Duwe 3416f8
Subject: [PATCH] crypto: qat - abstract PFVF send function
Torsten Duwe 3416f8
Git-commit: 49c43538ce05115e3fe12752dc77aa1deed3b0d2
Torsten Duwe 3416f8
Patch-mainline: v5.17-rc1
Torsten Duwe 3416f8
References: jsc#PED-1073
Torsten Duwe 3416f8
Torsten Duwe 3416f8
Make the PFVF send function device specific.
Torsten Duwe 3416f8
Torsten Duwe 3416f8
This is in preparation for the introduction of PFVF support in the
Torsten Duwe 3416f8
qat_4xxx driver since the send logic differs between QAT GEN2 and
Torsten Duwe 3416f8
QAT GEN4 devices.
Torsten Duwe 3416f8
Torsten Duwe 3416f8
Signed-off-by: Marco Chiappero <marco.chiappero@intel.com>
Torsten Duwe 3416f8
Co-developed-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com>
Torsten Duwe 3416f8
Signed-off-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com>
Torsten Duwe 3416f8
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Torsten Duwe 3416f8
Signed-off-by: Torsten Duwe <duwe@suse.de>
Torsten Duwe 3416f8
Torsten Duwe 3416f8
---
Torsten Duwe 3416f8
 .../crypto/qat/qat_common/adf_accel_devices.h |  1 +
Torsten Duwe 3416f8
 drivers/crypto/qat/qat_common/adf_gen2_pfvf.c | 97 +++++++++++++++++++
Torsten Duwe 3416f8
 drivers/crypto/qat/qat_common/adf_pf2vf_msg.c | 92 +-----------------
Torsten Duwe 3416f8
 drivers/crypto/qat/qat_common/adf_pf2vf_msg.h |  3 +-
Torsten Duwe 3416f8
 4 files changed, 102 insertions(+), 91 deletions(-)
Torsten Duwe 3416f8
Torsten Duwe 3416f8
diff --git a/drivers/crypto/qat/qat_common/adf_accel_devices.h b/drivers/crypto/qat/qat_common/adf_accel_devices.h
Torsten Duwe 3416f8
index d9b2cc935b616..8938149590833 100644
Torsten Duwe 3416f8
--- a/drivers/crypto/qat/qat_common/adf_accel_devices.h
Torsten Duwe 3416f8
+++ b/drivers/crypto/qat/qat_common/adf_accel_devices.h
Torsten Duwe 3416f8
@@ -154,6 +154,7 @@ struct adf_pfvf_ops {
Torsten Duwe 3416f8
 	u32 (*get_vf2pf_sources)(void __iomem *pmisc_addr);
Torsten Duwe 3416f8
 	void (*enable_vf2pf_interrupts)(void __iomem *pmisc_addr, u32 vf_mask);
Torsten Duwe 3416f8
 	void (*disable_vf2pf_interrupts)(void __iomem *pmisc_addr, u32 vf_mask);
Torsten Duwe 3416f8
+	int (*send_msg)(struct adf_accel_dev *accel_dev, u32 msg, u8 vf_nr);
Torsten Duwe 3416f8
 };
Torsten Duwe 3416f8
 
Torsten Duwe 3416f8
 struct adf_hw_device_data {
Torsten Duwe 3416f8
diff --git a/drivers/crypto/qat/qat_common/adf_gen2_pfvf.c b/drivers/crypto/qat/qat_common/adf_gen2_pfvf.c
Torsten Duwe 3416f8
index 2f27146bb7c6e..5eba042d453b7 100644
Torsten Duwe 3416f8
--- a/drivers/crypto/qat/qat_common/adf_gen2_pfvf.c
Torsten Duwe 3416f8
+++ b/drivers/crypto/qat/qat_common/adf_gen2_pfvf.c
Torsten Duwe 3416f8
@@ -1,9 +1,12 @@
Torsten Duwe 3416f8
 // SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0-only)
Torsten Duwe 3416f8
 /* Copyright(c) 2021 Intel Corporation */
Torsten Duwe 3416f8
+#include <linux/delay.h>
Torsten Duwe 3416f8
+#include <linux/mutex.h>
Torsten Duwe 3416f8
 #include <linux/types.h>
Torsten Duwe 3416f8
 #include "adf_accel_devices.h"
Torsten Duwe 3416f8
 #include "adf_common_drv.h"
Torsten Duwe 3416f8
 #include "adf_gen2_pfvf.h"
Torsten Duwe 3416f8
+#include "adf_pf2vf_msg.h"
Torsten Duwe 3416f8
 
Torsten Duwe 3416f8
  /* VF2PF interrupts */
Torsten Duwe 3416f8
 #define ADF_GEN2_ERR_REG_VF2PF(vf_src)	(((vf_src) & 0x01FFFE00) >> 9)
Torsten Duwe 3416f8
@@ -12,6 +15,12 @@
Torsten Duwe 3416f8
 #define ADF_GEN2_PF_PF2VF_OFFSET(i)	(0x3A000 + 0x280 + ((i) * 0x04))
Torsten Duwe 3416f8
 #define ADF_GEN2_VF_PF2VF_OFFSET	0x200
Torsten Duwe 3416f8
 
Torsten Duwe 3416f8
+#define ADF_PFVF_MSG_ACK_DELAY		2
Torsten Duwe 3416f8
+#define ADF_PFVF_MSG_ACK_MAX_RETRY	100
Torsten Duwe 3416f8
+
Torsten Duwe 3416f8
+#define ADF_PFVF_MSG_RETRY_DELAY	5
Torsten Duwe 3416f8
+#define ADF_PFVF_MSG_MAX_RETRIES	3
Torsten Duwe 3416f8
+
Torsten Duwe 3416f8
 static u32 adf_gen2_pf_get_pfvf_offset(u32 i)
Torsten Duwe 3416f8
 {
Torsten Duwe 3416f8
 	return ADF_GEN2_PF_PF2VF_OFFSET(i);
Torsten Duwe 3416f8
@@ -61,6 +70,92 @@ static void adf_gen2_disable_vf2pf_interrupts(void __iomem *pmisc_addr,
Torsten Duwe 3416f8
 	}
Torsten Duwe 3416f8
 }
Torsten Duwe 3416f8
 
Torsten Duwe 3416f8
+static int adf_gen2_pfvf_send(struct adf_accel_dev *accel_dev, u32 msg,
Torsten Duwe 3416f8
+			      u8 vf_nr)
Torsten Duwe 3416f8
+{
Torsten Duwe 3416f8
+	struct adf_accel_pci *pci_info = &accel_dev->accel_pci_dev;
Torsten Duwe 3416f8
+	struct adf_hw_device_data *hw_data = accel_dev->hw_device;
Torsten Duwe 3416f8
+	void __iomem *pmisc_bar_addr =
Torsten Duwe 3416f8
+		pci_info->pci_bars[hw_data->get_misc_bar_id(hw_data)].virt_addr;
Torsten Duwe 3416f8
+	u32 val, pfvf_offset, count = 0;
Torsten Duwe 3416f8
+	u32 local_in_use_mask, local_in_use_pattern;
Torsten Duwe 3416f8
+	u32 remote_in_use_mask, remote_in_use_pattern;
Torsten Duwe 3416f8
+	struct mutex *lock;	/* lock preventing concurrent acces of CSR */
Torsten Duwe 3416f8
+	unsigned int retries = ADF_PFVF_MSG_MAX_RETRIES;
Torsten Duwe 3416f8
+	u32 int_bit;
Torsten Duwe 3416f8
+	int ret;
Torsten Duwe 3416f8
+
Torsten Duwe 3416f8
+	if (accel_dev->is_vf) {
Torsten Duwe 3416f8
+		pfvf_offset = GET_PFVF_OPS(accel_dev)->get_vf2pf_offset(0);
Torsten Duwe 3416f8
+		lock = &accel_dev->vf.vf2pf_lock;
Torsten Duwe 3416f8
+		local_in_use_mask = ADF_VF2PF_IN_USE_BY_VF_MASK;
Torsten Duwe 3416f8
+		local_in_use_pattern = ADF_VF2PF_IN_USE_BY_VF;
Torsten Duwe 3416f8
+		remote_in_use_mask = ADF_PF2VF_IN_USE_BY_PF_MASK;
Torsten Duwe 3416f8
+		remote_in_use_pattern = ADF_PF2VF_IN_USE_BY_PF;
Torsten Duwe 3416f8
+		int_bit = ADF_VF2PF_INT;
Torsten Duwe 3416f8
+	} else {
Torsten Duwe 3416f8
+		pfvf_offset = GET_PFVF_OPS(accel_dev)->get_pf2vf_offset(vf_nr);
Torsten Duwe 3416f8
+		lock = &accel_dev->pf.vf_info[vf_nr].pf2vf_lock;
Torsten Duwe 3416f8
+		local_in_use_mask = ADF_PF2VF_IN_USE_BY_PF_MASK;
Torsten Duwe 3416f8
+		local_in_use_pattern = ADF_PF2VF_IN_USE_BY_PF;
Torsten Duwe 3416f8
+		remote_in_use_mask = ADF_VF2PF_IN_USE_BY_VF_MASK;
Torsten Duwe 3416f8
+		remote_in_use_pattern = ADF_VF2PF_IN_USE_BY_VF;
Torsten Duwe 3416f8
+		int_bit = ADF_PF2VF_INT;
Torsten Duwe 3416f8
+	}
Torsten Duwe 3416f8
+
Torsten Duwe 3416f8
+	msg &= ~local_in_use_mask;
Torsten Duwe 3416f8
+	msg |= local_in_use_pattern;
Torsten Duwe 3416f8
+
Torsten Duwe 3416f8
+	mutex_lock(lock);
Torsten Duwe 3416f8
+
Torsten Duwe 3416f8
+start:
Torsten Duwe 3416f8
+	ret = 0;
Torsten Duwe 3416f8
+
Torsten Duwe 3416f8
+	/* Check if the PFVF CSR is in use by remote function */
Torsten Duwe 3416f8
+	val = ADF_CSR_RD(pmisc_bar_addr, pfvf_offset);
Torsten Duwe 3416f8
+	if ((val & remote_in_use_mask) == remote_in_use_pattern) {
Torsten Duwe 3416f8
+		dev_dbg(&GET_DEV(accel_dev),
Torsten Duwe 3416f8
+			"PFVF CSR in use by remote function\n");
Torsten Duwe 3416f8
+		goto retry;
Torsten Duwe 3416f8
+	}
Torsten Duwe 3416f8
+
Torsten Duwe 3416f8
+	/* Attempt to get ownership of the PFVF CSR */
Torsten Duwe 3416f8
+	ADF_CSR_WR(pmisc_bar_addr, pfvf_offset, msg | int_bit);
Torsten Duwe 3416f8
+
Torsten Duwe 3416f8
+	/* Wait for confirmation from remote func it received the message */
Torsten Duwe 3416f8
+	do {
Torsten Duwe 3416f8
+		msleep(ADF_PFVF_MSG_ACK_DELAY);
Torsten Duwe 3416f8
+		val = ADF_CSR_RD(pmisc_bar_addr, pfvf_offset);
Torsten Duwe 3416f8
+	} while ((val & int_bit) && (count++ < ADF_PFVF_MSG_ACK_MAX_RETRY));
Torsten Duwe 3416f8
+
Torsten Duwe 3416f8
+	if (val & int_bit) {
Torsten Duwe 3416f8
+		dev_dbg(&GET_DEV(accel_dev), "ACK not received from remote\n");
Torsten Duwe 3416f8
+		val &= ~int_bit;
Torsten Duwe 3416f8
+		ret = -EIO;
Torsten Duwe 3416f8
+	}
Torsten Duwe 3416f8
+
Torsten Duwe 3416f8
+	if (val != msg) {
Torsten Duwe 3416f8
+		dev_dbg(&GET_DEV(accel_dev),
Torsten Duwe 3416f8
+			"Collision - PFVF CSR overwritten by remote function\n");
Torsten Duwe 3416f8
+		goto retry;
Torsten Duwe 3416f8
+	}
Torsten Duwe 3416f8
+
Torsten Duwe 3416f8
+	/* Finished with the PFVF CSR; relinquish it and leave msg in CSR */
Torsten Duwe 3416f8
+	ADF_CSR_WR(pmisc_bar_addr, pfvf_offset, val & ~local_in_use_mask);
Torsten Duwe 3416f8
+out:
Torsten Duwe 3416f8
+	mutex_unlock(lock);
Torsten Duwe 3416f8
+	return ret;
Torsten Duwe 3416f8
+
Torsten Duwe 3416f8
+retry:
Torsten Duwe 3416f8
+	if (--retries) {
Torsten Duwe 3416f8
+		msleep(ADF_PFVF_MSG_RETRY_DELAY);
Torsten Duwe 3416f8
+		goto start;
Torsten Duwe 3416f8
+	} else {
Torsten Duwe 3416f8
+		ret = -EBUSY;
Torsten Duwe 3416f8
+		goto out;
Torsten Duwe 3416f8
+	}
Torsten Duwe 3416f8
+}
Torsten Duwe 3416f8
+
Torsten Duwe 3416f8
 void adf_gen2_init_pf_pfvf_ops(struct adf_pfvf_ops *pfvf_ops)
Torsten Duwe 3416f8
 {
Torsten Duwe 3416f8
 	pfvf_ops->enable_comms = adf_enable_pf2vf_comms;
Torsten Duwe 3416f8
@@ -69,6 +164,7 @@ void adf_gen2_init_pf_pfvf_ops(struct adf_pfvf_ops *pfvf_ops)
Torsten Duwe 3416f8
 	pfvf_ops->get_vf2pf_sources = adf_gen2_get_vf2pf_sources;
Torsten Duwe 3416f8
 	pfvf_ops->enable_vf2pf_interrupts = adf_gen2_enable_vf2pf_interrupts;
Torsten Duwe 3416f8
 	pfvf_ops->disable_vf2pf_interrupts = adf_gen2_disable_vf2pf_interrupts;
Torsten Duwe 3416f8
+	pfvf_ops->send_msg = adf_gen2_pfvf_send;
Torsten Duwe 3416f8
 }
Torsten Duwe 3416f8
 EXPORT_SYMBOL_GPL(adf_gen2_init_pf_pfvf_ops);
Torsten Duwe 3416f8
 
Torsten Duwe 3416f8
@@ -77,5 +173,6 @@ void adf_gen2_init_vf_pfvf_ops(struct adf_pfvf_ops *pfvf_ops)
Torsten Duwe 3416f8
 	pfvf_ops->enable_comms = adf_enable_vf2pf_comms;
Torsten Duwe 3416f8
 	pfvf_ops->get_pf2vf_offset = adf_gen2_vf_get_pfvf_offset;
Torsten Duwe 3416f8
 	pfvf_ops->get_vf2pf_offset = adf_gen2_vf_get_pfvf_offset;
Torsten Duwe 3416f8
+	pfvf_ops->send_msg = adf_gen2_pfvf_send;
Torsten Duwe 3416f8
 }
Torsten Duwe 3416f8
 EXPORT_SYMBOL_GPL(adf_gen2_init_vf_pfvf_ops);
Torsten Duwe 3416f8
diff --git a/drivers/crypto/qat/qat_common/adf_pf2vf_msg.c b/drivers/crypto/qat/qat_common/adf_pf2vf_msg.c
Torsten Duwe 3416f8
index c420ec03081b4..074e521ed9e88 100644
Torsten Duwe 3416f8
--- a/drivers/crypto/qat/qat_common/adf_pf2vf_msg.c
Torsten Duwe 3416f8
+++ b/drivers/crypto/qat/qat_common/adf_pf2vf_msg.c
Torsten Duwe 3416f8
@@ -1,6 +1,5 @@
Torsten Duwe 3416f8
 // SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0-only)
Torsten Duwe 3416f8
 /* Copyright(c) 2015 - 2020 Intel Corporation */
Torsten Duwe 3416f8
-#include <linux/delay.h>
Torsten Duwe 3416f8
 #include "adf_accel_devices.h"
Torsten Duwe 3416f8
 #include "adf_common_drv.h"
Torsten Duwe 3416f8
 #include "adf_pf2vf_msg.h"
Torsten Duwe 3416f8
@@ -8,97 +7,10 @@
Torsten Duwe 3416f8
 #define ADF_PFVF_MSG_COLLISION_DETECT_DELAY	10
Torsten Duwe 3416f8
 #define ADF_PFVF_MSG_ACK_DELAY			2
Torsten Duwe 3416f8
 #define ADF_PFVF_MSG_ACK_MAX_RETRY		100
Torsten Duwe 3416f8
-#define ADF_PFVF_MSG_RETRY_DELAY		5
Torsten Duwe 3416f8
-#define ADF_PFVF_MSG_MAX_RETRIES		3
Torsten Duwe 3416f8
 #define ADF_PFVF_MSG_RESP_TIMEOUT	(ADF_PFVF_MSG_ACK_DELAY * \
Torsten Duwe 3416f8
 					 ADF_PFVF_MSG_ACK_MAX_RETRY + \
Torsten Duwe 3416f8
 					 ADF_PFVF_MSG_COLLISION_DETECT_DELAY)
Torsten Duwe 3416f8
 
Torsten Duwe 3416f8
-static int adf_iov_putmsg(struct adf_accel_dev *accel_dev, u32 msg, u8 vf_nr)
Torsten Duwe 3416f8
-{
Torsten Duwe 3416f8
-	struct adf_accel_pci *pci_info = &accel_dev->accel_pci_dev;
Torsten Duwe 3416f8
-	struct adf_hw_device_data *hw_data = accel_dev->hw_device;
Torsten Duwe 3416f8
-	void __iomem *pmisc_bar_addr =
Torsten Duwe 3416f8
-		pci_info->pci_bars[hw_data->get_misc_bar_id(hw_data)].virt_addr;
Torsten Duwe 3416f8
-	u32 val, pf2vf_offset, count = 0;
Torsten Duwe 3416f8
-	u32 local_in_use_mask, local_in_use_pattern;
Torsten Duwe 3416f8
-	u32 remote_in_use_mask, remote_in_use_pattern;
Torsten Duwe 3416f8
-	struct mutex *lock;	/* lock preventing concurrent acces of CSR */
Torsten Duwe 3416f8
-	unsigned int retries = ADF_PFVF_MSG_MAX_RETRIES;
Torsten Duwe 3416f8
-	u32 int_bit;
Torsten Duwe 3416f8
-	int ret;
Torsten Duwe 3416f8
-
Torsten Duwe 3416f8
-	if (accel_dev->is_vf) {
Torsten Duwe 3416f8
-		pf2vf_offset = hw_data->pfvf_ops.get_vf2pf_offset(0);
Torsten Duwe 3416f8
-		lock = &accel_dev->vf.vf2pf_lock;
Torsten Duwe 3416f8
-		local_in_use_mask = ADF_VF2PF_IN_USE_BY_VF_MASK;
Torsten Duwe 3416f8
-		local_in_use_pattern = ADF_VF2PF_IN_USE_BY_VF;
Torsten Duwe 3416f8
-		remote_in_use_mask = ADF_PF2VF_IN_USE_BY_PF_MASK;
Torsten Duwe 3416f8
-		remote_in_use_pattern = ADF_PF2VF_IN_USE_BY_PF;
Torsten Duwe 3416f8
-		int_bit = ADF_VF2PF_INT;
Torsten Duwe 3416f8
-	} else {
Torsten Duwe 3416f8
-		pf2vf_offset = hw_data->pfvf_ops.get_pf2vf_offset(vf_nr);
Torsten Duwe 3416f8
-		lock = &accel_dev->pf.vf_info[vf_nr].pf2vf_lock;
Torsten Duwe 3416f8
-		local_in_use_mask = ADF_PF2VF_IN_USE_BY_PF_MASK;
Torsten Duwe 3416f8
-		local_in_use_pattern = ADF_PF2VF_IN_USE_BY_PF;
Torsten Duwe 3416f8
-		remote_in_use_mask = ADF_VF2PF_IN_USE_BY_VF_MASK;
Torsten Duwe 3416f8
-		remote_in_use_pattern = ADF_VF2PF_IN_USE_BY_VF;
Torsten Duwe 3416f8
-		int_bit = ADF_PF2VF_INT;
Torsten Duwe 3416f8
-	}
Torsten Duwe 3416f8
-
Torsten Duwe 3416f8
-	msg &= ~local_in_use_mask;
Torsten Duwe 3416f8
-	msg |= local_in_use_pattern;
Torsten Duwe 3416f8
-
Torsten Duwe 3416f8
-	mutex_lock(lock);
Torsten Duwe 3416f8
-
Torsten Duwe 3416f8
-start:
Torsten Duwe 3416f8
-	ret = 0;
Torsten Duwe 3416f8
-
Torsten Duwe 3416f8
-	/* Check if the PFVF CSR is in use by remote function */
Torsten Duwe 3416f8
-	val = ADF_CSR_RD(pmisc_bar_addr, pf2vf_offset);
Torsten Duwe 3416f8
-	if ((val & remote_in_use_mask) == remote_in_use_pattern) {
Torsten Duwe 3416f8
-		dev_dbg(&GET_DEV(accel_dev),
Torsten Duwe 3416f8
-			"PFVF CSR in use by remote function\n");
Torsten Duwe 3416f8
-		goto retry;
Torsten Duwe 3416f8
-	}
Torsten Duwe 3416f8
-
Torsten Duwe 3416f8
-	/* Attempt to get ownership of the PFVF CSR */
Torsten Duwe 3416f8
-	ADF_CSR_WR(pmisc_bar_addr, pf2vf_offset, msg | int_bit);
Torsten Duwe 3416f8
-
Torsten Duwe 3416f8
-	/* Wait for confirmation from remote func it received the message */
Torsten Duwe 3416f8
-	do {
Torsten Duwe 3416f8
-		msleep(ADF_PFVF_MSG_ACK_DELAY);
Torsten Duwe 3416f8
-		val = ADF_CSR_RD(pmisc_bar_addr, pf2vf_offset);
Torsten Duwe 3416f8
-	} while ((val & int_bit) && (count++ < ADF_PFVF_MSG_ACK_MAX_RETRY));
Torsten Duwe 3416f8
-
Torsten Duwe 3416f8
-	if (val & int_bit) {
Torsten Duwe 3416f8
-		dev_dbg(&GET_DEV(accel_dev), "ACK not received from remote\n");
Torsten Duwe 3416f8
-		val &= ~int_bit;
Torsten Duwe 3416f8
-		ret = -EIO;
Torsten Duwe 3416f8
-	}
Torsten Duwe 3416f8
-
Torsten Duwe 3416f8
-	if (val != msg) {
Torsten Duwe 3416f8
-		dev_dbg(&GET_DEV(accel_dev),
Torsten Duwe 3416f8
-			"Collision - PFVF CSR overwritten by remote function\n");
Torsten Duwe 3416f8
-		goto retry;
Torsten Duwe 3416f8
-	}
Torsten Duwe 3416f8
-
Torsten Duwe 3416f8
-	/* Finished with the PFVF CSR; relinquish it and leave msg in CSR */
Torsten Duwe 3416f8
-	ADF_CSR_WR(pmisc_bar_addr, pf2vf_offset, val & ~local_in_use_mask);
Torsten Duwe 3416f8
-out:
Torsten Duwe 3416f8
-	mutex_unlock(lock);
Torsten Duwe 3416f8
-	return ret;
Torsten Duwe 3416f8
-
Torsten Duwe 3416f8
-retry:
Torsten Duwe 3416f8
-	if (--retries) {
Torsten Duwe 3416f8
-		msleep(ADF_PFVF_MSG_RETRY_DELAY);
Torsten Duwe 3416f8
-		goto start;
Torsten Duwe 3416f8
-	} else {
Torsten Duwe 3416f8
-		ret = -EBUSY;
Torsten Duwe 3416f8
-		goto out;
Torsten Duwe 3416f8
-	}
Torsten Duwe 3416f8
-}
Torsten Duwe 3416f8
-
Torsten Duwe 3416f8
 /**
Torsten Duwe 3416f8
  * adf_send_pf2vf_msg() - send PF to VF message
Torsten Duwe 3416f8
  * @accel_dev:	Pointer to acceleration device
Torsten Duwe 3416f8
@@ -111,7 +23,7 @@ retry:
Torsten Duwe 3416f8
  */
Torsten Duwe 3416f8
 static int adf_send_pf2vf_msg(struct adf_accel_dev *accel_dev, u8 vf_nr, u32 msg)
Torsten Duwe 3416f8
 {
Torsten Duwe 3416f8
-	return adf_iov_putmsg(accel_dev, msg, vf_nr);
Torsten Duwe 3416f8
+	return GET_PFVF_OPS(accel_dev)->send_msg(accel_dev, msg, vf_nr);
Torsten Duwe 3416f8
 }
Torsten Duwe 3416f8
 
Torsten Duwe 3416f8
 /**
Torsten Duwe 3416f8
@@ -125,7 +37,7 @@ static int adf_send_pf2vf_msg(struct adf_accel_dev *accel_dev, u8 vf_nr, u32 msg
Torsten Duwe 3416f8
  */
Torsten Duwe 3416f8
 int adf_send_vf2pf_msg(struct adf_accel_dev *accel_dev, u32 msg)
Torsten Duwe 3416f8
 {
Torsten Duwe 3416f8
-	return adf_iov_putmsg(accel_dev, msg, 0);
Torsten Duwe 3416f8
+	return GET_PFVF_OPS(accel_dev)->send_msg(accel_dev, msg, 0);
Torsten Duwe 3416f8
 }
Torsten Duwe 3416f8
 
Torsten Duwe 3416f8
 /**
Torsten Duwe 3416f8
diff --git a/drivers/crypto/qat/qat_common/adf_pf2vf_msg.h b/drivers/crypto/qat/qat_common/adf_pf2vf_msg.h
Torsten Duwe 3416f8
index a7d8f83673453..73eb8f13ad095 100644
Torsten Duwe 3416f8
--- a/drivers/crypto/qat/qat_common/adf_pf2vf_msg.h
Torsten Duwe 3416f8
+++ b/drivers/crypto/qat/qat_common/adf_pf2vf_msg.h
Torsten Duwe 3416f8
@@ -49,7 +49,8 @@
Torsten Duwe 3416f8
  *
Torsten Duwe 3416f8
  * When a PF or VF attempts to send a message in the lower or upper 16 bits,
Torsten Duwe 3416f8
  * respectively, the other 16 bits are written to first with a defined
Torsten Duwe 3416f8
- * IN_USE_BY pattern as part of a collision control scheme (see adf_iov_putmsg).
Torsten Duwe 3416f8
+ * IN_USE_BY pattern as part of a collision control scheme (see function
Torsten Duwe 3416f8
+ * adf_gen2_pfvf_send() in adf_pf2vf_msg.c).
Torsten Duwe 3416f8
  */
Torsten Duwe 3416f8
 
Torsten Duwe 3416f8
 #define ADF_PFVF_COMPAT_THIS_VERSION		0x1	/* PF<->VF compat */
Torsten Duwe 3416f8
-- 
Torsten Duwe 3416f8
2.35.3
Torsten Duwe 3416f8