Home | History | Annotate | Download | only in ena-com

Lines Matching defs:io_sq

344 			      struct ena_com_io_sq *io_sq)
349 memset(&io_sq->desc_addr, 0x0, sizeof(io_sq->desc_addr));
351 io_sq->desc_entry_size =
352 (io_sq->direction == ENA_COM_IO_QUEUE_DIRECTION_TX) ?
356 size = io_sq->desc_entry_size * io_sq->q_depth;
357 io_sq->bus = ena_dev->bus;
359 if (io_sq->mem_queue_type == ENA_ADMIN_PLACEMENT_POLICY_HOST) {
362 io_sq->desc_addr.virt_addr,
363 io_sq->desc_addr.phys_addr,
364 io_sq->desc_addr.mem_handle,
367 if (!io_sq->desc_addr.virt_addr) {
370 io_sq->desc_addr.virt_addr,
371 io_sq->desc_addr.phys_addr,
372 io_sq->desc_addr.mem_handle);
375 if (!io_sq->desc_addr.virt_addr) {
381 if (io_sq->mem_queue_type == ENA_ADMIN_PLACEMENT_POLICY_DEV) {
383 io_sq->bounce_buf_ctrl.buffer_size = ena_dev->llq_info.desc_list_entry_size;
384 io_sq->bounce_buf_ctrl.buffers_num = ENA_COM_BOUNCE_BUFFER_CNTRL_CNT;
385 io_sq->bounce_buf_ctrl.next_to_use = 0;
387 size = io_sq->bounce_buf_ctrl.buffer_size * io_sq->bounce_buf_ctrl.buffers_num;
391 io_sq->bounce_buf_ctrl.base_buffer,
394 if (!io_sq->bounce_buf_ctrl.base_buffer)
395 io_sq->bounce_buf_ctrl.base_buffer = ENA_MEM_ALLOC(ena_dev->dmadev, size);
397 if (!io_sq->bounce_buf_ctrl.base_buffer) {
402 memcpy(&io_sq->llq_info, &ena_dev->llq_info, sizeof(io_sq->llq_info));
405 io_sq->llq_buf_ctrl.curr_bounce_buf =
406 ena_com_get_next_bounce_buffer(&io_sq->bounce_buf_ctrl);
407 memset(io_sq->llq_buf_ctrl.curr_bounce_buf,
408 0x0, io_sq->llq_info.desc_list_entry_size);
409 io_sq->llq_buf_ctrl.descs_left_in_line =
410 io_sq->llq_info.descs_num_before_header;
413 io_sq->tail = 0;
414 io_sq->next_to_comp = 0;
415 io_sq->phase = 1;
794 struct ena_com_io_sq *io_sq)
804 if (io_sq->direction == ENA_COM_IO_QUEUE_DIRECTION_TX)
813 destroy_cmd.sq.sq_idx = io_sq->idx;
829 struct ena_com_io_sq *io_sq,
846 if (io_sq->desc_addr.virt_addr) {
847 size = io_sq->desc_entry_size * io_sq->q_depth;
851 io_sq->desc_addr.virt_addr,
852 io_sq->desc_addr.phys_addr,
853 io_sq->desc_addr.mem_handle);
855 io_sq->desc_addr.virt_addr = NULL;
858 if (io_sq->bounce_buf_ctrl.base_buffer) {
859 size = io_sq->llq_info.desc_list_entry_size * ENA_COM_BOUNCE_BUFFER_CNTRL_CNT;
860 ENA_MEM_FREE(ena_dev->dmadev, io_sq->bounce_buf_ctrl.base_buffer, size);
861 io_sq->bounce_buf_ctrl.base_buffer = NULL;
1103 struct ena_com_io_sq *io_sq, u16 cq_idx)
1115 if (io_sq->direction == ENA_COM_IO_QUEUE_DIRECTION_TX)
1124 create_cmd.sq_caps_2 |= io_sq->mem_queue_type &
1135 create_cmd.sq_depth = io_sq->q_depth;
1137 if (io_sq->mem_queue_type == ENA_ADMIN_PLACEMENT_POLICY_HOST) {
1140 io_sq->desc_addr.phys_addr);
1157 io_sq->idx = cmd_completion.sq_idx;
1159 io_sq->db_addr = (u32 __iomem *)((uintptr_t)ena_dev->reg_bar +
1162 if (io_sq->mem_queue_type == ENA_ADMIN_PLACEMENT_POLICY_DEV) {
1163 io_sq->header_addr = (u8 __iomem *)((uintptr_t)ena_dev->mem_bar
1166 io_sq->desc_addr.pbuf_dev_addr =
1171 ena_trc_dbg("created sq[%u], depth[%u]\n", io_sq->idx, io_sq->q_depth);
1179 struct ena_com_io_sq *io_sq;
1188 io_sq = &ena_dev->io_sq_queues[qid];
1190 if (io_sq->direction != ENA_COM_IO_QUEUE_DIRECTION_RX)
1193 rss->rss_ind_tbl[i].cq_idx = io_sq->idx;
1355 struct ena_com_io_sq **io_sq,
1364 *io_sq = &ena_dev->io_sq_queues[qid];
1786 struct ena_com_io_sq *io_sq;
1796 io_sq = &ena_dev->io_sq_queues[ctx->qid];
1799 memset(io_sq, 0x0, sizeof(*io_sq));
1809 io_sq->q_depth = ctx->queue_size;
1810 io_sq->direction = ctx->direction;
1811 io_sq->qid = ctx->qid;
1813 io_sq->mem_queue_type = ctx->mem_queue_type;
1817 io_sq->tx_max_header_size =
1820 ret = ena_com_init_io_sq(ena_dev, ctx, io_sq);
1831 ret = ena_com_create_io_sq(ena_dev, io_sq, io_cq->idx);
1840 ena_com_io_queue_free(ena_dev, io_sq, io_cq);
1846 struct ena_com_io_sq *io_sq;
1855 io_sq = &ena_dev->io_sq_queues[qid];
1858 ena_com_destroy_io_sq(ena_dev, io_sq);
1861 ena_com_io_queue_free(ena_dev, io_sq, io_cq);