Home
last modified time | relevance | path

Searched refs:io_cq (Results 1 - 25 of 35) sorted by relevance

12

/kernel/linux/linux-6.6/drivers/net/ethernet/amazon/ena/
H A Dena_eth_com.h60 int ena_com_rx_pkt(struct ena_com_io_cq *io_cq,
68 bool ena_com_cq_empty(struct ena_com_io_cq *io_cq);
70 static inline void ena_com_unmask_intr(struct ena_com_io_cq *io_cq, in ena_com_unmask_intr() argument
73 writel(intr_reg->intr_control, io_cq->unmask_reg); in ena_com_unmask_intr()
175 static inline int ena_com_update_dev_comp_head(struct ena_com_io_cq *io_cq) in ena_com_update_dev_comp_head() argument
180 if (unlikely(io_cq->cq_head_db_reg)) { in ena_com_update_dev_comp_head()
181 head = io_cq->head; in ena_com_update_dev_comp_head()
182 unreported_comp = head - io_cq->last_head_update; in ena_com_update_dev_comp_head()
183 need_update = unreported_comp > (io_cq->q_depth / ENA_COMP_HEAD_THRESH); in ena_com_update_dev_comp_head()
186 netdev_dbg(ena_com_io_cq_to_ena_dev(io_cq) in ena_com_update_dev_comp_head()
197 ena_com_update_numa_node(struct ena_com_io_cq *io_cq, u8 numa_node) ena_com_update_numa_node() argument
216 ena_com_cq_inc_head(struct ena_com_io_cq *io_cq) ena_com_cq_inc_head() argument
225 ena_com_tx_comp_req_id_get(struct ena_com_io_cq *io_cq, u16 *req_id) ena_com_tx_comp_req_id_get() argument
[all...]
H A Dena_eth_com.c9 struct ena_com_io_cq *io_cq) in ena_com_get_next_rx_cdesc()
15 head_masked = io_cq->head & (io_cq->q_depth - 1); in ena_com_get_next_rx_cdesc()
16 expected_phase = io_cq->phase; in ena_com_get_next_rx_cdesc()
18 cdesc = (struct ena_eth_io_rx_cdesc_base *)(io_cq->cdesc_addr.virt_addr in ena_com_get_next_rx_cdesc()
19 + (head_masked * io_cq->cdesc_entry_size_in_bytes)); in ena_com_get_next_rx_cdesc()
228 ena_com_rx_cdesc_idx_to_ptr(struct ena_com_io_cq *io_cq, u16 idx) in ena_com_rx_cdesc_idx_to_ptr() argument
230 idx &= (io_cq->q_depth - 1); in ena_com_rx_cdesc_idx_to_ptr()
232 ((uintptr_t)io_cq->cdesc_addr.virt_addr + in ena_com_rx_cdesc_idx_to_ptr()
233 idx * io_cq in ena_com_rx_cdesc_idx_to_ptr()
8 ena_com_get_next_rx_cdesc( struct ena_com_io_cq *io_cq) ena_com_get_next_rx_cdesc() argument
236 ena_com_cdesc_rx_pkt_get(struct ena_com_io_cq *io_cq, u16 *first_cdesc_idx) ena_com_cdesc_rx_pkt_get() argument
347 ena_com_rx_set_flags(struct ena_com_io_cq *io_cq, struct ena_com_rx_ctx *ena_rx_ctx, struct ena_eth_io_rx_cdesc_base *cdesc) ena_com_rx_set_flags() argument
539 ena_com_rx_pkt(struct ena_com_io_cq *io_cq, struct ena_com_io_sq *io_sq, struct ena_com_rx_ctx *ena_rx_ctx) ena_com_rx_pkt() argument
637 ena_com_cq_empty(struct ena_com_io_cq *io_cq) ena_com_cq_empty() argument
[all...]
H A Dena_com.c410 struct ena_com_io_cq *io_cq) in ena_com_init_io_cq()
415 memset(&io_cq->cdesc_addr, 0x0, sizeof(io_cq->cdesc_addr)); in ena_com_init_io_cq()
418 io_cq->cdesc_entry_size_in_bytes = in ena_com_init_io_cq()
419 (io_cq->direction == ENA_COM_IO_QUEUE_DIRECTION_TX) ? in ena_com_init_io_cq()
423 size = io_cq->cdesc_entry_size_in_bytes * io_cq->q_depth; in ena_com_init_io_cq()
427 io_cq->cdesc_addr.virt_addr = in ena_com_init_io_cq()
429 &io_cq->cdesc_addr.phys_addr, GFP_KERNEL); in ena_com_init_io_cq()
431 if (!io_cq in ena_com_init_io_cq()
408 ena_com_init_io_cq(struct ena_com_dev *ena_dev, struct ena_com_create_io_ctx *ctx, struct ena_com_io_cq *io_cq) ena_com_init_io_cq() argument
943 ena_com_io_queue_free(struct ena_com_dev *ena_dev, struct ena_com_io_sq *io_sq, struct ena_com_io_cq *io_cq) ena_com_io_queue_free() argument
1389 ena_com_create_io_cq(struct ena_com_dev *ena_dev, struct ena_com_io_cq *io_cq) ena_com_create_io_cq() argument
1449 ena_com_get_io_handlers(struct ena_com_dev *ena_dev, u16 qid, struct ena_com_io_sq **io_sq, struct ena_com_io_cq **io_cq) ena_com_get_io_handlers() argument
1502 ena_com_destroy_io_cq(struct ena_com_dev *ena_dev, struct ena_com_io_cq *io_cq) ena_com_destroy_io_cq() argument
1877 struct ena_com_io_cq *io_cq; ena_com_create_io_queue() local
1938 struct ena_com_io_cq *io_cq; ena_com_destroy_io_queue() local
[all...]
H A Dena_com.h448 * @io_cq - IO completion queue handler.
454 struct ena_com_io_cq **io_cq);
837 * @io_cq - io completion queue handler
844 struct ena_com_io_cq *io_cq);
848 * @io_cq - io completion queue handler
855 struct ena_com_io_cq *io_cq);
946 /* ena_com_io_cq_to_ena_dev - Extract ena_com_dev using contained field io_cq.
951 static inline struct ena_com_dev *ena_com_io_cq_to_ena_dev(struct ena_com_io_cq *io_cq) in ena_com_io_cq_to_ena_dev() argument
953 return container_of(io_cq, struct ena_com_dev, io_cq_queues[io_cq in ena_com_io_cq_to_ena_dev()
[all...]
/kernel/linux/linux-5.10/drivers/net/ethernet/amazon/ena/
H A Dena_eth_com.h56 int ena_com_rx_pkt(struct ena_com_io_cq *io_cq,
64 bool ena_com_cq_empty(struct ena_com_io_cq *io_cq);
66 static inline void ena_com_unmask_intr(struct ena_com_io_cq *io_cq, in ena_com_unmask_intr() argument
69 writel(intr_reg->intr_control, io_cq->unmask_reg); in ena_com_unmask_intr()
168 static inline int ena_com_update_dev_comp_head(struct ena_com_io_cq *io_cq) in ena_com_update_dev_comp_head() argument
173 if (unlikely(io_cq->cq_head_db_reg)) { in ena_com_update_dev_comp_head()
174 head = io_cq->head; in ena_com_update_dev_comp_head()
175 unreported_comp = head - io_cq->last_head_update; in ena_com_update_dev_comp_head()
176 need_update = unreported_comp > (io_cq->q_depth / ENA_COMP_HEAD_THRESH); in ena_com_update_dev_comp_head()
180 io_cq in ena_com_update_dev_comp_head()
189 ena_com_update_numa_node(struct ena_com_io_cq *io_cq, u8 numa_node) ena_com_update_numa_node() argument
208 ena_com_cq_inc_head(struct ena_com_io_cq *io_cq) ena_com_cq_inc_head() argument
217 ena_com_tx_comp_req_id_get(struct ena_com_io_cq *io_cq, u16 *req_id) ena_com_tx_comp_req_id_get() argument
[all...]
H A Dena_eth_com.c9 struct ena_com_io_cq *io_cq) in ena_com_get_next_rx_cdesc()
15 head_masked = io_cq->head & (io_cq->q_depth - 1); in ena_com_get_next_rx_cdesc()
16 expected_phase = io_cq->phase; in ena_com_get_next_rx_cdesc()
18 cdesc = (struct ena_eth_io_rx_cdesc_base *)(io_cq->cdesc_addr.virt_addr in ena_com_get_next_rx_cdesc()
19 + (head_masked * io_cq->cdesc_entry_size_in_bytes)); in ena_com_get_next_rx_cdesc()
217 ena_com_rx_cdesc_idx_to_ptr(struct ena_com_io_cq *io_cq, u16 idx) in ena_com_rx_cdesc_idx_to_ptr() argument
219 idx &= (io_cq->q_depth - 1); in ena_com_rx_cdesc_idx_to_ptr()
221 ((uintptr_t)io_cq->cdesc_addr.virt_addr + in ena_com_rx_cdesc_idx_to_ptr()
222 idx * io_cq in ena_com_rx_cdesc_idx_to_ptr()
8 ena_com_get_next_rx_cdesc( struct ena_com_io_cq *io_cq) ena_com_get_next_rx_cdesc() argument
225 ena_com_cdesc_rx_pkt_get(struct ena_com_io_cq *io_cq, u16 *first_cdesc_idx) ena_com_cdesc_rx_pkt_get() argument
510 ena_com_rx_pkt(struct ena_com_io_cq *io_cq, struct ena_com_io_sq *io_sq, struct ena_com_rx_ctx *ena_rx_ctx) ena_com_rx_pkt() argument
600 ena_com_cq_empty(struct ena_com_io_cq *io_cq) ena_com_cq_empty() argument
[all...]
H A Dena_com.c399 struct ena_com_io_cq *io_cq) in ena_com_init_io_cq()
404 memset(&io_cq->cdesc_addr, 0x0, sizeof(io_cq->cdesc_addr)); in ena_com_init_io_cq()
407 io_cq->cdesc_entry_size_in_bytes = in ena_com_init_io_cq()
408 (io_cq->direction == ENA_COM_IO_QUEUE_DIRECTION_TX) ? in ena_com_init_io_cq()
412 size = io_cq->cdesc_entry_size_in_bytes * io_cq->q_depth; in ena_com_init_io_cq()
416 io_cq->cdesc_addr.virt_addr = in ena_com_init_io_cq()
418 &io_cq->cdesc_addr.phys_addr, GFP_KERNEL); in ena_com_init_io_cq()
420 if (!io_cq in ena_com_init_io_cq()
397 ena_com_init_io_cq(struct ena_com_dev *ena_dev, struct ena_com_create_io_ctx *ctx, struct ena_com_io_cq *io_cq) ena_com_init_io_cq() argument
912 ena_com_io_queue_free(struct ena_com_dev *ena_dev, struct ena_com_io_sq *io_sq, struct ena_com_io_cq *io_cq) ena_com_io_queue_free() argument
1347 ena_com_create_io_cq(struct ena_com_dev *ena_dev, struct ena_com_io_cq *io_cq) ena_com_create_io_cq() argument
1405 ena_com_get_io_handlers(struct ena_com_dev *ena_dev, u16 qid, struct ena_com_io_sq **io_sq, struct ena_com_io_cq **io_cq) ena_com_get_io_handlers() argument
1457 ena_com_destroy_io_cq(struct ena_com_dev *ena_dev, struct ena_com_io_cq *io_cq) ena_com_destroy_io_cq() argument
1825 struct ena_com_io_cq *io_cq; ena_com_create_io_queue() local
1885 struct ena_com_io_cq *io_cq; ena_com_destroy_io_queue() local
[all...]
H A Dena_com.h446 * @io_cq - IO completion queue handler.
452 struct ena_com_io_cq **io_cq);
835 * @io_cq - io completion queue handler
842 struct ena_com_io_cq *io_cq);
846 * @io_cq - io completion queue handler
853 struct ena_com_io_cq *io_cq);
/kernel/linux/linux-5.10/block/
H A Dblk-ioc.c34 struct io_cq *icq = container_of(head, struct io_cq, __rcu_head); in icq_free_icq_rcu()
43 static void ioc_exit_icq(struct io_cq *icq) in ioc_exit_icq()
60 static void ioc_destroy_icq(struct io_cq *icq) in ioc_destroy_icq()
102 struct io_cq *icq = hlist_entry(ioc->icq_list.first, in ioc_release_fn()
103 struct io_cq, ioc_node); in ioc_release_fn()
179 struct io_cq *icq; in put_io_context_active()
218 struct io_cq *icq = list_entry(icq_list->next, in __ioc_clear_queue()
219 struct io_cq, q_node); in __ioc_clear_queue()
237 * Walk @q->icq_list and exit all io_cq'
[all...]
H A Dblk.h293 struct io_cq *ioc_lookup_icq(struct io_context *ioc, struct request_queue *q);
294 struct io_cq *ioc_create_icq(struct io_context *ioc, struct request_queue *q,
H A Delevator.c533 if (WARN_ON(e->icq_size < sizeof(struct io_cq)) || in elv_register()
534 WARN_ON(e->icq_align < __alignof__(struct io_cq))) in elv_register()
H A Dbfq-iosched.h389 /* associated io_cq structure */
390 struct io_cq icq; /* must be the first member */
H A Dblk-mq-sched.c25 struct io_cq *icq; in blk_mq_sched_assign_ioc()
/kernel/linux/linux-6.6/block/
H A Dblk-ioc.c37 struct io_cq *icq = container_of(head, struct io_cq, __rcu_head); in icq_free_icq_rcu()
46 static void ioc_exit_icq(struct io_cq *icq) in ioc_exit_icq()
61 struct io_cq *icq; in ioc_exit_icqs()
73 static void ioc_destroy_icq(struct io_cq *icq) in ioc_destroy_icq()
119 struct io_cq *icq = hlist_entry(ioc->icq_list.first, in ioc_release_fn()
120 struct io_cq, ioc_node); in ioc_release_fn()
169 * Walk @q->icq_list and exit all io_cq's.
175 struct io_cq *icq = in ioc_clear_queue()
176 list_first_entry(&q->icq_list, struct io_cq, q_nod in ioc_clear_queue()
[all...]
H A Delevator.h9 struct io_cq;
49 void (*init_icq)(struct io_cq *);
50 void (*exit_icq)(struct io_cq *);
H A Dblk.h358 struct io_cq *ioc_find_get_icq(struct request_queue *q);
359 struct io_cq *ioc_lookup_icq(struct request_queue *q);
H A Delevator.c511 if (WARN_ON(e->icq_size < sizeof(struct io_cq)) || in elv_register()
512 WARN_ON(e->icq_align < __alignof__(struct io_cq))) in elv_register()
H A Dbfq-iosched.h478 /* associated io_cq structure */
479 struct io_cq icq; /* must be the first member */
/kernel/linux/linux-6.6/include/linux/
H A Diocontext.h15 * An io_cq (icq) is association between an io_context (ioc) and a
21 * io_cq and elevator can use the tail area for private information. The
22 * recommended way to do this is defining a struct which contains io_cq as
27 * struct io_cq icq;
73 struct io_cq { struct
78 * q_node and ioc_node link io_cq through icq_list of q and ioc
81 * used for RCU free of io_cq.
110 struct io_cq __rcu *icq_hint;
H A Dblk-mq.h175 struct io_cq *icq;
/kernel/linux/linux-5.10/include/linux/
H A Delevator.h10 struct io_cq;
51 void (*init_icq)(struct io_cq *);
52 void (*exit_icq)(struct io_cq *);
H A Diocontext.h15 * An io_cq (icq) is association between an io_context (ioc) and a
21 * io_cq and elevator can use the tail area for private information. The
22 * recommended way to do this is defining a struct which contains io_cq as
27 * struct io_cq icq;
73 struct io_cq { struct
78 * q_node and ioc_node link io_cq through icq_list of q and ioc
81 * used for RCU free of io_cq.
110 struct io_cq __rcu *icq_hint;
/kernel/linux/linux-5.10/drivers/scsi/lpfc/
H A Dlpfc_debugfs.h462 cq = phba->sli4_hba.hdwq[wqidx].io_cq; in lpfc_debug_dump_cq()
639 if (phba->sli4_hba.hdwq[cq_idx].io_cq->queue_id == qid) in lpfc_debug_dump_cq_by_id()
644 lpfc_debug_dump_q(phba->sli4_hba.hdwq[cq_idx].io_cq); in lpfc_debug_dump_cq_by_id()
H A Dlpfc_sli4.h689 struct lpfc_queue *io_cq; /* Fast-path FCP & NVME compl queue */ member
/kernel/linux/linux-6.6/drivers/scsi/lpfc/
H A Dlpfc_debugfs.h471 cq = phba->sli4_hba.hdwq[wqidx].io_cq; in lpfc_debug_dump_cq()
648 if (phba->sli4_hba.hdwq[cq_idx].io_cq->queue_id == qid) in lpfc_debug_dump_cq_by_id()
653 lpfc_debug_dump_q(phba->sli4_hba.hdwq[cq_idx].io_cq); in lpfc_debug_dump_cq_by_id()

Completed in 32 milliseconds

12