Lines Matching refs:rx

111 static struct mux_rx *get_rx_struct(struct rx_cxt *rx)  in get_rx_struct()  argument
116 spin_lock_irqsave(&rx->free_list_lock, flags); in get_rx_struct()
118 if (list_empty(&rx->rx_free_list)) { in get_rx_struct()
119 spin_unlock_irqrestore(&rx->free_list_lock, flags); in get_rx_struct()
123 r = list_entry(rx->rx_free_list.prev, struct mux_rx, free_list); in get_rx_struct()
126 spin_unlock_irqrestore(&rx->free_list_lock, flags); in get_rx_struct()
131 static void put_rx_struct(struct rx_cxt *rx, struct mux_rx *r) in put_rx_struct() argument
135 spin_lock_irqsave(&rx->free_list_lock, flags); in put_rx_struct()
136 list_add_tail(&r->free_list, &rx->rx_free_list); in put_rx_struct()
137 spin_unlock_irqrestore(&rx->free_list_lock, flags); in put_rx_struct()
210 struct rx_cxt *rx = &mux_dev->rx; in do_rx() local
215 spin_lock_irqsave(&rx->to_host_lock, flags); in do_rx()
216 if (list_empty(&rx->to_host_list)) { in do_rx()
217 spin_unlock_irqrestore(&rx->to_host_lock, flags); in do_rx()
220 r = list_entry(rx->to_host_list.next, struct mux_rx, in do_rx()
223 spin_unlock_irqrestore(&rx->to_host_lock, flags); in do_rx()
229 put_rx_struct(rx, r); in do_rx()
233 static void remove_rx_submit_list(struct mux_rx *r, struct rx_cxt *rx) in remove_rx_submit_list() argument
238 spin_lock_irqsave(&rx->submit_list_lock, flags); in remove_rx_submit_list()
239 list_for_each_entry_safe(r_remove, r_remove_next, &rx->rx_submit_list, in remove_rx_submit_list()
244 spin_unlock_irqrestore(&rx->submit_list_lock, flags); in remove_rx_submit_list()
251 struct rx_cxt *rx = &mux_dev->rx; in gdm_mux_rcv_complete() local
254 remove_rx_submit_list(r, rx); in gdm_mux_rcv_complete()
260 put_rx_struct(rx, r); in gdm_mux_rcv_complete()
263 spin_lock_irqsave(&rx->to_host_lock, flags); in gdm_mux_rcv_complete()
264 list_add_tail(&r->to_host_list, &rx->to_host_list); in gdm_mux_rcv_complete()
266 spin_unlock_irqrestore(&rx->to_host_lock, flags); in gdm_mux_rcv_complete()
277 struct rx_cxt *rx = &mux_dev->rx; in gdm_mux_recv() local
286 r = get_rx_struct(rx); in gdm_mux_recv()
305 spin_lock_irqsave(&rx->submit_list_lock, flags); in gdm_mux_recv()
306 list_add_tail(&r->rx_submit_list, &rx->rx_submit_list); in gdm_mux_recv()
307 spin_unlock_irqrestore(&rx->submit_list_lock, flags); in gdm_mux_recv()
312 spin_lock_irqsave(&rx->submit_list_lock, flags); in gdm_mux_recv()
314 spin_unlock_irqrestore(&rx->submit_list_lock, flags); in gdm_mux_recv()
316 put_rx_struct(rx, r); in gdm_mux_recv()
431 struct rx_cxt *rx = &mux_dev->rx; in release_usb() local
437 spin_lock_irqsave(&rx->submit_list_lock, flags); in release_usb()
438 list_for_each_entry_safe(r, r_next, &rx->rx_submit_list, in release_usb()
440 spin_unlock_irqrestore(&rx->submit_list_lock, flags); in release_usb()
442 spin_lock_irqsave(&rx->submit_list_lock, flags); in release_usb()
444 spin_unlock_irqrestore(&rx->submit_list_lock, flags); in release_usb()
446 spin_lock_irqsave(&rx->free_list_lock, flags); in release_usb()
447 list_for_each_entry_safe(r, r_next, &rx->rx_free_list, free_list) { in release_usb()
451 spin_unlock_irqrestore(&rx->free_list_lock, flags); in release_usb()
453 spin_lock_irqsave(&rx->to_host_lock, flags); in release_usb()
454 list_for_each_entry_safe(r, r_next, &rx->to_host_list, to_host_list) { in release_usb()
460 spin_unlock_irqrestore(&rx->to_host_lock, flags); in release_usb()
466 struct rx_cxt *rx = &mux_dev->rx; in init_usb() local
471 INIT_LIST_HEAD(&rx->to_host_list); in init_usb()
472 INIT_LIST_HEAD(&rx->rx_submit_list); in init_usb()
473 INIT_LIST_HEAD(&rx->rx_free_list); in init_usb()
474 spin_lock_init(&rx->to_host_lock); in init_usb()
475 spin_lock_init(&rx->submit_list_lock); in init_usb()
476 spin_lock_init(&rx->free_list_lock); in init_usb()
485 list_add(&r->free_list, &rx->rx_free_list); in init_usb()
585 struct rx_cxt *rx; in gdm_mux_suspend() local
591 rx = &mux_dev->rx; in gdm_mux_suspend()
602 spin_lock_irqsave(&rx->submit_list_lock, flags); in gdm_mux_suspend()
603 list_for_each_entry_safe(r, r_next, &rx->rx_submit_list, in gdm_mux_suspend()
605 spin_unlock_irqrestore(&rx->submit_list_lock, flags); in gdm_mux_suspend()
607 spin_lock_irqsave(&rx->submit_list_lock, flags); in gdm_mux_suspend()
609 spin_unlock_irqrestore(&rx->submit_list_lock, flags); in gdm_mux_suspend()