Lines Matching refs:fl_priv
162 struct nfp_flower_priv *fl_priv = app->priv; in nfp_flower_install_rate_limiter() local
182 pps_support = !!(fl_priv->flower_ext_feats & NFP_FL_FEATS_QOS_PPS); in nfp_flower_install_rate_limiter()
271 fl_priv->qos_rate_limiters++; in nfp_flower_install_rate_limiter()
272 if (fl_priv->qos_rate_limiters == 1) in nfp_flower_install_rate_limiter()
273 schedule_delayed_work(&fl_priv->qos_stats_work, in nfp_flower_install_rate_limiter()
284 struct nfp_flower_priv *fl_priv = app->priv; in nfp_flower_remove_rate_limiter() local
300 pps_support = !!(fl_priv->flower_ext_feats & NFP_FL_FEATS_QOS_PPS); in nfp_flower_remove_rate_limiter()
308 fl_priv->qos_rate_limiters--; in nfp_flower_remove_rate_limiter()
309 if (!fl_priv->qos_rate_limiters) in nfp_flower_remove_rate_limiter()
310 cancel_delayed_work_sync(&fl_priv->qos_stats_work); in nfp_flower_remove_rate_limiter()
338 struct nfp_flower_priv *fl_priv = app->priv; in nfp_flower_stats_rlim_reply() local
362 spin_lock_bh(&fl_priv->qos_stats_lock); in nfp_flower_stats_rlim_reply()
374 spin_unlock_bh(&fl_priv->qos_stats_lock); in nfp_flower_stats_rlim_reply()
381 nfp_flower_stats_rlim_request(struct nfp_flower_priv *fl_priv, in nfp_flower_stats_rlim_request() argument
387 skb = nfp_flower_cmsg_alloc(fl_priv->app, in nfp_flower_stats_rlim_request()
403 nfp_ctrl_tx(fl_priv->app->ctrl, skb); in nfp_flower_stats_rlim_request()
407 nfp_flower_stats_rlim_request_all(struct nfp_flower_priv *fl_priv) in nfp_flower_stats_rlim_request_all() argument
413 repr_set = rcu_dereference(fl_priv->app->reprs[NFP_REPR_TYPE_VF]); in nfp_flower_stats_rlim_request_all()
431 nfp_flower_stats_rlim_request(fl_priv, in nfp_flower_stats_rlim_request_all()
443 struct nfp_flower_priv *fl_priv; in update_stats_cache() local
446 fl_priv = container_of(delayed_work, struct nfp_flower_priv, in update_stats_cache()
449 nfp_flower_stats_rlim_request_all(fl_priv); in update_stats_cache()
450 nfp_flower_stats_meter_request_all(fl_priv); in update_stats_cache()
452 schedule_delayed_work(&fl_priv->qos_stats_work, NFP_FL_QOS_UPDATE); in update_stats_cache()
460 struct nfp_flower_priv *fl_priv = app->priv; in nfp_flower_stats_rate_limiter() local
479 spin_lock_bh(&fl_priv->qos_stats_lock); in nfp_flower_stats_rate_limiter()
486 spin_unlock_bh(&fl_priv->qos_stats_lock); in nfp_flower_stats_rate_limiter()
496 struct nfp_flower_priv *fl_priv = app->priv; in nfp_flower_qos_init() local
498 spin_lock_init(&fl_priv->qos_stats_lock); in nfp_flower_qos_init()
499 mutex_init(&fl_priv->meter_stats_lock); in nfp_flower_qos_init()
502 INIT_DELAYED_WORK(&fl_priv->qos_stats_work, &update_stats_cache); in nfp_flower_qos_init()
507 struct nfp_flower_priv *fl_priv = app->priv; in nfp_flower_qos_cleanup() local
509 cancel_delayed_work_sync(&fl_priv->qos_stats_work); in nfp_flower_qos_cleanup()
516 struct nfp_flower_priv *fl_priv = app->priv; in nfp_flower_setup_qos_offload() local
518 if (!(fl_priv->flower_ext_feats & NFP_FL_FEATS_VF_RLIM)) { in nfp_flower_setup_qos_offload()
611 struct nfp_flower_priv *fl_priv = app->priv; in nfp_flower_setup_meter_entry() local
615 mutex_lock(&fl_priv->meter_stats_lock); in nfp_flower_setup_meter_entry()
645 mutex_unlock(&fl_priv->meter_stats_lock); in nfp_flower_setup_meter_entry()
657 nfp_flower_stats_meter_request_all(struct nfp_flower_priv *fl_priv) in nfp_flower_stats_meter_request_all() argument
662 mutex_lock(&fl_priv->meter_stats_lock); in nfp_flower_stats_meter_request_all()
663 rhashtable_walk_enter(&fl_priv->meter_table, &iter); in nfp_flower_stats_meter_request_all()
669 nfp_flower_stats_rlim_request(fl_priv, in nfp_flower_stats_meter_request_all()
675 mutex_unlock(&fl_priv->meter_stats_lock); in nfp_flower_stats_meter_request_all()
684 struct nfp_flower_priv *fl_priv = app->priv; in nfp_act_install_actions() local
691 pps_support = !!(fl_priv->flower_ext_feats & NFP_FL_FEATS_QOS_PPS); in nfp_act_install_actions()
777 struct nfp_flower_priv *fl_priv = app->priv; in nfp_act_stats_reply() local
783 mutex_lock(&fl_priv->meter_stats_lock); in nfp_act_stats_reply()
803 mutex_unlock(&fl_priv->meter_stats_lock); in nfp_act_stats_reply()
810 struct nfp_flower_priv *fl_priv = app->priv; in nfp_act_stats_actions() local
821 mutex_lock(&fl_priv->meter_stats_lock); in nfp_act_stats_actions()
843 mutex_unlock(&fl_priv->meter_stats_lock); in nfp_act_stats_actions()
851 struct nfp_flower_priv *fl_priv = app->priv; in nfp_setup_tc_act_offload() local
853 if (!(fl_priv->flower_ext_feats & NFP_FL_FEATS_QOS_METER)) in nfp_setup_tc_act_offload()