Lines Matching refs:app_priv
336 kfree(repr->app_priv); in nfp_flower_repr_netdev_clean()
408 nfp_repr->app_priv = repr_priv; in nfp_flower_spawn_vnic_reprs()
526 nfp_repr->app_priv = repr_priv; in nfp_flower_spawn_phy_reprs()
672 struct nfp_flower_priv *app_priv; in nfp_flower_init() local
729 app_priv = vzalloc(sizeof(struct nfp_flower_priv)); in nfp_flower_init()
730 if (!app_priv) in nfp_flower_init()
733 app_priv->total_mem_units = num_mems; in nfp_flower_init()
734 app_priv->active_mem_unit = 0; in nfp_flower_init()
735 app_priv->stats_ring_size = roundup_pow_of_two(ctx_count); in nfp_flower_init()
736 app->priv = app_priv; in nfp_flower_init()
737 app_priv->app = app; in nfp_flower_init()
738 skb_queue_head_init(&app_priv->cmsg_skbs_high); in nfp_flower_init()
739 skb_queue_head_init(&app_priv->cmsg_skbs_low); in nfp_flower_init()
740 INIT_WORK(&app_priv->cmsg_work, nfp_flower_cmsg_process_rx); in nfp_flower_init()
741 init_waitqueue_head(&app_priv->reify_wait_queue); in nfp_flower_init()
743 init_waitqueue_head(&app_priv->mtu_conf.wait_q); in nfp_flower_init()
744 spin_lock_init(&app_priv->mtu_conf.lock); in nfp_flower_init()
754 app_priv->flower_ext_feats = 0; in nfp_flower_init()
756 app_priv->flower_ext_feats = features; in nfp_flower_init()
762 app_priv->flower_ext_feats |= NFP_FL_FEATS_LAG; in nfp_flower_init()
763 nfp_flower_lag_init(&app_priv->nfp_lag); in nfp_flower_init()
770 if (app_priv->flower_ext_feats & NFP_FL_FEATS_FLOW_MOD) { in nfp_flower_init()
775 app_priv->flower_ext_feats |= NFP_FL_FEATS_FLOW_MERGE; in nfp_flower_init()
776 nfp_flower_internal_port_init(app_priv); in nfp_flower_init()
786 if (app_priv->flower_ext_feats & NFP_FL_FEATS_VF_RLIM) in nfp_flower_init()
789 INIT_LIST_HEAD(&app_priv->indr_block_cb_priv); in nfp_flower_init()
790 INIT_LIST_HEAD(&app_priv->non_repr_priv); in nfp_flower_init()
791 app_priv->pre_tun_rule_cnt = 0; in nfp_flower_init()
796 if (app_priv->flower_ext_feats & NFP_FL_FEATS_LAG) in nfp_flower_init()
797 nfp_flower_lag_cleanup(&app_priv->nfp_lag); in nfp_flower_init()
807 struct nfp_flower_priv *app_priv = app->priv; in nfp_flower_clean() local
809 skb_queue_purge(&app_priv->cmsg_skbs_high); in nfp_flower_clean()
810 skb_queue_purge(&app_priv->cmsg_skbs_low); in nfp_flower_clean()
811 flush_work(&app_priv->cmsg_work); in nfp_flower_clean()
813 if (app_priv->flower_ext_feats & NFP_FL_FEATS_VF_RLIM) in nfp_flower_clean()
816 if (app_priv->flower_ext_feats & NFP_FL_FEATS_LAG) in nfp_flower_clean()
817 nfp_flower_lag_cleanup(&app_priv->nfp_lag); in nfp_flower_clean()
819 if (app_priv->flower_ext_feats & NFP_FL_FEATS_FLOW_MERGE) in nfp_flower_clean()
820 nfp_flower_internal_port_cleanup(app_priv); in nfp_flower_clean()
827 static bool nfp_flower_check_ack(struct nfp_flower_priv *app_priv) in nfp_flower_check_ack() argument
831 spin_lock_bh(&app_priv->mtu_conf.lock); in nfp_flower_check_ack()
832 ret = app_priv->mtu_conf.ack; in nfp_flower_check_ack()
833 spin_unlock_bh(&app_priv->mtu_conf.lock); in nfp_flower_check_ack()
842 struct nfp_flower_priv *app_priv = app->priv; in nfp_flower_repr_change_mtu() local
850 if (!(app_priv->flower_ext_feats & NFP_FL_NBI_MTU_SETTING)) { in nfp_flower_repr_change_mtu()
855 spin_lock_bh(&app_priv->mtu_conf.lock); in nfp_flower_repr_change_mtu()
856 app_priv->mtu_conf.ack = false; in nfp_flower_repr_change_mtu()
857 app_priv->mtu_conf.requested_val = new_mtu; in nfp_flower_repr_change_mtu()
858 app_priv->mtu_conf.portnum = repr->dst->u.port_info.port_id; in nfp_flower_repr_change_mtu()
859 spin_unlock_bh(&app_priv->mtu_conf.lock); in nfp_flower_repr_change_mtu()
864 spin_lock_bh(&app_priv->mtu_conf.lock); in nfp_flower_repr_change_mtu()
865 app_priv->mtu_conf.requested_val = 0; in nfp_flower_repr_change_mtu()
866 spin_unlock_bh(&app_priv->mtu_conf.lock); in nfp_flower_repr_change_mtu()
871 if (!wait_event_timeout(app_priv->mtu_conf.wait_q, in nfp_flower_repr_change_mtu()
872 nfp_flower_check_ack(app_priv), in nfp_flower_repr_change_mtu()
874 spin_lock_bh(&app_priv->mtu_conf.lock); in nfp_flower_repr_change_mtu()
875 app_priv->mtu_conf.requested_val = 0; in nfp_flower_repr_change_mtu()
876 spin_unlock_bh(&app_priv->mtu_conf.lock); in nfp_flower_repr_change_mtu()
886 struct nfp_flower_priv *app_priv = app->priv; in nfp_flower_start() local
889 if (app_priv->flower_ext_feats & NFP_FL_FEATS_LAG) { in nfp_flower_start()
890 err = nfp_flower_lag_reset(&app_priv->nfp_lag); in nfp_flower_start()
907 struct nfp_flower_priv *app_priv = app->priv; in nfp_flower_netdev_event() local
910 if (app_priv->flower_ext_feats & NFP_FL_FEATS_LAG) { in nfp_flower_netdev_event()
911 ret = nfp_flower_lag_netdev_event(app_priv, netdev, event, ptr); in nfp_flower_netdev_event()