Lines Matching refs:agg

1183 r8152_submit_rx(struct r8152 *tp, struct rx_agg *agg, gfp_t mem_flags);
1335 struct rx_agg *agg; in read_bulk_callback() local
1339 agg = urb->context; in read_bulk_callback()
1340 if (!agg) in read_bulk_callback()
1343 tp = agg->context; in read_bulk_callback()
1368 list_add_tail(&agg->list, &tp->rx_done); in read_bulk_callback()
1388 r8152_submit_rx(tp, agg, GFP_ATOMIC); in read_bulk_callback()
1395 struct tx_agg *agg; in write_bulk_callback() local
1400 agg = urb->context; in write_bulk_callback()
1401 if (!agg) in write_bulk_callback()
1404 tp = agg->context; in write_bulk_callback()
1413 stats->tx_errors += agg->skb_num; in write_bulk_callback()
1415 stats->tx_packets += agg->skb_num; in write_bulk_callback()
1416 stats->tx_bytes += agg->skb_len; in write_bulk_callback()
1420 list_add_tail(&agg->list, &tp->tx_free); in write_bulk_callback()
1511 static void free_rx_agg(struct r8152 *tp, struct rx_agg *agg) in free_rx_agg() argument
1513 list_del(&agg->info_list); in free_rx_agg()
1515 usb_free_urb(agg->urb); in free_rx_agg()
1516 put_page(agg->page); in free_rx_agg()
1517 kfree(agg); in free_rx_agg()
1565 struct rx_agg *agg, *agg_next; in free_all_mem() local
1571 list_for_each_entry_safe(agg, agg_next, &tp->rx_info, info_list) in free_all_mem()
1572 free_rx_agg(tp, agg); in free_all_mem()
1671 struct tx_agg *agg = NULL; in r8152_get_tx_agg() local
1683 agg = list_entry(cursor, struct tx_agg, list); in r8152_get_tx_agg()
1687 return agg; in r8152_get_tx_agg()
1859 static int r8152_tx_agg_fill(struct r8152 *tp, struct tx_agg *agg) in r8152_tx_agg_fill() argument
1870 tx_data = agg->head; in r8152_tx_agg_fill()
1871 agg->skb_num = 0; in r8152_tx_agg_fill()
1872 agg->skb_len = 0; in r8152_tx_agg_fill()
1917 agg->skb_len += len; in r8152_tx_agg_fill()
1918 agg->skb_num += skb_shinfo(skb)->gso_segs ?: 1; in r8152_tx_agg_fill()
1922 remain = agg_buf_sz - (int)(tx_agg_align(tx_data) - agg->head); in r8152_tx_agg_fill()
1946 usb_fill_bulk_urb(agg->urb, tp->udev, usb_sndbulkpipe(tp->udev, 2), in r8152_tx_agg_fill()
1947 agg->head, (int)(tx_data - (u8 *)agg->head), in r8152_tx_agg_fill()
1948 (usb_complete_t)write_bulk_callback, agg); in r8152_tx_agg_fill()
1950 ret = usb_submit_urb(agg->urb, GFP_ATOMIC); in r8152_tx_agg_fill()
1992 static inline int agg_offset(struct rx_agg *agg, void *addr) in agg_offset() argument
1994 return (int)(addr - agg->buffer); in agg_offset()
1999 struct rx_agg *agg, *agg_next, *agg_free = NULL; in rtl_get_free_rx() local
2004 list_for_each_entry_safe(agg, agg_next, &tp->rx_used, list) { in rtl_get_free_rx()
2005 if (page_count(agg->page) == 1) { in rtl_get_free_rx()
2007 list_del_init(&agg->list); in rtl_get_free_rx()
2008 agg_free = agg; in rtl_get_free_rx()
2012 list_del_init(&agg->list); in rtl_get_free_rx()
2013 free_rx_agg(tp, agg); in rtl_get_free_rx()
2062 struct rx_agg *agg, *agg_free; in rx_bottom() local
2069 agg = list_entry(cursor, struct rx_agg, list); in rx_bottom()
2070 urb = agg->urb; in rx_bottom()
2076 rx_desc = agg->buffer; in rx_bottom()
2077 rx_data = agg->buffer; in rx_bottom()
2118 skb_add_rx_frag(skb, 0, agg->page, in rx_bottom()
2119 agg_offset(agg, rx_data), in rx_bottom()
2122 get_page(agg->page); in rx_bottom()
2139 len_used = agg_offset(agg, rx_data); in rx_bottom()
2143 WARN_ON(!agg_free && page_count(agg->page) > 1); in rx_bottom()
2147 if (page_count(agg->page) == 1) { in rx_bottom()
2150 list_add_tail(&agg->list, &tp->rx_used); in rx_bottom()
2151 agg = agg_free; in rx_bottom()
2152 urb = agg->urb; in rx_bottom()
2159 ret = r8152_submit_rx(tp, agg, GFP_ATOMIC); in rx_bottom()
2162 list_add_tail(&agg->list, next); in rx_bottom()
2181 struct tx_agg *agg; in tx_bottom() local
2186 agg = r8152_get_tx_agg(tp); in tx_bottom()
2187 if (!agg) in tx_bottom()
2190 res = r8152_tx_agg_fill(tp, agg); in tx_bottom()
2203 stats->tx_dropped += agg->skb_num; in tx_bottom()
2206 list_add_tail(&agg->list, &tp->tx_free); in tx_bottom()
2254 int r8152_submit_rx(struct r8152 *tp, struct rx_agg *agg, gfp_t mem_flags) in r8152_submit_rx() argument
2263 usb_fill_bulk_urb(agg->urb, tp->udev, usb_rcvbulkpipe(tp->udev, 1), in r8152_submit_rx()
2264 agg->buffer, tp->rx_buf_sz, in r8152_submit_rx()
2265 (usb_complete_t)read_bulk_callback, agg); in r8152_submit_rx()
2267 ret = usb_submit_urb(agg->urb, mem_flags); in r8152_submit_rx()
2272 struct urb *urb = agg->urb; in r8152_submit_rx()
2277 list_add_tail(&agg->list, &tp->rx_done); in r8152_submit_rx()
2281 "Couldn't submit rx[%p], ret = %d\n", agg, ret); in r8152_submit_rx()
2481 struct rx_agg *agg, *agg_next; in rtl_start_rx() local
2497 list_for_each_entry_safe(agg, agg_next, &tmp_list, info_list) { in rtl_start_rx()
2498 INIT_LIST_HEAD(&agg->list); in rtl_start_rx()
2503 list_add_tail(&agg->list, &tp->rx_used); in rtl_start_rx()
2507 list_add_tail(&agg->list, &tp->rx_done); in rtl_start_rx()
2510 ret = r8152_submit_rx(tp, agg, GFP_KERNEL); in rtl_start_rx()
2524 struct rx_agg *agg, *agg_next; in rtl_stop_rx() local
2540 list_for_each_entry_safe(agg, agg_next, &tmp_list, info_list) { in rtl_stop_rx()
2544 if (page_count(agg->page) > 1) in rtl_stop_rx()
2545 free_rx_agg(tp, agg); in rtl_stop_rx()
2547 usb_kill_urb(agg->urb); in rtl_stop_rx()