drivers/crypto/octeontx: enable unbinding for the OcteonTx crypto engines

Message ID 22e44c87c26193219900e738dcda9b1390efcb9c.1568217224.git.thierry.herbelot@6wind.com (mailing list archive)
State Superseded, archived
Delegated to: akhil goyal
Headers
Series drivers/crypto/octeontx: enable unbinding for the OcteonTx crypto engines |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/iol-dpdk_compile_ovs success Compile Testing PASS
ci/iol-dpdk_compile success Compile Testing PASS
ci/iol-dpdk_compile_spdk success Compile Testing PASS
ci/intel-Performance success Performance Testing PASS
ci/mellanox-Performance success Performance Testing PASS

Commit Message

Thierry Herbelot Sept. 11, 2019, 4:07 p.m. UTC
  Like for Ethernet ports, the OcteonTx crypto engines must first be unbound
from their kernel module, then rebound to vfio-pci, before being usable
in DPDK.

As this capability is detected at runtime by dpdk-pmdinfo, add the info
in the PMD registering directives.

Then an external script can be used for bind and unbind.

Fixes: bfe2ae495ee268 ('crypto/octeontx: add PMD skeleton')
Cc: stable@dpdk.org
Cc: anoobj@marvell.com

Signed-off-by: Thierry Herbelot <thierry.herbelot@6wind.com>
---
 drivers/crypto/octeontx/otx_cryptodev.c | 1 +
 1 file changed, 1 insertion(+)
  

Comments

Anoob Joseph Sept. 12, 2019, 4:37 p.m. UTC | #1
Hi Thierry,

Thanks for looking into this. Please see inline.

Thanks,
Anoob

> -----Original Message-----
> From: Thierry Herbelot <thierry.herbelot@6wind.com>
> Sent: Wednesday, September 11, 2019 9:37 PM
> To: dev@dpdk.org
> Cc: Thomas Monjalon <thomas@monjalon.net>; stable@dpdk.org; Anoob
> Joseph <anoobj@marvell.com>
> Subject: [EXT] [PATCH] drivers/crypto/octeontx: enable unbinding for the

[Anoob] The subject has to start with "crypto/octeontx: ...". Please correct this.

Also, please use OCTEON TX instead of OcteonTx here and in the description below.
 
> OcteonTx crypto engines
> 
> External Email
> 
> ----------------------------------------------------------------------
> Like for Ethernet ports, the OcteonTx crypto engines must first be unbound from
> their kernel module, then rebound to vfio-pci, before being usable in DPDK.
> 
> As this capability is detected at runtime by dpdk-pmdinfo, add the info in the
> PMD registering directives.
> 
> Then an external script can be used for bind and unbind.
> 
> Fixes: bfe2ae495ee268 ('crypto/octeontx: add PMD skeleton')
> Cc: stable@dpdk.org
> Cc: anoobj@marvell.com
> 
> Signed-off-by: Thierry Herbelot <thierry.herbelot@6wind.com>
> ---
>  drivers/crypto/octeontx/otx_cryptodev.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/crypto/octeontx/otx_cryptodev.c
> b/drivers/crypto/octeontx/otx_cryptodev.c
> index fc64a5f3041f..16f1909966d0 100644
> --- a/drivers/crypto/octeontx/otx_cryptodev.c
> +++ b/drivers/crypto/octeontx/otx_cryptodev.c
> @@ -118,6 +118,7 @@ static struct cryptodev_driver otx_cryptodev_drv;
> 
>  RTE_PMD_REGISTER_PCI(CRYPTODEV_NAME_OCTEONTX_PMD,
> otx_cryptodev_pmd);
> RTE_PMD_REGISTER_PCI_TABLE(CRYPTODEV_NAME_OCTEONTX_PMD,
> pci_id_cpt_table);
> +RTE_PMD_REGISTER_KMOD_DEP(CRYPTODEV_NAME_OCTEONTX_PMD, "*
> igb_uio |
> +uio_pci_generic | vfio-pci");
>  RTE_PMD_REGISTER_CRYPTO_DRIVER(otx_cryptodev_drv,
> otx_cryptodev_pmd.driver,
>  		otx_cryptodev_driver_id);

[Anoob] Only the following change is required. Can you send a revised patch with this change?

RTE_PMD_REGISTER_PCI_TABLE(CRYPTODEV_NAME_OCTEONTX_PMD, pci_id_cpt_table);
+RTE_PMD_REGISTER_KMOD_DEP(CRYPTODEV_NAME_OCTEONTX_PMD, "vfio-pci");
 RTE_PMD_REGISTER_CRYPTO_DRIVER(otx_cryptodev_drv, otx_cryptodev_pmd.driver,

> 
> --
> 2.20.1
  

Patch

diff --git a/drivers/crypto/octeontx/otx_cryptodev.c b/drivers/crypto/octeontx/otx_cryptodev.c
index fc64a5f3041f..16f1909966d0 100644
--- a/drivers/crypto/octeontx/otx_cryptodev.c
+++ b/drivers/crypto/octeontx/otx_cryptodev.c
@@ -118,6 +118,7 @@  static struct cryptodev_driver otx_cryptodev_drv;
 
 RTE_PMD_REGISTER_PCI(CRYPTODEV_NAME_OCTEONTX_PMD, otx_cryptodev_pmd);
 RTE_PMD_REGISTER_PCI_TABLE(CRYPTODEV_NAME_OCTEONTX_PMD, pci_id_cpt_table);
+RTE_PMD_REGISTER_KMOD_DEP(CRYPTODEV_NAME_OCTEONTX_PMD, "* igb_uio | uio_pci_generic | vfio-pci");
 RTE_PMD_REGISTER_CRYPTO_DRIVER(otx_cryptodev_drv, otx_cryptodev_pmd.driver,
 		otx_cryptodev_driver_id);