Lines Matching refs:queue
140 static void eql_kill_one_slave(slave_queue_t *queue, slave_t *slave);
147 spin_lock(&eql->queue.lock); in eql_timer()
148 head = &eql->queue.all_slaves; in eql_timer()
157 eql_kill_one_slave(&eql->queue, slave); in eql_timer()
161 spin_unlock(&eql->queue.lock); in eql_timer()
186 spin_lock_init(&eql->queue.lock); in eql_setup()
187 INIT_LIST_HEAD(&eql->queue.all_slaves); in eql_setup()
188 eql->queue.master_dev = dev; in eql_setup()
213 BUG_ON(!list_empty(&eql->queue.all_slaves)); in eql_open()
223 static void eql_kill_one_slave(slave_queue_t *queue, slave_t *slave) in eql_kill_one_slave() argument
226 queue->num_slaves--; in eql_kill_one_slave()
232 static void eql_kill_slave_queue(slave_queue_t *queue) in eql_kill_slave_queue() argument
236 spin_lock_bh(&queue->lock); in eql_kill_slave_queue()
238 head = &queue->all_slaves; in eql_kill_slave_queue()
242 eql_kill_one_slave(queue, s); in eql_kill_slave_queue()
245 spin_unlock_bh(&queue->lock); in eql_kill_slave_queue()
259 eql_kill_slave_queue(&eql->queue); in eql_close()
298 static slave_t *__eql_schedule_slaves(slave_queue_t *queue) in __eql_schedule_slaves() argument
307 head = &queue->all_slaves; in __eql_schedule_slaves()
327 eql_kill_one_slave(queue, slave); in __eql_schedule_slaves()
338 spin_lock(&eql->queue.lock); in eql_slave_xmit()
340 slave = __eql_schedule_slaves(&eql->queue); in eql_slave_xmit()
354 spin_unlock(&eql->queue.lock); in eql_slave_xmit()
364 static slave_t *__eql_find_slave_dev(slave_queue_t *queue, struct net_device *dev) in __eql_find_slave_dev() argument
368 head = &queue->all_slaves; in __eql_find_slave_dev()
379 static inline int eql_is_full(slave_queue_t *queue) in eql_is_full() argument
381 equalizer_t *eql = netdev_priv(queue->master_dev); in eql_is_full()
383 if (queue->num_slaves >= eql->max_slaves) in eql_is_full()
389 static int __eql_insert_slave(slave_queue_t *queue, slave_t *slave) in __eql_insert_slave() argument
391 if (!eql_is_full(queue)) { in __eql_insert_slave()
394 duplicate_slave = __eql_find_slave_dev(queue, slave->dev); in __eql_insert_slave()
396 eql_kill_one_slave(queue, duplicate_slave); in __eql_insert_slave()
399 list_add(&slave->list, &queue->all_slaves); in __eql_insert_slave()
400 queue->num_slaves++; in __eql_insert_slave()
437 spin_lock_bh(&eql->queue.lock); in eql_enslave()
438 ret = __eql_insert_slave(&eql->queue, s); in eql_enslave()
442 spin_unlock_bh(&eql->queue.lock); in eql_enslave()
466 spin_lock_bh(&eql->queue.lock); in eql_emancipate()
468 slave_t *slave = __eql_find_slave_dev(&eql->queue, slave_dev); in eql_emancipate()
470 eql_kill_one_slave(&eql->queue, slave); in eql_emancipate()
474 spin_unlock_bh(&eql->queue.lock); in eql_emancipate()
496 spin_lock_bh(&eql->queue.lock); in eql_g_slave_cfg()
498 slave = __eql_find_slave_dev(&eql->queue, slave_dev); in eql_g_slave_cfg()
504 spin_unlock_bh(&eql->queue.lock); in eql_g_slave_cfg()
530 spin_lock_bh(&eql->queue.lock); in eql_s_slave_cfg()
532 slave = __eql_find_slave_dev(&eql->queue, slave_dev); in eql_s_slave_cfg()
540 spin_unlock_bh(&eql->queue.lock); in eql_s_slave_cfg()