Lines Matching refs:queue

142 static void eql_kill_one_slave(slave_queue_t *queue, slave_t *slave);
149 spin_lock(&eql->queue.lock); in eql_timer()
150 head = &eql->queue.all_slaves; in eql_timer()
159 eql_kill_one_slave(&eql->queue, slave); in eql_timer()
163 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()
302 static slave_t *__eql_schedule_slaves(slave_queue_t *queue) in __eql_schedule_slaves() argument
311 head = &queue->all_slaves; in __eql_schedule_slaves()
331 eql_kill_one_slave(queue, slave); in __eql_schedule_slaves()
342 spin_lock(&eql->queue.lock); in eql_slave_xmit()
344 slave = __eql_schedule_slaves(&eql->queue); in eql_slave_xmit()
358 spin_unlock(&eql->queue.lock); in eql_slave_xmit()
368 static slave_t *__eql_find_slave_dev(slave_queue_t *queue, struct net_device *dev) in __eql_find_slave_dev() argument
372 head = &queue->all_slaves; in __eql_find_slave_dev()
383 static inline int eql_is_full(slave_queue_t *queue) in eql_is_full() argument
385 equalizer_t *eql = netdev_priv(queue->master_dev); in eql_is_full()
387 if (queue->num_slaves >= eql->max_slaves) in eql_is_full()
393 static int __eql_insert_slave(slave_queue_t *queue, slave_t *slave) in __eql_insert_slave() argument
395 if (!eql_is_full(queue)) { in __eql_insert_slave()
398 duplicate_slave = __eql_find_slave_dev(queue, slave->dev); in __eql_insert_slave()
400 eql_kill_one_slave(queue, duplicate_slave); in __eql_insert_slave()
403 list_add(&slave->list, &queue->all_slaves); in __eql_insert_slave()
404 queue->num_slaves++; in __eql_insert_slave()
440 spin_lock_bh(&eql->queue.lock); in eql_enslave()
441 ret = __eql_insert_slave(&eql->queue, s); in eql_enslave()
445 spin_unlock_bh(&eql->queue.lock); in eql_enslave()
469 spin_lock_bh(&eql->queue.lock); in eql_emancipate()
471 slave_t *slave = __eql_find_slave_dev(&eql->queue, slave_dev); in eql_emancipate()
473 eql_kill_one_slave(&eql->queue, slave); in eql_emancipate()
477 spin_unlock_bh(&eql->queue.lock); in eql_emancipate()
499 spin_lock_bh(&eql->queue.lock); in eql_g_slave_cfg()
501 slave = __eql_find_slave_dev(&eql->queue, slave_dev); in eql_g_slave_cfg()
507 spin_unlock_bh(&eql->queue.lock); in eql_g_slave_cfg()
533 spin_lock_bh(&eql->queue.lock); in eql_s_slave_cfg()
535 slave = __eql_find_slave_dev(&eql->queue, slave_dev); in eql_s_slave_cfg()
543 spin_unlock_bh(&eql->queue.lock); in eql_s_slave_cfg()