[PATCH 1/3] common/qat: limit configuration to the primary process
Power, Ciara
ciara.power at intel.com
Mon Sep 18 17:07:19 CEST 2023
Hi Arek,
> -----Original Message-----
> From: Kusztal, ArkadiuszX <arkadiuszx.kusztal at intel.com>
> Sent: Sunday, September 17, 2023 4:43 PM
> To: dev at dpdk.org
> Cc: gakhil at marvell.com; Ji, Kai <kai.ji at intel.com>; Power, Ciara
> <ciara.power at intel.com>; Kusztal, ArkadiuszX
> <arkadiuszx.kusztal at intel.com>
> Subject: [PATCH 1/3] common/qat: limit configuration to the primary process
>
> This change prevents certain configuration functions from being called by the
> secondary process.
>
> Signed-off-by: Arkadiusz Kusztal <arkadiuszx.kusztal at intel.com>
> ---
> drivers/common/qat/qat_device.c | 113 +++++++++++++++++++++++-------
> ----------
> drivers/common/qat/qat_device.h | 2 +
> 2 files changed, 66 insertions(+), 49 deletions(-)
>
<snip>
> +static enum qat_device_gen
> +pick_gen(struct rte_pci_device *pci_dev) {
> + switch (pci_dev->id.device_id) {
> + case 0x0443:
> + return QAT_GEN1;
> + case 0x37c9:
> + case 0x19e3:
> + case 0x6f55:
> + case 0x18ef:
> + return QAT_GEN2;
> + case 0x18a1:
> + return QAT_GEN3;
> + case 0x4941:
> + case 0x4943:
> + return QAT_GEN4;
> + default:
> + QAT_LOG(ERR, "Invalid dev_id, can't determine generation");
> + return QAT_N_GENS;
> + }
> +}
> +
> struct qat_pci_device *
> qat_pci_device_allocate(struct rte_pci_device *pci_dev,
> struct qat_dev_cmd_param *qat_dev_cmd_param) @@ -
> 187,24 +218,8 @@ qat_pci_device_allocate(struct rte_pci_device *pci_dev,
> rte_pci_device_name(&pci_dev->addr, name, sizeof(name));
> snprintf(name+strlen(name), QAT_DEV_NAME_MAX_LEN-
> strlen(name), "_qat");
>
> - switch (pci_dev->id.device_id) {
> - case 0x0443:
> - qat_dev_gen = QAT_GEN1;
> - break;
> - case 0x37c9:
> - case 0x19e3:
> - case 0x6f55:
> - case 0x18ef:
> - qat_dev_gen = QAT_GEN2;
> - break;
> - case 0x18a1:
> - qat_dev_gen = QAT_GEN3;
> - break;
> - case 0x4941:
> - case 0x4943:
> - qat_dev_gen = QAT_GEN4;
> - break;
> - default:
> + qat_dev_gen = pick_gen(pci_dev);
> + if (qat_dev_gen == QAT_N_GENS) {
> QAT_LOG(ERR, "Invalid dev_id, can't determine generation");
> return NULL;
> }
The above log is duplicated, once in pick_gen() and once here.
> @@ -261,20 +276,15 @@ qat_pci_device_allocate(struct rte_pci_device
> *pci_dev,
> qat_dev->dev_private = qat_dev + 1;
> strlcpy(qat_dev->name, name, QAT_DEV_NAME_MAX_LEN);
> qat_dev->qat_dev_id = qat_dev_id;
> - qat_pci_devs[qat_dev_id].pci_dev = pci_dev;
> qat_dev->qat_dev_gen = qat_dev_gen;
>
> ops_hw = qat_dev_hw_spec[qat_dev->qat_dev_gen];
> - if (ops_hw->qat_dev_get_misc_bar == NULL) {
> - QAT_LOG(ERR, "qat_dev_get_misc_bar function pointer not
> set");
> - rte_memzone_free(qat_dev_mz);
> - return NULL;
> - }
> + NOT_NULL(ops_hw->qat_dev_reset_ring_pairs, goto error,
> + "QAT internal error! qat_dev_get_misc_bar function not set");
This check should be for ops_hw->qat_dev_get_misc_bar as mentioned in log.
Thanks,
Ciara
More information about the dev
mailing list