Home
last modified time | relevance | path

Searched refs:io_sq (Results 1 – 6 of 6) sorted by relevance

/freebsd/sys/contrib/ena-com/
H A Dena_eth_com.c63 static void *get_sq_desc_regular_queue(struct ena_com_io_sq *io_sq) in get_sq_desc_regular_queue() argument
68 tail_masked = io_sq->tail & (io_sq->q_depth - 1); in get_sq_desc_regular_queue()
70 offset = tail_masked * io_sq->desc_entry_size; in get_sq_desc_regular_queue()
72 return (void *)((uintptr_t)io_sq->desc_addr.virt_addr + offset); in get_sq_desc_regular_queue()
75 static int ena_com_write_bounce_buffer_to_dev(struct ena_com_io_sq *io_sq, in ena_com_write_bounce_buffer_to_dev() argument
78 struct ena_com_llq_info *llq_info = &io_sq->llq_info; in ena_com_write_bounce_buffer_to_dev()
83 dst_tail_mask = io_sq->tail & (io_sq->q_depth - 1); in ena_com_write_bounce_buffer_to_dev()
86 if (is_llq_max_tx_burst_exists(io_sq)) { in ena_com_write_bounce_buffer_to_dev()
87 if (unlikely(!io_sq->entries_in_tx_burst_left)) { in ena_com_write_bounce_buffer_to_dev()
88 ena_trc_err(ena_com_io_sq_to_ena_dev(io_sq), in ena_com_write_bounce_buffer_to_dev()
[all …]
H A Dena_eth_com.h85 int ena_com_prepare_tx(struct ena_com_io_sq *io_sq,
90 struct ena_com_io_sq *io_sq,
93 int ena_com_add_single_rx_desc(struct ena_com_io_sq *io_sq,
105 static inline int ena_com_free_q_entries(struct ena_com_io_sq *io_sq) in ena_com_free_q_entries() argument
109 next_to_comp = io_sq->next_to_comp; in ena_com_free_q_entries()
110 tail = io_sq->tail; in ena_com_free_q_entries()
113 return io_sq->q_depth - 1 - cnt; in ena_com_free_q_entries()
117 static inline bool ena_com_sq_have_enough_space(struct ena_com_io_sq *io_sq, in ena_com_sq_have_enough_space() argument
122 if (io_sq->mem_queue_type == ENA_ADMIN_PLACEMENT_POLICY_HOST) in ena_com_sq_have_enough_space()
123 return ena_com_free_q_entries(io_sq) >= required_buffers; in ena_com_sq_have_enough_space()
[all …]
H A Dena_com.c364 struct ena_com_io_sq *io_sq) in ena_com_init_io_sq() argument
369 memset(&io_sq->desc_addr, 0x0, sizeof(io_sq->desc_addr)); in ena_com_init_io_sq()
371 io_sq->dma_addr_bits = (u8)ena_dev->dma_addr_bits; in ena_com_init_io_sq()
372 io_sq->desc_entry_size = in ena_com_init_io_sq()
373 (io_sq->direction == ENA_COM_IO_QUEUE_DIRECTION_TX) ? in ena_com_init_io_sq()
377 size = io_sq->desc_entry_size * io_sq->q_depth; in ena_com_init_io_sq()
378 io_sq->bus = ena_dev->bus; in ena_com_init_io_sq()
380 if (io_sq->mem_queue_type == ENA_ADMIN_PLACEMENT_POLICY_HOST) { in ena_com_init_io_sq()
383 io_sq->desc_addr.virt_addr, in ena_com_init_io_sq()
384 io_sq->desc_addr.phys_addr, in ena_com_init_io_sq()
[all …]
H A Dena_com.h595 struct ena_com_io_sq **io_sq,
1147 static inline struct ena_com_dev *ena_com_io_sq_to_ena_dev(struct ena_com_io_sq *io_sq) in ena_com_io_sq_to_ena_dev() argument
1149 return container_of(io_sq, struct ena_com_dev, io_sq_queues[io_sq->qid]); in ena_com_io_sq_to_ena_dev()
/freebsd/sys/dev/ena/
H A Dena_datapath.c570 struct ena_com_io_sq *io_sq; in ena_rx_cleanup() local
591 io_sq = &adapter->ena_dev->io_sq_queues[ena_qid]; in ena_rx_cleanup()
609 rc = ena_com_rx_pkt(io_cq, io_sq, &ena_rx_ctx); in ena_rx_cleanup()
693 refill_required = ena_com_free_q_entries(io_sq); in ena_rx_cleanup()
975 struct ena_com_io_sq *io_sq; in ena_xmit_mbuf() local
988 io_sq = &ena_dev->io_sq_queues[ena_qid]; in ena_xmit_mbuf()
1031 rc = ena_com_prepare_tx(io_sq, &ena_tx_ctx, &nb_hw_desc); in ena_xmit_mbuf()
H A Dena_netmap.c47 struct ena_com_io_sq *io_sq; member
429 ena_com_is_doorbell_needed(ctx->io_sq, &ena_tx_ctx)) in ena_netmap_tx_frame()
432 rc = ena_com_prepare_tx(ctx->io_sq, &ena_tx_ctx, &nb_hw_desc); in ena_netmap_tx_frame()
934 rc = ena_com_rx_pkt(ctx->io_cq, ctx->io_sq, &ena_rx_ctx); in ena_netmap_rx_frame()
1060 ctx->io_sq = &ctx->adapter->ena_dev->io_sq_queues[ena_qid]; in ena_netmap_fill_ctx()