Lines Matching refs:agg

1661 r8152_submit_rx(struct r8152 *tp, struct rx_agg *agg, gfp_t mem_flags);
1845 struct rx_agg *agg; in read_bulk_callback() local
1849 agg = urb->context; in read_bulk_callback()
1850 if (!agg) in read_bulk_callback()
1853 tp = agg->context; in read_bulk_callback()
1878 list_add_tail(&agg->list, &tp->rx_done); in read_bulk_callback()
1889 list_add_tail(&agg->list, &tp->rx_done); in read_bulk_callback()
1906 r8152_submit_rx(tp, agg, GFP_ATOMIC); in read_bulk_callback()
1913 struct tx_agg *agg; in write_bulk_callback() local
1918 agg = urb->context; in write_bulk_callback()
1919 if (!agg) in write_bulk_callback()
1922 tp = agg->context; in write_bulk_callback()
1931 stats->tx_errors += agg->skb_num; in write_bulk_callback()
1933 stats->tx_packets += agg->skb_num; in write_bulk_callback()
1934 stats->tx_bytes += agg->skb_len; in write_bulk_callback()
1938 list_add_tail(&agg->list, &tp->tx_free); in write_bulk_callback()
2031 static void free_rx_agg(struct r8152 *tp, struct rx_agg *agg) in free_rx_agg() argument
2033 list_del(&agg->info_list); in free_rx_agg()
2035 usb_free_urb(agg->urb); in free_rx_agg()
2036 put_page(agg->page); in free_rx_agg()
2037 kfree(agg); in free_rx_agg()
2085 struct rx_agg *agg, *agg_next; in free_all_mem() local
2091 list_for_each_entry_safe(agg, agg_next, &tp->rx_info, info_list) in free_all_mem()
2092 free_rx_agg(tp, agg); in free_all_mem()
2191 struct tx_agg *agg = NULL; in r8152_get_tx_agg() local
2203 agg = list_entry(cursor, struct tx_agg, list); in r8152_get_tx_agg()
2207 return agg; in r8152_get_tx_agg()
2358 static int r8152_tx_agg_fill(struct r8152 *tp, struct tx_agg *agg) in r8152_tx_agg_fill() argument
2369 tx_data = agg->head; in r8152_tx_agg_fill()
2370 agg->skb_num = 0; in r8152_tx_agg_fill()
2371 agg->skb_len = 0; in r8152_tx_agg_fill()
2413 agg->skb_len += len; in r8152_tx_agg_fill()
2414 agg->skb_num += skb_shinfo(skb)->gso_segs ?: 1; in r8152_tx_agg_fill()
2418 remain = agg_buf_sz - (int)(tx_agg_align(tx_data) - agg->head); in r8152_tx_agg_fill()
2442 usb_fill_bulk_urb(agg->urb, tp->udev, tp->pipe_out, in r8152_tx_agg_fill()
2443 agg->head, (int)(tx_data - (u8 *)agg->head), in r8152_tx_agg_fill()
2444 (usb_complete_t)write_bulk_callback, agg); in r8152_tx_agg_fill()
2446 ret = usb_submit_urb(agg->urb, GFP_ATOMIC); in r8152_tx_agg_fill()
2488 static inline int agg_offset(struct rx_agg *agg, void *addr) in agg_offset() argument
2490 return (int)(addr - agg->buffer); in agg_offset()
2495 struct rx_agg *agg, *agg_next, *agg_free = NULL; in rtl_get_free_rx() local
2500 list_for_each_entry_safe(agg, agg_next, &tp->rx_used, list) { in rtl_get_free_rx()
2501 if (page_count(agg->page) == 1) { in rtl_get_free_rx()
2503 list_del_init(&agg->list); in rtl_get_free_rx()
2504 agg_free = agg; in rtl_get_free_rx()
2508 list_del_init(&agg->list); in rtl_get_free_rx()
2509 free_rx_agg(tp, agg); in rtl_get_free_rx()
2559 struct rx_agg *agg, *agg_free; in rx_bottom() local
2575 agg = list_entry(cursor, struct rx_agg, list); in rx_bottom()
2576 urb = agg->urb; in rx_bottom()
2582 rx_desc = agg->buffer; in rx_bottom()
2583 rx_data = agg->buffer; in rx_bottom()
2650 skb_add_rx_frag(skb, 0, agg->page, in rx_bottom()
2651 agg_offset(agg, rx_data), in rx_bottom()
2653 get_page(agg->page); in rx_bottom()
2676 len_used = agg_offset(agg, rx_data); in rx_bottom()
2680 WARN_ON(!agg_free && page_count(agg->page) > 1); in rx_bottom()
2684 if (page_count(agg->page) == 1) { in rx_bottom()
2687 list_add_tail(&agg->list, &tp->rx_used); in rx_bottom()
2688 agg = agg_free; in rx_bottom()
2689 urb = agg->urb; in rx_bottom()
2696 ret = r8152_submit_rx(tp, agg, GFP_ATOMIC); in rx_bottom()
2699 list_add_tail(&agg->list, next); in rx_bottom()
2720 struct tx_agg *agg; in tx_bottom() local
2725 agg = r8152_get_tx_agg(tp); in tx_bottom()
2726 if (!agg) in tx_bottom()
2729 res = r8152_tx_agg_fill(tp, agg); in tx_bottom()
2742 stats->tx_dropped += agg->skb_num; in tx_bottom()
2745 list_add_tail(&agg->list, &tp->tx_free); in tx_bottom()
2793 int r8152_submit_rx(struct r8152 *tp, struct rx_agg *agg, gfp_t mem_flags) in r8152_submit_rx() argument
2802 usb_fill_bulk_urb(agg->urb, tp->udev, tp->pipe_in, in r8152_submit_rx()
2803 agg->buffer, tp->rx_buf_sz, in r8152_submit_rx()
2804 (usb_complete_t)read_bulk_callback, agg); in r8152_submit_rx()
2806 ret = usb_submit_urb(agg->urb, mem_flags); in r8152_submit_rx()
2811 struct urb *urb = agg->urb; in r8152_submit_rx()
2816 list_add_tail(&agg->list, &tp->rx_done); in r8152_submit_rx()
2820 "Couldn't submit rx[%p], ret = %d\n", agg, ret); in r8152_submit_rx()
3059 struct rx_agg *agg, *agg_next; in rtl_start_rx() local
3075 list_for_each_entry_safe(agg, agg_next, &tmp_list, info_list) { in rtl_start_rx()
3076 INIT_LIST_HEAD(&agg->list); in rtl_start_rx()
3081 list_add_tail(&agg->list, &tp->rx_used); in rtl_start_rx()
3085 list_add_tail(&agg->list, &tp->rx_done); in rtl_start_rx()
3088 ret = r8152_submit_rx(tp, agg, GFP_KERNEL); in rtl_start_rx()
3102 struct rx_agg *agg, *agg_next; in rtl_stop_rx() local
3118 list_for_each_entry_safe(agg, agg_next, &tmp_list, info_list) { in rtl_stop_rx()
3122 if (page_count(agg->page) > 1) in rtl_stop_rx()
3123 free_rx_agg(tp, agg); in rtl_stop_rx()
3125 usb_kill_urb(agg->urb); in rtl_stop_rx()