return dev->pf_func;
}
+int
+roc_nix_lf_inl_ipsec_cfg(struct roc_nix *roc_nix, struct roc_nix_ipsec_cfg *cfg,
+ bool enb)
+{
+ struct nix *nix = roc_nix_to_nix_priv(roc_nix);
+ struct nix_inline_ipsec_lf_cfg *lf_cfg;
+ struct mbox *mbox = (&nix->dev)->mbox;
+
+ lf_cfg = mbox_alloc_msg_nix_inline_ipsec_lf_cfg(mbox);
+ if (lf_cfg == NULL)
+ return -ENOSPC;
+
+ if (enb) {
+ lf_cfg->enable = 1;
+ lf_cfg->sa_base_addr = cfg->iova;
+ lf_cfg->ipsec_cfg1.sa_idx_w = plt_log2_u32(cfg->max_sa);
+ lf_cfg->ipsec_cfg0.lenm1_max = roc_nix_max_pkt_len(roc_nix) - 1;
+ lf_cfg->ipsec_cfg1.sa_idx_max = cfg->max_sa - 1;
+ lf_cfg->ipsec_cfg0.sa_pow2_size = plt_log2_u32(cfg->sa_size);
+ lf_cfg->ipsec_cfg0.tag_const = cfg->tag_const;
+ lf_cfg->ipsec_cfg0.tt = cfg->tt;
+ } else {
+ lf_cfg->enable = 0;
+ }
+
+ return mbox_process(mbox);
+}
+
int
roc_nix_max_pkt_len(struct roc_nix *roc_nix)
{
req->rss_sz = nix->reta_sz;
req->rss_grps = ROC_NIX_RSS_GRPS;
req->npa_func = idev_npa_pffunc_get();
+ req->sso_func = idev_sso_pffunc_get();
req->rx_cfg = rx_cfg;
if (!roc_nix->rss_tag_as_xor)
if (rc)
goto lf_detach;
+ rc = nix_tm_conf_init(roc_nix);
+ if (rc)
+ goto unregister_irqs;
+
/* Get NIX HW info */
roc_nix_get_hw_info(roc_nix);
nix->dev.drv_inited = true;
return 0;
+unregister_irqs:
+ nix_unregister_irqs(nix);
lf_detach:
nix_lf_detach(nix);
dev_fini:
if (!nix->dev.drv_inited)
goto fini;
+ nix_tm_conf_fini(roc_nix);
nix_unregister_irqs(nix);
rc = nix_lf_detach(nix);