crypto/cnxk: move IPsec SA creation to common
[dpdk.git] / drivers / common / cnxk / roc_sso_priv.h
index 5361d4f..674e4e0 100644 (file)
@@ -22,10 +22,12 @@ struct sso {
        /* SSO link mapping. */
        struct plt_bitmap **link_map;
        void *link_map_mem;
+       plt_spinlock_t mbox_lock;
 } __plt_cache_aligned;
 
 enum sso_err_status {
        SSO_ERR_PARAM = -4096,
+       SSO_ERR_DEVICE_NOT_BOUNDED = -4097,
 };
 
 enum sso_lf_type {
@@ -39,6 +41,20 @@ roc_sso_to_sso_priv(struct roc_sso *roc_sso)
        return (struct sso *)&roc_sso->reserved[0];
 }
 
+/* SSO LF ops */
+int sso_lf_alloc(struct dev *dev, enum sso_lf_type lf_type, uint16_t nb_lf,
+                void **rsp);
+int sso_lf_free(struct dev *dev, enum sso_lf_type lf_type, uint16_t nb_lf);
+void sso_hws_link_modify(uint8_t hws, uintptr_t base, struct plt_bitmap *bmp,
+                        uint16_t hwgrp[], uint16_t n, uint16_t enable);
+int sso_hwgrp_alloc_xaq(struct dev *dev, uint32_t npa_aura_id, uint16_t hwgrps);
+int sso_hwgrp_release_xaq(struct dev *dev, uint16_t hwgrps);
+int sso_hwgrp_init_xaq_aura(struct dev *dev, struct roc_sso_xaq_data *xaq,
+                           uint32_t nb_xae, uint32_t xae_waes,
+                           uint32_t xaq_buf_size, uint16_t nb_hwgrp);
+int sso_hwgrp_free_xaq_aura(struct dev *dev, struct roc_sso_xaq_data *xaq,
+                           uint16_t nb_hwgrp);
+
 /* SSO IRQ */
 int sso_register_irqs_priv(struct roc_sso *roc_sso,
                           struct plt_intr_handle *handle, uint16_t nb_hws,