common/mlx5: fix device list operations concurrency
[dpdk.git] / drivers / common / cnxk / roc_idev.c
index 4d7b534..1494187 100644 (file)
@@ -37,6 +37,7 @@ idev_set_defaults(struct idev_cfg *idev)
        idev->lmt_base_addr = 0;
        idev->num_lmtlines = 0;
        idev->bphy = NULL;
+       idev->cpt = NULL;
        __atomic_store_n(&idev->npa_refcnt, 0, __ATOMIC_RELEASE);
 }
 
@@ -171,6 +172,26 @@ roc_idev_num_lmtlines_get(void)
        return num_lmtlines;
 }
 
+struct roc_cpt *
+roc_idev_cpt_get(void)
+{
+       struct idev_cfg *idev = idev_get_cfg();
+
+       if (idev != NULL)
+               return idev->cpt;
+
+       return NULL;
+}
+
+void
+roc_idev_cpt_set(struct roc_cpt *cpt)
+{
+       struct idev_cfg *idev = idev_get_cfg();
+
+       if (idev != NULL)
+               __atomic_store_n(&idev->cpt, cpt, __ATOMIC_RELEASE);
+}
+
 struct roc_nix *
 roc_idev_npa_nix_get(void)
 {