Home
last modified time | relevance | path

Searched refs:qcq (Results 1 - 17 of 17) sorted by relevance

/kernel/linux/linux-6.6/drivers/net/ethernet/amd/pds_core/
H A Dcore.c106 static void pdsc_qcq_intr_free(struct pdsc *pdsc, struct pdsc_qcq *qcq) in pdsc_qcq_intr_free() argument
108 if (!(qcq->flags & PDS_CORE_QCQ_F_INTR) || in pdsc_qcq_intr_free()
109 qcq->intx == PDS_CORE_INTR_INDEX_NOT_ASSIGNED) in pdsc_qcq_intr_free()
112 pdsc_intr_free(pdsc, qcq->intx); in pdsc_qcq_intr_free()
113 qcq->intx = PDS_CORE_INTR_INDEX_NOT_ASSIGNED; in pdsc_qcq_intr_free()
116 static int pdsc_qcq_intr_alloc(struct pdsc *pdsc, struct pdsc_qcq *qcq) in pdsc_qcq_intr_alloc() argument
121 if (!(qcq->flags & PDS_CORE_QCQ_F_INTR)) { in pdsc_qcq_intr_alloc()
122 qcq->intx = PDS_CORE_INTR_INDEX_NOT_ASSIGNED; in pdsc_qcq_intr_alloc()
127 PDS_CORE_DRV_NAME, pdsc->pdev->bus->number, qcq->q.name); in pdsc_qcq_intr_alloc()
131 qcq in pdsc_qcq_intr_alloc()
136 pdsc_qcq_free(struct pdsc *pdsc, struct pdsc_qcq *qcq) pdsc_qcq_free() argument
188 pdsc_qcq_alloc(struct pdsc *pdsc, unsigned int type, unsigned int index, const char *name, unsigned int flags, unsigned int num_descs, unsigned int desc_size, unsigned int cq_desc_size, unsigned int pid, struct pdsc_qcq *qcq) pdsc_qcq_alloc() argument
[all...]
H A Ddebugfs.c107 void pdsc_debugfs_add_qcq(struct pdsc *pdsc, struct pdsc_qcq *qcq) in pdsc_debugfs_add_qcq() argument
112 struct pdsc_intr_info *intr = &pdsc->intr_info[qcq->intx]; in pdsc_debugfs_add_qcq()
113 struct pdsc_queue *q = &qcq->q; in pdsc_debugfs_add_qcq()
114 struct pdsc_cq *cq = &qcq->cq; in pdsc_debugfs_add_qcq()
119 qcq->dentry = qcq_dentry; in pdsc_debugfs_add_qcq()
121 debugfs_create_x64("q_base_pa", 0400, qcq_dentry, &qcq->q_base_pa); in pdsc_debugfs_add_qcq()
122 debugfs_create_x32("q_size", 0400, qcq_dentry, &qcq->q_size); in pdsc_debugfs_add_qcq()
123 debugfs_create_x64("cq_base_pa", 0400, qcq_dentry, &qcq->cq_base_pa); in pdsc_debugfs_add_qcq()
124 debugfs_create_x32("cq_size", 0400, qcq_dentry, &qcq->cq_size); in pdsc_debugfs_add_qcq()
125 debugfs_create_x32("accum_work", 0400, qcq_dentry, &qcq in pdsc_debugfs_add_qcq()
170 pdsc_debugfs_del_qcq(struct pdsc_qcq *qcq) pdsc_debugfs_del_qcq() argument
[all...]
H A Dadminq.c9 struct pdsc_qcq *qcq; member
13 static int pdsc_process_notifyq(struct pdsc_qcq *qcq) in pdsc_process_notifyq() argument
16 struct pdsc *pdsc = qcq->pdsc; in pdsc_process_notifyq()
17 struct pdsc_cq *cq = &qcq->cq; in pdsc_process_notifyq()
61 qcq->accum_work += nq_work; in pdsc_process_notifyq()
75 void pdsc_process_adminq(struct pdsc_qcq *qcq) in pdsc_process_adminq() argument
78 struct pdsc_queue *q = &qcq->q; in pdsc_process_adminq()
79 struct pdsc *pdsc = qcq->pdsc; in pdsc_process_adminq()
80 struct pdsc_cq *cq = &qcq->cq; in pdsc_process_adminq()
127 qcq in pdsc_process_adminq()
141 struct pdsc_qcq *qcq = container_of(work, struct pdsc_qcq, work); pdsc_work_thread() local
149 struct pdsc_qcq *qcq; pdsc_adminq_isr() local
166 __pdsc_adminq_post(struct pdsc *pdsc, struct pdsc_qcq *qcq, union pds_core_adminq_cmd *cmd, union pds_core_adminq_comp *comp, struct pdsc_wait_context *wc) __pdsc_adminq_post() argument
[all...]
H A Dcore.h272 void pdsc_debugfs_add_qcq(struct pdsc *pdsc, struct pdsc_qcq *qcq);
273 void pdsc_debugfs_del_qcq(struct pdsc_qcq *qcq);
289 void pdsc_qcq_free(struct pdsc *pdsc, struct pdsc_qcq *qcq);
293 unsigned int pid, struct pdsc_qcq *qcq);
306 void pdsc_process_adminq(struct pdsc_qcq *qcq);
/kernel/linux/linux-5.10/drivers/net/ethernet/pensando/ionic/
H A Dionic_debugfs.c113 void ionic_debugfs_add_qcq(struct ionic_lif *lif, struct ionic_qcq *qcq) in ionic_debugfs_add_qcq() argument
119 struct ionic_intr_info *intr = &qcq->intr; in ionic_debugfs_add_qcq()
122 struct ionic_queue *q = &qcq->q; in ionic_debugfs_add_qcq()
123 struct ionic_cq *cq = &qcq->cq; in ionic_debugfs_add_qcq()
128 qcq->dentry = qcq_dentry; in ionic_debugfs_add_qcq()
130 debugfs_create_x64("q_base_pa", 0400, qcq_dentry, &qcq->q_base_pa); in ionic_debugfs_add_qcq()
131 debugfs_create_x32("q_size", 0400, qcq_dentry, &qcq->q_size); in ionic_debugfs_add_qcq()
132 debugfs_create_x64("cq_base_pa", 0400, qcq_dentry, &qcq->cq_base_pa); in ionic_debugfs_add_qcq()
133 debugfs_create_x32("cq_size", 0400, qcq_dentry, &qcq->cq_size); in ionic_debugfs_add_qcq()
134 debugfs_create_x64("sg_base_pa", 0400, qcq_dentry, &qcq in ionic_debugfs_add_qcq()
250 ionic_debugfs_del_qcq(struct ionic_qcq *qcq) ionic_debugfs_del_qcq() argument
[all...]
H A Dionic_lif.c50 struct ionic_qcq *qcq; in ionic_dim_work() local
55 qcq = container_of(dim, struct ionic_qcq, dim); in ionic_dim_work()
56 lif = qcq->q.lif; in ionic_dim_work()
60 intr = &qcq->intr; in ionic_dim_work()
200 static int ionic_request_irq(struct ionic_lif *lif, struct ionic_qcq *qcq) in ionic_request_irq() argument
202 struct ionic_intr_info *intr = &qcq->intr; in ionic_request_irq()
204 struct ionic_queue *q = &qcq->q; in ionic_request_irq()
216 0, intr->name, &qcq->napi); in ionic_request_irq()
243 static int ionic_qcq_enable(struct ionic_qcq *qcq) in ionic_qcq_enable() argument
245 struct ionic_queue *q = &qcq in ionic_qcq_enable()
288 ionic_qcq_disable(struct ionic_qcq *qcq, bool send_to_hw) ionic_qcq_disable() argument
332 ionic_lif_qcq_deinit(struct ionic_lif *lif, struct ionic_qcq *qcq) ionic_lif_qcq_deinit() argument
351 ionic_qcq_intr_free(struct ionic_lif *lif, struct ionic_qcq *qcq) ionic_qcq_intr_free() argument
363 ionic_qcq_free(struct ionic_lif *lif, struct ionic_qcq *qcq) ionic_qcq_free() argument
440 ionic_alloc_qcq_interrupt(struct ionic_lif *lif, struct ionic_qcq *qcq) ionic_alloc_qcq_interrupt() argument
487 ionic_qcq_alloc(struct ionic_lif *lif, unsigned int type, unsigned int index, const char *name, unsigned int flags, unsigned int num_descs, unsigned int desc_size, unsigned int cq_desc_size, unsigned int sg_desc_size, unsigned int pid, struct ionic_qcq **qcq) ionic_qcq_alloc() argument
698 ionic_qcq_sanitize(struct ionic_qcq *qcq) ionic_qcq_sanitize() argument
709 ionic_lif_txq_init(struct ionic_lif *lif, struct ionic_qcq *qcq) ionic_lif_txq_init() argument
770 ionic_lif_rxq_init(struct ionic_lif *lif, struct ionic_qcq *qcq) ionic_lif_rxq_init() argument
2681 struct ionic_qcq *qcq; ionic_lif_adminq_init() local
2722 struct ionic_qcq *qcq = lif->notifyqcq; ionic_lif_notifyq_init() local
[all...]
H A Dionic_debugfs.h18 void ionic_debugfs_add_qcq(struct ionic_lif *lif, struct ionic_qcq *qcq);
20 void ionic_debugfs_del_qcq(struct ionic_qcq *qcq);
29 static inline void ionic_debugfs_add_qcq(struct ionic_lif *lif, struct ionic_qcq *qcq) { } in ionic_debugfs_add_qcq() argument
31 static inline void ionic_debugfs_del_qcq(struct ionic_qcq *qcq) { } in ionic_debugfs_del_qcq() argument
H A Dionic_txrx.c155 struct ionic_qcq *qcq = q_to_qcq(q); in ionic_rx_clean() local
222 napi_gro_receive(&qcq->napi, skb); in ionic_rx_clean()
224 napi_gro_frags(&qcq->napi); in ionic_rx_clean()
419 static void ionic_dim_update(struct ionic_qcq *qcq, int napi_mode) in ionic_dim_update() argument
426 if (!qcq->intr.dim_coal_hw) in ionic_dim_update()
429 lif = qcq->q.lif; in ionic_dim_update()
430 qi = qcq->cq.bound_q->index; in ionic_dim_update()
447 dim_update_sample(qcq->cq.bound_intr->rearm_count, in ionic_dim_update()
450 net_dim(&qcq->dim, dim_sample); in ionic_dim_update()
455 struct ionic_qcq *qcq in ionic_tx_napi() local
488 struct ionic_qcq *qcq = napi_to_qcq(napi); ionic_rx_napi() local
524 struct ionic_qcq *qcq = napi_to_qcq(napi); ionic_txrx_napi() local
[all...]
H A Dionic_lif.h282 static inline void debug_stats_napi_poll(struct ionic_qcq *qcq, in debug_stats_napi_poll() argument
285 qcq->napi_stats.poll_count++; in debug_stats_napi_poll()
290 qcq->napi_stats.work_done_cntr[work_done]++; in debug_stats_napi_poll()
296 #define DEBUG_STATS_NAPI_POLL(qcq, work_done) \
297 debug_stats_napi_poll(qcq, work_done)
H A Dionic_dev.c436 void ionic_dev_cmd_adminq_init(struct ionic_dev *idev, struct ionic_qcq *qcq, in ionic_dev_cmd_adminq_init() argument
439 struct ionic_queue *q = &qcq->q; in ionic_dev_cmd_adminq_init()
440 struct ionic_cq *cq = &qcq->cq; in ionic_dev_cmd_adminq_init()
446 .q_init.ver = qcq->q.lif->qtype_info[q->type].version, in ionic_dev_cmd_adminq_init()
H A Dionic_dev.h315 void ionic_dev_cmd_adminq_init(struct ionic_dev *idev, struct ionic_qcq *qcq,
/kernel/linux/linux-6.6/drivers/net/ethernet/pensando/ionic/
H A Dionic_debugfs.c113 void ionic_debugfs_add_qcq(struct ionic_lif *lif, struct ionic_qcq *qcq) in ionic_debugfs_add_qcq() argument
119 struct ionic_intr_info *intr = &qcq->intr; in ionic_debugfs_add_qcq()
122 struct ionic_queue *q = &qcq->q; in ionic_debugfs_add_qcq()
123 struct ionic_cq *cq = &qcq->cq; in ionic_debugfs_add_qcq()
128 qcq->dentry = qcq_dentry; in ionic_debugfs_add_qcq()
130 debugfs_create_x64("q_base_pa", 0400, qcq_dentry, &qcq->q_base_pa); in ionic_debugfs_add_qcq()
131 debugfs_create_x32("q_size", 0400, qcq_dentry, &qcq->q_size); in ionic_debugfs_add_qcq()
132 debugfs_create_x64("cq_base_pa", 0400, qcq_dentry, &qcq->cq_base_pa); in ionic_debugfs_add_qcq()
133 debugfs_create_x32("cq_size", 0400, qcq_dentry, &qcq->cq_size); in ionic_debugfs_add_qcq()
134 debugfs_create_x64("sg_base_pa", 0400, qcq_dentry, &qcq in ionic_debugfs_add_qcq()
294 ionic_debugfs_del_qcq(struct ionic_qcq *qcq) ionic_debugfs_del_qcq() argument
[all...]
H A Dionic_lif.c54 struct ionic_qcq *qcq; in ionic_dim_work() local
59 qcq = container_of(dim, struct ionic_qcq, dim); in ionic_dim_work()
60 lif = qcq->q.lif; in ionic_dim_work()
64 intr = &qcq->intr; in ionic_dim_work()
210 struct ionic_qcq *qcq = container_of(timer, struct ionic_qcq, napi_deadline); in ionic_napi_deadline() local
212 napi_schedule(&qcq->napi); in ionic_napi_deadline()
224 static int ionic_request_irq(struct ionic_lif *lif, struct ionic_qcq *qcq) in ionic_request_irq() argument
226 struct ionic_intr_info *intr = &qcq->intr; in ionic_request_irq()
228 struct ionic_queue *q = &qcq->q; in ionic_request_irq()
240 0, intr->name, &qcq in ionic_request_irq()
267 ionic_qcq_enable(struct ionic_qcq *qcq) ionic_qcq_enable() argument
312 ionic_qcq_disable(struct ionic_lif *lif, struct ionic_qcq *qcq, int fw_err) ionic_qcq_disable() argument
358 ionic_lif_qcq_deinit(struct ionic_lif *lif, struct ionic_qcq *qcq) ionic_lif_qcq_deinit() argument
377 ionic_qcq_intr_free(struct ionic_lif *lif, struct ionic_qcq *qcq) ionic_qcq_intr_free() argument
389 ionic_qcq_free(struct ionic_lif *lif, struct ionic_qcq *qcq) ionic_qcq_free() argument
483 ionic_alloc_qcq_interrupt(struct ionic_lif *lif, struct ionic_qcq *qcq) ionic_alloc_qcq_interrupt() argument
530 ionic_qcq_alloc(struct ionic_lif *lif, unsigned int type, unsigned int index, const char *name, unsigned int flags, unsigned int num_descs, unsigned int desc_size, unsigned int cq_desc_size, unsigned int sg_desc_size, unsigned int pid, struct ionic_qcq **qcq) ionic_qcq_alloc() argument
775 ionic_qcq_sanitize(struct ionic_qcq *qcq) ionic_qcq_sanitize() argument
788 ionic_lif_txq_init(struct ionic_lif *lif, struct ionic_qcq *qcq) ionic_lif_txq_init() argument
856 ionic_lif_rxq_init(struct ionic_lif *lif, struct ionic_qcq *qcq) ionic_lif_rxq_init() argument
3436 struct ionic_qcq *qcq; ionic_lif_adminq_init() local
3482 struct ionic_qcq *qcq = lif->notifyqcq; ionic_lif_notifyq_init() local
[all...]
H A Dionic_debugfs.h18 void ionic_debugfs_add_qcq(struct ionic_lif *lif, struct ionic_qcq *qcq);
20 void ionic_debugfs_del_qcq(struct ionic_qcq *qcq);
29 static inline void ionic_debugfs_add_qcq(struct ionic_lif *lif, struct ionic_qcq *qcq) { } in ionic_debugfs_add_qcq() argument
31 static inline void ionic_debugfs_del_qcq(struct ionic_qcq *qcq) { } in ionic_debugfs_del_qcq() argument
H A Dionic_txrx.c283 struct ionic_qcq *qcq = q_to_qcq(q); in ionic_rx_clean() local
288 comp = cq_info->cq_desc + qcq->cq.desc_size - sizeof(*comp); in ionic_rx_clean()
356 qcq->cq.desc_size - in ionic_rx_clean()
371 napi_gro_receive(&qcq->napi, skb); in ionic_rx_clean()
373 napi_gro_frags(&qcq->napi); in ionic_rx_clean()
533 static void ionic_dim_update(struct ionic_qcq *qcq, int napi_mode) in ionic_dim_update() argument
540 if (!qcq->intr.dim_coal_hw) in ionic_dim_update()
543 lif = qcq->q.lif; in ionic_dim_update()
544 qi = qcq->cq.bound_q->index; in ionic_dim_update()
561 dim_update_sample(qcq in ionic_dim_update()
569 struct ionic_qcq *qcq = napi_to_qcq(napi); ionic_tx_napi() local
603 struct ionic_qcq *qcq = napi_to_qcq(napi); ionic_rx_napi() local
795 struct ionic_qcq *qcq = q_to_qcq(q); ionic_tx_clean() local
[all...]
H A Dionic_dev.c574 void ionic_dev_cmd_adminq_init(struct ionic_dev *idev, struct ionic_qcq *qcq, in ionic_dev_cmd_adminq_init() argument
577 struct ionic_queue *q = &qcq->q; in ionic_dev_cmd_adminq_init()
578 struct ionic_cq *cq = &qcq->cq; in ionic_dev_cmd_adminq_init()
584 .q_init.ver = qcq->q.lif->qtype_info[q->type].version, in ionic_dev_cmd_adminq_init()
H A Dionic_dev.h353 void ionic_dev_cmd_adminq_init(struct ionic_dev *idev, struct ionic_qcq *qcq,

Completed in 26 milliseconds