[dpdk-dev] [PATCH v2 08/17] common/cnxk: add CPT LF flush
Anoob Joseph
anoobj at marvell.com
Fri Jun 25 07:36:40 CEST 2021
From: Aakash Sasidharan <asasidharan at marvell.com>
Add routine to flush context from CPT context processor cache.
Signed-off-by: Aakash Sasidharan <asasidharan at marvell.com>
Signed-off-by: Vidya Sagar Velumuri <vvelumuri at marvell.com>
---
drivers/common/cnxk/roc_cpt.c | 18 ++++++++++++++++++
drivers/common/cnxk/roc_cpt.h | 1 +
drivers/common/cnxk/version.map | 1 +
3 files changed, 20 insertions(+)
diff --git a/drivers/common/cnxk/roc_cpt.c b/drivers/common/cnxk/roc_cpt.c
index 21c7704..fd92de3 100644
--- a/drivers/common/cnxk/roc_cpt.c
+++ b/drivers/common/cnxk/roc_cpt.c
@@ -599,6 +599,24 @@ roc_cpt_dev_init(struct roc_cpt *roc_cpt)
return rc;
}
+int
+roc_cpt_lf_ctx_flush(struct roc_cpt_lf *lf, uint64_t cptr)
+{
+ union cpt_lf_ctx_flush reg;
+
+ if (lf == NULL)
+ return -ENOTSUP;
+
+ reg.u = 0;
+ reg.s.pf_func = lf->pf_func;
+ reg.s.inval = 1;
+ reg.s.cptr = cptr;
+
+ plt_write64(reg.u, lf->rbase + CPT_LF_CTX_FLUSH);
+
+ return 0;
+}
+
void
cpt_lf_fini(struct roc_cpt_lf *lf)
{
diff --git a/drivers/common/cnxk/roc_cpt.h b/drivers/common/cnxk/roc_cpt.h
index 73ecb4e..022c8ad 100644
--- a/drivers/common/cnxk/roc_cpt.h
+++ b/drivers/common/cnxk/roc_cpt.h
@@ -63,6 +63,7 @@ int __roc_api roc_cpt_dev_configure(struct roc_cpt *roc_cpt, int nb_lf);
void __roc_api roc_cpt_dev_clear(struct roc_cpt *roc_cpt);
int __roc_api roc_cpt_lf_init(struct roc_cpt *roc_cpt, struct roc_cpt_lf *lf);
void __roc_api roc_cpt_lf_fini(struct roc_cpt_lf *lf);
+int __roc_api roc_cpt_lf_ctx_flush(struct roc_cpt_lf *lf, uint64_t cptr);
int __roc_api roc_cpt_afs_print(struct roc_cpt *roc_cpt);
int __roc_api roc_cpt_lfs_print(struct roc_cpt *roc_cpt);
void __roc_api roc_cpt_iq_disable(struct roc_cpt_lf *lf);
diff --git a/drivers/common/cnxk/version.map b/drivers/common/cnxk/version.map
index 87130df..0827b77 100644
--- a/drivers/common/cnxk/version.map
+++ b/drivers/common/cnxk/version.map
@@ -18,6 +18,7 @@ INTERNAL {
roc_cpt_dev_init;
roc_cpt_eng_grp_add;
roc_cpt_iq_disable;
+ roc_cpt_lf_ctx_flush;
roc_cpt_lf_init;
roc_cpt_lf_fini;
roc_cpt_lfs_print;
--
2.7.4
More information about the dev
mailing list