+#ifndef BITS_PER_LONG_LONG
+#define BITS_PER_LONG_LONG (__SIZEOF_LONG_LONG__ * 8)
+#endif
+
+#ifndef GENMASK
+#define GENMASK(h, l) \
+ (((~0UL) << (l)) & (~0UL >> (BITS_PER_LONG - 1 - (h))))
+#endif
+#ifndef GENMASK_ULL
+#define GENMASK_ULL(h, l) \
+ (((~0ULL) - (1ULL << (l)) + 1) & \
+ (~0ULL >> (BITS_PER_LONG_LONG - 1 - (h))))
+#endif
+
+#define OTX2_NPA_LOCK_MASK "npa_lock_mask"
+
+/* Intra device related functions */
+struct otx2_npa_lf;
+struct otx2_idev_cfg {
+ uint16_t sso_pf_func;
+ uint16_t npa_pf_func;
+ struct otx2_npa_lf *npa_lf;
+ RTE_STD_C11
+ union {
+ rte_atomic16_t npa_refcnt;
+ uint16_t npa_refcnt_u16;
+ };
+ uint64_t npa_lock_mask;
+};
+
+__rte_internal
+struct otx2_idev_cfg *otx2_intra_dev_get_cfg(void);
+__rte_internal
+void otx2_sso_pf_func_set(uint16_t sso_pf_func);
+__rte_internal
+uint16_t otx2_sso_pf_func_get(void);
+__rte_internal
+uint16_t otx2_npa_pf_func_get(void);
+__rte_internal
+struct otx2_npa_lf *otx2_npa_lf_obj_get(void);
+__rte_internal
+void otx2_npa_set_defaults(struct otx2_idev_cfg *idev);
+__rte_internal
+int otx2_npa_lf_active(void *dev);
+__rte_internal
+int otx2_npa_lf_obj_ref(void);
+__rte_internal
+void otx2_parse_common_devargs(struct rte_kvargs *kvlist);