Home
last modified time | relevance | path

Searched refs:tx_queue (Results 1 – 25 of 170) sorted by relevance

1234567

/linux/drivers/net/ethernet/sfc/siena/
A Dtx_common.c36 tx_queue->queue, efx->txq_entries, tx_queue->ptr_mask); in efx_siena_probe_tx_queue()
39 tx_queue->buffer = kcalloc(entries, sizeof(*tx_queue->buffer), in efx_siena_probe_tx_queue()
44 tx_queue->cb_page = kcalloc(efx_tx_cb_page_count(tx_queue), in efx_siena_probe_tx_queue()
56 tx_queue->channel->tx_queue_by_type[tx_queue->type] = tx_queue; in efx_siena_probe_tx_queue()
105 netif_dbg(tx_queue->efx, drv, tx_queue->efx->net_dev, in efx_siena_remove_tx_queue()
161 tx_queue->queue, tx_queue->read_count); in efx_dequeue_buffer()
174 netif_dbg(tx_queue->efx, drv, tx_queue->efx->net_dev, in efx_siena_fini_tx_queue()
181 while (tx_queue->read_count != tx_queue->write_count) { in efx_siena_fini_tx_queue()
184 buffer = &tx_queue->buffer[tx_queue->read_count & tx_queue->ptr_mask]; in efx_siena_fini_tx_queue()
207 read_ptr = tx_queue->read_count & tx_queue->ptr_mask; in efx_dequeue_buffers()
[all …]
A Dtx.c106 ++tx_queue->insert_count; in efx_enqueue_skb_copy()
160 tx_queue->tso_fallbacks++; in __efx_siena_enqueue_skb()
168 tx_queue->cb_packets++; in __efx_siena_enqueue_skb()
178 tx_queue->xmit_pending = true; in __efx_siena_enqueue_skb()
184 tx_queue->tx_packets++; in __efx_siena_enqueue_skb()
212 struct efx_tx_queue *tx_queue; in efx_siena_xdp_tx_buffers() local
230 if (unlikely(!tx_queue)) in efx_siena_xdp_tx_buffers()
233 if (!tx_queue->initialised) in efx_siena_xdp_tx_buffers()
252 tx_queue->read_count - tx_queue->insert_count; in efx_siena_xdp_tx_buffers()
279 tx_queue->tx_packets++; in efx_siena_xdp_tx_buffers()
[all …]
A Dnic_common.h60 efx_tx_desc(struct efx_tx_queue *tx_queue, unsigned int index) in efx_tx_desc() argument
62 return ((efx_qword_t *) (tx_queue->txd.buf.addr)) + index; in efx_tx_desc()
89 bool was_empty = efx_nic_tx_is_empty(tx_queue, write_count); in efx_nic_may_push_tx_desc()
91 tx_queue->empty_read_count = 0; in efx_nic_may_push_tx_desc()
92 return was_empty && tx_queue->write_count - write_count == 1; in efx_nic_may_push_tx_desc()
118 static inline int efx_nic_probe_tx(struct efx_tx_queue *tx_queue) in efx_nic_probe_tx() argument
120 return tx_queue->efx->type->tx_probe(tx_queue); in efx_nic_probe_tx()
124 tx_queue->efx->type->tx_init(tx_queue); in efx_nic_init_tx()
128 if (tx_queue->efx->type->tx_remove) in efx_nic_remove_tx()
129 tx_queue->efx->type->tx_remove(tx_queue); in efx_nic_remove_tx()
[all …]
A Dtx_common.h14 int efx_siena_probe_tx_queue(struct efx_tx_queue *tx_queue);
15 void efx_siena_init_tx_queue(struct efx_tx_queue *tx_queue);
16 void efx_siena_fini_tx_queue(struct efx_tx_queue *tx_queue);
17 void efx_siena_remove_tx_queue(struct efx_tx_queue *tx_queue);
24 void efx_siena_xmit_done_check_empty(struct efx_tx_queue *tx_queue);
25 void efx_siena_xmit_done(struct efx_tx_queue *tx_queue, unsigned int index);
27 void efx_siena_enqueue_unwind(struct efx_tx_queue *tx_queue,
30 struct efx_tx_buffer *efx_siena_tx_map_chunk(struct efx_tx_queue *tx_queue,
32 int efx_siena_tx_map_data(struct efx_tx_queue *tx_queue, struct sk_buff *skb,
36 int efx_siena_tx_tso_fallback(struct efx_tx_queue *tx_queue, struct sk_buff *skb);
A Defx_channels.c548 tx_queue = &channel->tx_queue[j]; in efx_alloc_channel()
549 tx_queue->efx = efx; in efx_alloc_channel()
550 tx_queue->queue = -1; in efx_alloc_channel()
551 tx_queue->label = j; in efx_alloc_channel()
623 tx_queue = &channel->tx_queue[j]; in efx_copy_channel()
624 if (tx_queue->channel) in efx_copy_channel()
628 memset(&tx_queue->txd, 0, sizeof(tx_queue->txd)); in efx_copy_channel()
779 tx_queue->channel->channel, tx_queue->label, in efx_set_xdp_tx_queue()
805 tx_queue); in efx_set_xdp_channels()
825 tx_queue = &channel->tx_queue[0]; in efx_set_xdp_channels()
[all …]
A Dfarch.c288 write_ptr = tx_queue->write_count & tx_queue->ptr_mask; in efx_farch_notify_tx_desc()
304 write_ptr = tx_queue->write_count & tx_queue->ptr_mask; in efx_farch_push_tx_desc()
325 if (unlikely(tx_queue->write_count == tx_queue->insert_count)) in efx_farch_tx_write()
329 write_ptr = tx_queue->write_count & tx_queue->ptr_mask; in efx_farch_tx_write()
344 } while (tx_queue->write_count != tx_queue->insert_count); in efx_farch_tx_write()
352 ++tx_queue->pushes; in efx_farch_tx_write()
411 tx_queue->queue); in efx_farch_tx_init()
454 efx_free_special_buffer(tx_queue->efx, &tx_queue->txd); in efx_farch_tx_remove()
840 tx_queue = channel->tx_queue + in efx_farch_handle_tx_event()
846 tx_queue = channel->tx_queue + in efx_farch_handle_tx_event()
[all …]
A Dnet_driver.h1346 int (*tx_probe)(struct efx_tx_queue *tx_queue);
1347 void (*tx_init)(struct efx_tx_queue *tx_queue);
1542 for (_tx_queue = (_channel)->tx_queue; \
1543 _tx_queue < (_channel)->tx_queue + \
1631 struct efx_tx_queue *tx_queue; in efx_channel_tx_fill_level() local
1636 tx_queue->insert_count - tx_queue->read_count); in efx_channel_tx_fill_level()
1645 struct efx_tx_queue *tx_queue; in efx_channel_tx_old_fill_level() local
1650 tx_queue->insert_count - tx_queue->old_read_count); in efx_channel_tx_old_fill_level()
1671 return tx_queue->insert_count & tx_queue->ptr_mask; in efx_tx_queue_get_insert_index()
1678 return &tx_queue->buffer[efx_tx_queue_get_insert_index(tx_queue)]; in __efx_tx_queue_get_insert_buffer()
[all …]
A Dselftest.c418 struct efx_nic *efx = tx_queue->efx; in efx_begin_loopback()
450 rc = efx_enqueue_skb(tx_queue, skb); in efx_begin_loopback()
479 struct efx_nic *efx = tx_queue->efx; in efx_end_loopback()
527 lb_tests->tx_done[tx_queue->label] += tx_done; in efx_end_loopback()
535 efx_test_loopback(struct efx_tx_queue *tx_queue, in efx_test_loopback() argument
538 struct efx_nic *efx = tx_queue->efx; in efx_test_loopback()
554 tx_queue->label, tx_queue->queue, LOOPBACK_MODE(efx), in efx_test_loopback()
558 begin_rc = efx_begin_loopback(tx_queue); in efx_test_loopback()
630 struct efx_tx_queue *tx_queue; in efx_test_loopbacks() local
671 state->offload_csum = (tx_queue->type & in efx_test_loopbacks()
[all …]
/linux/drivers/net/ethernet/sfc/
A Dtx_common.c36 tx_queue->queue, efx->txq_entries, tx_queue->ptr_mask); in efx_probe_tx_queue()
39 tx_queue->buffer = kcalloc(entries, sizeof(*tx_queue->buffer), in efx_probe_tx_queue()
44 tx_queue->cb_page = kcalloc(efx_tx_cb_page_count(tx_queue), in efx_probe_tx_queue()
56 tx_queue->channel->tx_queue_by_type[tx_queue->type] = tx_queue; in efx_probe_tx_queue()
102 netif_dbg(tx_queue->efx, drv, tx_queue->efx->net_dev, in efx_fini_tx_queue()
111 while (tx_queue->read_count != tx_queue->write_count) { in efx_fini_tx_queue()
115 buffer = &tx_queue->buffer[tx_queue->read_count & tx_queue->ptr_mask]; in efx_fini_tx_queue()
132 netif_dbg(tx_queue->efx, drv, tx_queue->efx->net_dev, in efx_remove_tx_queue()
195 tx_queue->queue, tx_queue->read_count); in efx_dequeue_buffer()
219 read_ptr = tx_queue->read_count & tx_queue->ptr_mask; in efx_dequeue_buffers()
[all …]
A Def100_tx.c26 return efx_nic_alloc_buffer(tx_queue->efx, &tx_queue->txd, in ef100_tx_probe()
35 tx_queue->core_txq = in ef100_tx_init()
46 tx_queue->tso_version = 3; in ef100_tx_init()
98 ++tx_queue->insert_count; in ef100_tx_can_tso()
117 if (unlikely(tx_queue->notify_count == tx_queue->write_count)) in ef100_notify_tx_desc()
120 write_ptr = tx_queue->write_count & tx_queue->ptr_mask; in ef100_notify_tx_desc()
125 tx_queue->notify_count = tx_queue->write_count; in ef100_notify_tx_desc()
131 ++tx_queue->pushes; in ef100_tx_push_buffers()
358 tx_queue->ptr_mask; in ef100_ev_tx()
386 if (!tx_queue->buffer || !tx_queue->ptr_mask) { in __ef100_enqueue_skb()
[all …]
A Dtx.c122 ++tx_queue->insert_count; in efx_enqueue_skb_copy()
280 if (!tx_queue->piobuf) in efx_tx_may_pio()
286 if (!efx_nic_tx_is_empty(tx_queue, tx_queue->packet_write_count)) in efx_tx_may_pio()
374 tx_queue->cb_packets++; in __efx_enqueue_skb()
391 tx_queue->tso_bursts++; in __efx_enqueue_skb()
395 tx_queue->tx_packets++; in __efx_enqueue_skb()
465 tx_queue->read_count - tx_queue->insert_count; in efx_xdp_tx_buffers()
561 read_ptr = tx_queue->read_count & tx_queue->ptr_mask; in efx_xmit_done_single()
571 tx_queue->queue); in efx_xmit_done_single()
583 read_ptr = tx_queue->read_count & tx_queue->ptr_mask; in efx_xmit_done_single()
[all …]
A Dnic_common.h60 efx_tx_desc(struct efx_tx_queue *tx_queue, unsigned int index) in efx_tx_desc() argument
62 return ((efx_qword_t *)(tx_queue->txd.addr)) + index; in efx_tx_desc()
90 bool was_empty = efx_nic_tx_is_empty(tx_queue, write_count); in efx_nic_may_push_tx_desc()
92 tx_queue->empty_read_count = 0; in efx_nic_may_push_tx_desc()
93 return was_empty && tx_queue->write_count - write_count == 1; in efx_nic_may_push_tx_desc()
119 static inline int efx_nic_probe_tx(struct efx_tx_queue *tx_queue) in efx_nic_probe_tx() argument
121 return tx_queue->efx->type->tx_probe(tx_queue); in efx_nic_probe_tx()
125 tx_queue->efx->type->tx_init(tx_queue); in efx_nic_init_tx()
129 if (tx_queue->efx->type->tx_remove) in efx_nic_remove_tx()
130 tx_queue->efx->type->tx_remove(tx_queue); in efx_nic_remove_tx()
[all …]
A Dtx_common.h14 int efx_probe_tx_queue(struct efx_tx_queue *tx_queue);
15 void efx_init_tx_queue(struct efx_tx_queue *tx_queue);
16 void efx_fini_tx_queue(struct efx_tx_queue *tx_queue);
17 void efx_remove_tx_queue(struct efx_tx_queue *tx_queue);
19 void efx_dequeue_buffer(struct efx_tx_queue *tx_queue,
30 void efx_xmit_done_check_empty(struct efx_tx_queue *tx_queue);
31 int efx_xmit_done(struct efx_tx_queue *tx_queue, unsigned int index);
33 void efx_enqueue_unwind(struct efx_tx_queue *tx_queue,
36 struct efx_tx_buffer *efx_tx_map_chunk(struct efx_tx_queue *tx_queue,
39 int efx_tx_map_data(struct efx_tx_queue *tx_queue, struct sk_buff *skb,
[all …]
A Dtx_tso.c113 ++tx_queue->insert_count; in efx_tx_queue_insert()
116 tx_queue->read_count >= in efx_tx_queue_insert()
117 tx_queue->efx->txq_entries); in efx_tx_queue_insert()
121 dma_len = tx_queue->efx->type->tx_limit_len(tx_queue, in efx_tx_queue_insert()
170 struct efx_tx_queue *tx_queue, in tso_start() argument
319 ++tx_queue->insert_count; in tso_start_new_packet()
339 ++tx_queue->insert_count; in tso_start_new_packet()
366 struct efx_nic *efx = tx_queue->efx; in efx_enqueue_skb_tso()
370 if (tx_queue->tso_version != 1) in efx_enqueue_skb_tso()
378 EFX_WARN_ON_ONCE_PARANOID(tx_queue->write_count != tx_queue->insert_count); in efx_enqueue_skb_tso()
[all …]
A Defx_channels.c546 tx_queue = &channel->tx_queue[j]; in efx_alloc_channel()
547 tx_queue->efx = efx; in efx_alloc_channel()
548 tx_queue->queue = -1; in efx_alloc_channel()
549 tx_queue->label = j; in efx_alloc_channel()
620 tx_queue = &channel->tx_queue[j]; in efx_copy_channel()
621 if (tx_queue->channel) in efx_copy_channel()
625 memset(&tx_queue->txd, 0, sizeof(tx_queue->txd)); in efx_copy_channel()
773 tx_queue->channel->channel, tx_queue->label, in efx_set_xdp_tx_queue()
799 tx_queue); in efx_set_xdp_channels()
819 tx_queue = &channel->tx_queue[0]; in efx_set_xdp_channels()
[all …]
A Dmcdi_functions.c170 struct efx_channel *channel = tx_queue->channel; in efx_mcdi_tx_init()
171 struct efx_nic *efx = tx_queue->efx; in efx_mcdi_tx_init()
185 dma_addr = tx_queue->txd.dma_addr; in efx_mcdi_tx_init()
188 tx_queue->queue, entries, (u64)dma_addr); in efx_mcdi_tx_init()
198 bool tso_v2 = tx_queue->tso_version == 2; in efx_mcdi_tx_init()
222 tx_queue->tso_version = 0; in efx_mcdi_tx_init()
243 efx_nic_free_buffer(tx_queue->efx, &tx_queue->txd); in efx_mcdi_tx_remove()
250 struct efx_nic *efx = tx_queue->efx; in efx_mcdi_tx_fini()
255 tx_queue->queue); in efx_mcdi_tx_fini()
357 struct efx_tx_queue *tx_queue; in efx_fini_dmaq() local
[all …]
A Def100_tx.h18 int ef100_tx_probe(struct efx_tx_queue *tx_queue);
19 void ef100_tx_init(struct efx_tx_queue *tx_queue);
20 void ef100_tx_write(struct efx_tx_queue *tx_queue);
25 netdev_tx_t ef100_enqueue_skb(struct efx_tx_queue *tx_queue, struct sk_buff *skb);
26 int __ef100_enqueue_skb(struct efx_tx_queue *tx_queue, struct sk_buff *skb,
A Dselftest.c417 struct efx_nic *efx = tx_queue->efx; in efx_begin_loopback()
449 rc = efx_enqueue_skb(tx_queue, skb); in efx_begin_loopback()
478 struct efx_nic *efx = tx_queue->efx; in efx_end_loopback()
526 lb_tests->tx_done[tx_queue->label] += tx_done; in efx_end_loopback()
534 efx_test_loopback(struct efx_tx_queue *tx_queue, in efx_test_loopback() argument
537 struct efx_nic *efx = tx_queue->efx; in efx_test_loopback()
553 tx_queue->label, tx_queue->queue, LOOPBACK_MODE(efx), in efx_test_loopback()
557 begin_rc = efx_begin_loopback(tx_queue); in efx_test_loopback()
625 struct efx_tx_queue *tx_queue; in efx_test_loopbacks() local
666 state->offload_csum = (tx_queue->type & in efx_test_loopbacks()
[all …]
/linux/drivers/net/ethernet/sfc/falcon/
A Dtx.c72 netif_vdbg(tx_queue->efx, tx_done, tx_queue->efx->net_dev, in ef4_dequeue_buffer()
74 tx_queue->queue, tx_queue->read_count); in ef4_dequeue_buffer()
274 while (tx_queue->insert_count != tx_queue->write_count) { in ef4_enqueue_unwind()
364 read_ptr = tx_queue->read_count & tx_queue->ptr_mask; in ef4_dequeue_buffers()
381 read_ptr = tx_queue->read_count & tx_queue->ptr_mask; in ef4_dequeue_buffers()
526 if (tx_queue->read_count == tx_queue->old_write_count) { in ef4_xmit_done()
552 tx_queue->queue, efx->txq_entries, tx_queue->ptr_mask); in ef4_probe_tx_queue()
611 netif_dbg(tx_queue->efx, drv, tx_queue->efx->net_dev, in ef4_fini_tx_queue()
618 while (tx_queue->read_count != tx_queue->write_count) { in ef4_fini_tx_queue()
620 buffer = &tx_queue->buffer[tx_queue->read_count & tx_queue->ptr_mask]; in ef4_fini_tx_queue()
[all …]
A Dnic.h71 if (tx_queue->queue & EF4_TXQ_TYPE_OFFLOAD) in ef4_tx_queue_partner()
72 return tx_queue - EF4_TXQ_TYPE_OFFLOAD; in ef4_tx_queue_partner()
74 return tx_queue + EF4_TXQ_TYPE_OFFLOAD; in ef4_tx_queue_partner()
104 tx_queue->empty_read_count = 0; in ef4_nic_may_push_tx_desc()
317 return tx_queue->efx->type->tx_probe(tx_queue); in ef4_nic_probe_tx()
321 tx_queue->efx->type->tx_init(tx_queue); in ef4_nic_init_tx()
325 tx_queue->efx->type->tx_remove(tx_queue); in ef4_nic_remove_tx()
329 tx_queue->efx->type->tx_write(tx_queue); in ef4_nic_push_buffers()
383 int ef4_farch_tx_probe(struct ef4_tx_queue *tx_queue);
384 void ef4_farch_tx_init(struct ef4_tx_queue *tx_queue);
[all …]
A Dfarch.c277 write_ptr = tx_queue->write_count & tx_queue->ptr_mask; in ef4_farch_notify_tx_desc()
293 write_ptr = tx_queue->write_count & tx_queue->ptr_mask; in ef4_farch_push_tx_desc()
314 if (unlikely(tx_queue->write_count == tx_queue->insert_count)) in ef4_farch_tx_write()
318 write_ptr = tx_queue->write_count & tx_queue->ptr_mask; in ef4_farch_tx_write()
333 } while (tx_queue->write_count != tx_queue->insert_count); in ef4_farch_tx_write()
341 ++tx_queue->pushes; in ef4_farch_tx_write()
404 tx_queue->queue); in ef4_farch_tx_init()
425 tx_queue->queue); in ef4_farch_tx_init()
451 tx_queue->queue); in ef4_farch_tx_fini()
460 ef4_free_special_buffer(tx_queue->efx, &tx_queue->txd); in ef4_farch_tx_remove()
[all …]
A Dnet_driver.h445 struct ef4_tx_queue tx_queue[EF4_TXQ_TYPES]; member
1082 int (*tx_probe)(struct ef4_tx_queue *tx_queue);
1083 void (*tx_init)(struct ef4_tx_queue *tx_queue);
1206 return &channel->tx_queue[type]; in ef4_channel_get_tx_queue()
1211 return !(tx_queue->efx->net_dev->num_tc < 2 && in ef4_tx_queue_used()
1212 tx_queue->queue & EF4_TXQ_TYPE_HIGHPRI); in ef4_tx_queue_used()
1220 for (_tx_queue = (_channel)->tx_queue; \
1230 for (_tx_queue = (_channel)->tx_queue; \
1312 return tx_queue->insert_count & tx_queue->ptr_mask; in ef4_tx_queue_get_insert_index()
1319 return &tx_queue->buffer[ef4_tx_queue_get_insert_index(tx_queue)]; in __ef4_tx_queue_get_insert_buffer()
[all …]
/linux/drivers/net/ethernet/freescale/
A Dgianfar.c562 grp->tx_queue = priv->tx_queue[i]; in gfar_parse_group()
1136 tx_queue = priv->tx_queue[i]; in free_skb_resources()
1295 tx_queue = priv->tx_queue[i]; in gfar_init_bds()
1297 tx_queue->num_txbdfree = tx_queue->tx_ring_size; in gfar_init_bds()
1298 tx_queue->dirty_tx = tx_queue->tx_bd_base; in gfar_init_bds()
1299 tx_queue->cur_tx = tx_queue->tx_bd_base; in gfar_init_bds()
1364 tx_queue = priv->tx_queue[i]; in gfar_alloc_skb_resources()
1386 tx_queue = priv->tx_queue[i]; in gfar_alloc_skb_resources()
1787 tx_queue = priv->tx_queue[rq]; in gfar_start_xmit()
1958 tx_queue->tx_skbuff[tx_queue->skb_curtx] = skb; in gfar_start_xmit()
[all …]
/linux/drivers/net/wireless/rsi/
A Drsi_91x_core.c36 q_len = skb_queue_len(&common->tx_queue[ii]); in rsi_determine_min_weight_queue()
60 q_len = skb_queue_len(&common->tx_queue[ii]); in rsi_recalculate_weights()
106 if (skb_queue_len(&common->tx_queue[q_num])) in rsi_get_num_pkts_dequeue()
107 skb = skb_peek(&common->tx_queue[q_num]); in rsi_get_num_pkts_dequeue()
149 if (skb_queue_len(&common->tx_queue[MGMT_SOFT_Q])) { in rsi_core_determine_hal_queue()
172 q_len = skb_queue_len(&common->tx_queue[ii]); in rsi_core_determine_hal_queue()
187 q_len = skb_queue_len(&common->tx_queue[q_num]); in rsi_core_determine_hal_queue()
200 q_len = skb_queue_len(&common->tx_queue[q_num]); in rsi_core_determine_hal_queue()
229 skb_queue_tail(&common->tx_queue[q_num], skb); in rsi_core_queue_pkt()
249 return skb_dequeue(&common->tx_queue[q_num]); in rsi_core_dequeue_pkt()
[all …]
/linux/drivers/net/wireless/silabs/wfx/
A Dqueue.c69 skb_queue_head_init(&wvif->tx_queue[i].normal); in wfx_tx_queues_init()
70 skb_queue_head_init(&wvif->tx_queue[i].cab); in wfx_tx_queues_init()
71 skb_queue_head_init(&wvif->tx_queue[i].offchan); in wfx_tx_queues_init()
72 wvif->tx_queue[i].priority = priorities[i]; in wfx_tx_queues_init()
88 WARN_ON(atomic_read(&wvif->tx_queue[i].pending_frames)); in wfx_tx_queues_check_empty()
89 WARN_ON(!wfx_tx_queue_empty(wvif, &wvif->tx_queue[i])); in wfx_tx_queues_check_empty()
117 struct wfx_queue *queue = &wvif->tx_queue[skb_get_queue_mapping(skb)]; in wfx_tx_queues_put()
138 queue = &wvif->tx_queue[skb_get_queue_mapping(skb)]; in wfx_pending_drop()
164 queue = &wvif->tx_queue[skb_get_queue_mapping(skb)]; in wfx_pending_get()
221 if (!skb_queue_empty_lockless(&wvif->tx_queue[i].cab)) in wfx_tx_queues_has_cab()
[all …]

Completed in 78 milliseconds

1234567