crypto: octeontx2 - By default allocate one CPT LF per CPT VF
authorBharat Bhushan <bbhushan2@marvell.com>
Wed, 29 Nov 2023 15:41:33 +0000 (21:11 +0530)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 8 Dec 2023 03:59:44 +0000 (11:59 +0800)
There are limited number CPT LFs (example 64 LFs on cn10k) and
these LFs are allocated/attached to CPT VF on its creation.
cptpf sysfs parameter "kvf_limits" defines number of CPT LFs
per CPT VF. Default "kvf_limits" is initialized to zero and if
kvf_limits is zero then number of LF allocated are equal to
online cpus in system.

For example on 24 core system, 24 CPT LFs will be attached per VF.
That means no CPT LF available when creating more than 2 CPT VFs
on system which have total 64 LFs. Although VFs gets created but
no LF attached to it.

There seems no reason to default allocate as many LFs as many
online cpus in system. This patch initializes "kvf_limits" to
one to limit one LF allocated per CPT VF. "kvf_limits" can
be changed in range of 1 to number-of-online-cpus via sysfs.

Signed-off-by: Bharat Bhushan <bbhushan2@marvell.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/marvell/octeontx2/otx2_cptpf_main.c
drivers/crypto/marvell/octeontx2/otx2_cptvf_main.c

index e34223daa327af119bd479d828a50de1c912ce7e..b13df6a4964441bf33f87fc8c78db44370262e67 100644 (file)
@@ -797,6 +797,7 @@ static int otx2_cptpf_probe(struct pci_dev *pdev,
                goto destroy_afpf_mbox;
 
        cptpf->max_vfs = pci_sriov_get_totalvfs(pdev);
+       cptpf->kvf_limits = 1;
 
        err = cn10k_cptpf_lmtst_init(cptpf);
        if (err)
index bac729c885f960fc2893001e842c427098802ef2..69a447d3702c3105d91ef6819f354c1983a00476 100644 (file)
@@ -277,8 +277,7 @@ static int cptvf_lf_init(struct otx2_cptvf_dev *cptvf)
        if (ret)
                return ret;
 
-       lfs_num = cptvf->lfs.kvf_limits ? cptvf->lfs.kvf_limits :
-                 num_online_cpus();
+       lfs_num = cptvf->lfs.kvf_limits;
 
        otx2_cptlf_set_dev_info(lfs, cptvf->pdev, cptvf->reg_base,
                                &cptvf->pfvf_mbox, cptvf->blkaddr);