Lines Matching refs:fl_priv
171 struct nfp_flower_priv *fl_priv = app->priv; in nfp_flower_install_rate_limiter() local
191 pps_support = !!(fl_priv->flower_ext_feats & NFP_FL_FEATS_QOS_PPS); in nfp_flower_install_rate_limiter()
280 fl_priv->qos_rate_limiters++; in nfp_flower_install_rate_limiter()
281 if (fl_priv->qos_rate_limiters == 1) in nfp_flower_install_rate_limiter()
282 schedule_delayed_work(&fl_priv->qos_stats_work, in nfp_flower_install_rate_limiter()
293 struct nfp_flower_priv *fl_priv = app->priv; in nfp_flower_remove_rate_limiter() local
309 pps_support = !!(fl_priv->flower_ext_feats & NFP_FL_FEATS_QOS_PPS); in nfp_flower_remove_rate_limiter()
317 fl_priv->qos_rate_limiters--; in nfp_flower_remove_rate_limiter()
318 if (!fl_priv->qos_rate_limiters) in nfp_flower_remove_rate_limiter()
319 cancel_delayed_work_sync(&fl_priv->qos_stats_work); in nfp_flower_remove_rate_limiter()
347 struct nfp_flower_priv *fl_priv = app->priv; in nfp_flower_stats_rlim_reply() local
371 spin_lock_bh(&fl_priv->qos_stats_lock); in nfp_flower_stats_rlim_reply()
383 spin_unlock_bh(&fl_priv->qos_stats_lock); in nfp_flower_stats_rlim_reply()
390 nfp_flower_stats_rlim_request(struct nfp_flower_priv *fl_priv, in nfp_flower_stats_rlim_request() argument
396 skb = nfp_flower_cmsg_alloc(fl_priv->app, in nfp_flower_stats_rlim_request()
412 nfp_ctrl_tx(fl_priv->app->ctrl, skb); in nfp_flower_stats_rlim_request()
416 nfp_flower_stats_rlim_request_all(struct nfp_flower_priv *fl_priv) in nfp_flower_stats_rlim_request_all() argument
422 repr_set = rcu_dereference(fl_priv->app->reprs[NFP_REPR_TYPE_VF]); in nfp_flower_stats_rlim_request_all()
440 nfp_flower_stats_rlim_request(fl_priv, in nfp_flower_stats_rlim_request_all()
452 struct nfp_flower_priv *fl_priv; in update_stats_cache() local
455 fl_priv = container_of(delayed_work, struct nfp_flower_priv, in update_stats_cache()
458 nfp_flower_stats_rlim_request_all(fl_priv); in update_stats_cache()
459 nfp_flower_stats_meter_request_all(fl_priv); in update_stats_cache()
461 schedule_delayed_work(&fl_priv->qos_stats_work, NFP_FL_QOS_UPDATE); in update_stats_cache()
469 struct nfp_flower_priv *fl_priv = app->priv; in nfp_flower_stats_rate_limiter() local
488 spin_lock_bh(&fl_priv->qos_stats_lock); in nfp_flower_stats_rate_limiter()
495 spin_unlock_bh(&fl_priv->qos_stats_lock); in nfp_flower_stats_rate_limiter()
505 struct nfp_flower_priv *fl_priv = app->priv; in nfp_flower_qos_init() local
507 spin_lock_init(&fl_priv->qos_stats_lock); in nfp_flower_qos_init()
508 mutex_init(&fl_priv->meter_stats_lock); in nfp_flower_qos_init()
511 INIT_DELAYED_WORK(&fl_priv->qos_stats_work, &update_stats_cache); in nfp_flower_qos_init()
516 struct nfp_flower_priv *fl_priv = app->priv; in nfp_flower_qos_cleanup() local
518 cancel_delayed_work_sync(&fl_priv->qos_stats_work); in nfp_flower_qos_cleanup()
525 struct nfp_flower_priv *fl_priv = app->priv; in nfp_flower_setup_qos_offload() local
528 if (!(fl_priv->flower_ext_feats & NFP_FL_FEATS_VF_RLIM)) { in nfp_flower_setup_qos_offload()
533 mutex_lock(&fl_priv->nfp_fl_lock); in nfp_flower_setup_qos_offload()
548 mutex_unlock(&fl_priv->nfp_fl_lock); in nfp_flower_setup_qos_offload()
626 struct nfp_flower_priv *fl_priv = app->priv; in nfp_flower_setup_meter_entry() local
630 mutex_lock(&fl_priv->meter_stats_lock); in nfp_flower_setup_meter_entry()
660 mutex_unlock(&fl_priv->meter_stats_lock); in nfp_flower_setup_meter_entry()
672 nfp_flower_stats_meter_request_all(struct nfp_flower_priv *fl_priv) in nfp_flower_stats_meter_request_all() argument
677 mutex_lock(&fl_priv->meter_stats_lock); in nfp_flower_stats_meter_request_all()
678 rhashtable_walk_enter(&fl_priv->meter_table, &iter); in nfp_flower_stats_meter_request_all()
684 nfp_flower_stats_rlim_request(fl_priv, in nfp_flower_stats_meter_request_all()
690 mutex_unlock(&fl_priv->meter_stats_lock); in nfp_flower_stats_meter_request_all()
699 struct nfp_flower_priv *fl_priv = app->priv; in nfp_act_install_actions() local
707 pps_support = !!(fl_priv->flower_ext_feats & NFP_FL_FEATS_QOS_PPS); in nfp_act_install_actions()
798 struct nfp_flower_priv *fl_priv = app->priv; in nfp_act_stats_reply() local
804 mutex_lock(&fl_priv->meter_stats_lock); in nfp_act_stats_reply()
824 mutex_unlock(&fl_priv->meter_stats_lock); in nfp_act_stats_reply()
831 struct nfp_flower_priv *fl_priv = app->priv; in nfp_act_stats_actions() local
842 mutex_lock(&fl_priv->meter_stats_lock); in nfp_act_stats_actions()
864 mutex_unlock(&fl_priv->meter_stats_lock); in nfp_act_stats_actions()
872 struct nfp_flower_priv *fl_priv = app->priv; in nfp_setup_tc_act_offload() local
874 if (!(fl_priv->flower_ext_feats & NFP_FL_FEATS_QOS_METER)) in nfp_setup_tc_act_offload()