Lines Matching defs:adapter

8 static void tsnep_enable_rule(struct tsnep_adapter *adapter,
18 addr = adapter->addr + TSNEP_RX_ASSIGN_ETHER_TYPE +
23 addr = adapter->addr + TSNEP_RX_ASSIGN +
28 static void tsnep_disable_rule(struct tsnep_adapter *adapter,
33 addr = adapter->addr + TSNEP_RX_ASSIGN +
38 static struct tsnep_rxnfc_rule *tsnep_get_rule(struct tsnep_adapter *adapter,
43 list_for_each_entry(rule, &adapter->rxnfc_rules, list) {
53 static void tsnep_add_rule(struct tsnep_adapter *adapter,
58 tsnep_enable_rule(adapter, rule);
61 list_for_each_entry(cur, &adapter->rxnfc_rules, list) {
67 list_add(&rule->list, pred ? &pred->list : &adapter->rxnfc_rules);
68 adapter->rxnfc_count++;
71 static void tsnep_delete_rule(struct tsnep_adapter *adapter,
74 tsnep_disable_rule(adapter, rule);
77 adapter->rxnfc_count--;
82 static void tsnep_flush_rules(struct tsnep_adapter *adapter)
86 mutex_lock(&adapter->rxnfc_lock);
88 list_for_each_entry_safe(rule, tmp, &adapter->rxnfc_rules, list)
89 tsnep_delete_rule(adapter, rule);
91 mutex_unlock(&adapter->rxnfc_lock);
94 int tsnep_rxnfc_get_rule(struct tsnep_adapter *adapter,
100 cmd->data = adapter->rxnfc_max;
102 mutex_lock(&adapter->rxnfc_lock);
104 rule = tsnep_get_rule(adapter, fsp->location);
106 mutex_unlock(&adapter->rxnfc_lock);
119 mutex_unlock(&adapter->rxnfc_lock);
124 int tsnep_rxnfc_get_all(struct tsnep_adapter *adapter,
131 cmd->data = adapter->rxnfc_max;
133 mutex_lock(&adapter->rxnfc_lock);
135 list_for_each_entry(rule, &adapter->rxnfc_rules, list) {
137 mutex_unlock(&adapter->rxnfc_lock);
146 mutex_unlock(&adapter->rxnfc_lock);
153 static int tsnep_rxnfc_find_location(struct tsnep_adapter *adapter)
158 list_for_each_entry(tmp, &adapter->rxnfc_rules, list) {
165 if (location >= adapter->rxnfc_max)
183 static int tsnep_rxnfc_check_rule(struct tsnep_adapter *adapter,
186 struct net_device *dev = adapter->netdev;
189 list_for_each_entry(tmp, &adapter->rxnfc_rules, list) {
201 int tsnep_rxnfc_add_rule(struct tsnep_adapter *adapter,
204 struct net_device *netdev = adapter->netdev;
228 fsp->location >= adapter->rxnfc_max) {
238 mutex_lock(&adapter->rxnfc_lock);
241 retval = tsnep_rxnfc_find_location(adapter);
249 retval = tsnep_rxnfc_check_rule(adapter, rule);
253 old_rule = tsnep_get_rule(adapter, fsp->location);
255 tsnep_delete_rule(adapter, old_rule);
257 tsnep_add_rule(adapter, rule);
259 mutex_unlock(&adapter->rxnfc_lock);
264 mutex_unlock(&adapter->rxnfc_lock);
269 int tsnep_rxnfc_del_rule(struct tsnep_adapter *adapter,
276 mutex_lock(&adapter->rxnfc_lock);
278 rule = tsnep_get_rule(adapter, fsp->location);
280 mutex_unlock(&adapter->rxnfc_lock);
285 tsnep_delete_rule(adapter, rule);
287 mutex_unlock(&adapter->rxnfc_lock);
292 int tsnep_rxnfc_init(struct tsnep_adapter *adapter)
297 for (i = 0; i < adapter->rxnfc_max;
299 iowrite32(0, adapter->addr + TSNEP_RX_ASSIGN + i);
304 void tsnep_rxnfc_cleanup(struct tsnep_adapter *adapter)
306 tsnep_flush_rules(adapter);