Lines Matching refs:adap

155 static struct ch_tc_flower_entry *ch_flower_lookup(struct adapter *adap,
158 return rhashtable_lookup_fast(&adap->flower_tbl, &flower_cookie,
159 adap->flower_ht_params);
476 static int cxgb4_action_natmode_validate(struct adapter *adap, u8 natmode_flags,
489 if (CHELSIO_CHIP_VERSION(adap->params.chip) >= c->chip &&
688 struct adapter *adap = netdev2adap(dev);
719 for_each_port(adap, i) {
720 n_dev = adap->port[i];
788 ret = cxgb4_action_natmode_validate(adap, natmode_flags,
797 static void cxgb4_tc_flower_hash_prio_add(struct adapter *adap, u32 tc_prio)
799 spin_lock_bh(&adap->tids.ftid_lock);
800 if (adap->tids.tc_hash_tids_max_prio < tc_prio)
801 adap->tids.tc_hash_tids_max_prio = tc_prio;
802 spin_unlock_bh(&adap->tids.ftid_lock);
805 static void cxgb4_tc_flower_hash_prio_del(struct adapter *adap, u32 tc_prio)
807 struct tid_info *t = &adap->tids;
822 rhashtable_walk_enter(&adap->flower_tbl, &iter);
859 struct adapter *adap = netdev2adap(dev);
873 fs->hash = is_filter_exact_match(adap, fs);
888 if (fidx < adap->tids.nhpftids) {
920 cxgb4_tc_flower_hash_prio_add(adap, tc_prio);
930 struct adapter *adap = netdev2adap(dev);
951 ret = rhashtable_insert_fast(&adap->flower_tbl, &ch_flower->node,
952 adap->flower_ht_params);
960 cxgb4_tc_flower_hash_prio_del(adap, cls->common.prio);
972 struct adapter *adap = netdev2adap(dev);
983 cxgb4_tc_flower_hash_prio_del(adap, tc_prio);
991 struct adapter *adap = netdev2adap(dev);
995 ch_flower = ch_flower_lookup(adap, cls->cookie);
999 rhashtable_remove_fast(&adap->flower_tbl, &ch_flower->node,
1000 adap->flower_ht_params);
1014 struct adapter *adap = container_of(work, struct adapter,
1023 rhashtable_walk_enter(&adap->flower_tbl, &iter);
1029 ret = cxgb4_get_filter_counters(adap->port[0],
1049 mod_timer(&adap->flower_stats_timer, jiffies + STATS_CHECK_PERIOD);
1054 struct adapter *adap = from_timer(adap, t, flower_stats_timer);
1056 schedule_work(&adap->flower_stats_work);
1062 struct adapter *adap = netdev2adap(dev);
1069 ch_flower = ch_flower_lookup(adap, cls->cookie);
1112 int cxgb4_init_tc_flower(struct adapter *adap)
1116 if (adap->tc_flower_initialized)
1119 adap->flower_ht_params = cxgb4_tc_flower_ht_params;
1120 ret = rhashtable_init(&adap->flower_tbl, &adap->flower_ht_params);
1124 INIT_WORK(&adap->flower_stats_work, ch_flower_stats_handler);
1125 timer_setup(&adap->flower_stats_timer, ch_flower_stats_cb, 0);
1126 mod_timer(&adap->flower_stats_timer, jiffies + STATS_CHECK_PERIOD);
1127 adap->tc_flower_initialized = true;
1131 void cxgb4_cleanup_tc_flower(struct adapter *adap)
1133 if (!adap->tc_flower_initialized)
1136 if (adap->flower_stats_timer.function)
1137 timer_shutdown_sync(&adap->flower_stats_timer);
1138 cancel_work_sync(&adap->flower_stats_work);
1139 rhashtable_destroy(&adap->flower_tbl);
1140 adap->tc_flower_initialized = false;