Home
last modified time | relevance | path

Searched refs:qcq (Results 1 – 10 of 10) sorted by relevance

/linux-6.15/drivers/net/ethernet/amd/pds_core/
H A Dcore.c141 if (!(qcq && qcq->pdsc)) in pdsc_qcq_free()
150 qcq->q_base, qcq->q_base_pa); in pdsc_qcq_free()
154 qcq->cq_base, qcq->cq_base_pa); in pdsc_qcq_free()
159 memset(qcq, 0, sizeof(*qcq)); in pdsc_qcq_free()
199 qcq->q.info = vcalloc(num_descs, sizeof(*qcq->q.info)); in pdsc_qcq_alloc()
239 qcq->q_size + qcq->cq_size, in pdsc_qcq_alloc()
260 qcq->q_base = dma_alloc_coherent(dev, qcq->q_size, in pdsc_qcq_alloc()
273 qcq->cq_base = dma_alloc_coherent(dev, qcq->cq_size, in pdsc_qcq_alloc()
285 qcq->cq.bound_q = &qcq->q; in pdsc_qcq_alloc()
292 dma_free_coherent(dev, qcq->q_size, qcq->q_base, qcq->q_base_pa); in pdsc_qcq_alloc()
[all …]
H A Ddebugfs.c111 struct pdsc_queue *q = &qcq->q; in pdsc_debugfs_add_qcq()
112 struct pdsc_cq *cq = &qcq->cq; in pdsc_debugfs_add_qcq()
117 qcq->dentry = qcq_dentry; in pdsc_debugfs_add_qcq()
125 q_dentry = debugfs_create_dir("q", qcq->dentry); in pdsc_debugfs_add_qcq()
137 cq_dentry = debugfs_create_dir("cq", qcq->dentry); in pdsc_debugfs_add_qcq()
147 if (qcq->flags & PDS_CORE_QCQ_F_INTR) { in pdsc_debugfs_add_qcq()
148 struct pdsc_intr_info *intr = &pdsc->intr_info[qcq->intx]; in pdsc_debugfs_add_qcq()
150 intr_dentry = debugfs_create_dir("intr", qcq->dentry); in pdsc_debugfs_add_qcq()
171 void pdsc_debugfs_del_qcq(struct pdsc_qcq *qcq) in pdsc_debugfs_del_qcq() argument
173 debugfs_remove_recursive(qcq->dentry); in pdsc_debugfs_del_qcq()
[all …]
H A Dadminq.c11 struct pdsc *pdsc = qcq->pdsc; in pdsc_process_notifyq()
12 struct pdsc_cq *cq = &qcq->cq; in pdsc_process_notifyq()
56 qcq->accum_work += nq_work; in pdsc_process_notifyq()
73 struct pdsc_queue *q = &qcq->q; in pdsc_process_adminq()
74 struct pdsc *pdsc = qcq->pdsc; in pdsc_process_adminq()
75 struct pdsc_cq *cq = &qcq->cq; in pdsc_process_adminq()
121 qcq->accum_work += aq_work; in pdsc_process_adminq()
135 pdsc_process_adminq(qcq); in pdsc_work_thread()
141 struct pdsc_qcq *qcq; in pdsc_adminq_isr() local
150 qcq = &pdsc->adminqcq; in pdsc_adminq_isr()
[all …]
H A Dcore.h275 void pdsc_debugfs_add_qcq(struct pdsc *pdsc, struct pdsc_qcq *qcq);
276 void pdsc_debugfs_del_qcq(struct pdsc_qcq *qcq);
293 void pdsc_qcq_free(struct pdsc *pdsc, struct pdsc_qcq *qcq);
297 unsigned int pid, struct pdsc_qcq *qcq);
313 void pdsc_process_adminq(struct pdsc_qcq *qcq);
/linux-6.15/drivers/net/ethernet/pensando/ionic/
H A Dionic_debugfs.c119 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()
137 q_dentry = debugfs_create_dir("q", qcq->dentry); in ionic_debugfs_add_qcq()
157 if (qcq->flags & IONIC_QCQ_F_SG) { in ionic_debugfs_add_qcq()
183 if (qcq->flags & IONIC_QCQ_F_INTR) { in ionic_debugfs_add_qcq()
205 if (qcq->flags & IONIC_QCQ_F_NOTIFYQ) { in ionic_debugfs_add_qcq()
297 void ionic_debugfs_del_qcq(struct ionic_qcq *qcq) in ionic_debugfs_del_qcq() argument
299 debugfs_remove_recursive(qcq->dentry); in ionic_debugfs_del_qcq()
[all …]
H A Dionic_lif.c65 q = &qcq->q; in ionic_dim_work()
379 if (!qcq) in ionic_lif_qcq_deinit()
411 if (!qcq) in ionic_qcq_free()
417 dma_free_coherent(dev, qcq->q_size, qcq->q_base, qcq->q_base_pa); in ionic_qcq_free()
424 ionic_put_cmb(lif, qcq->cmb_pgid, qcq->cmb_order); in ionic_qcq_free()
432 dma_free_coherent(dev, qcq->cq_size, qcq->cq_base, qcq->cq_base_pa); in ionic_qcq_free()
438 dma_free_coherent(dev, qcq->sg_size, qcq->sg_base, qcq->sg_base_pa); in ionic_qcq_free()
823 memset(qcq->q_base, 0, qcq->q_size); in ionic_qcq_sanitize()
825 memset_io(qcq->cmb_q_base, 0, qcq->cmb_q_size); in ionic_qcq_sanitize()
826 memset(qcq->cq_base, 0, qcq->cq_size); in ionic_qcq_sanitize()
[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_dev.c59 struct ionic_qcq *qcq = container_of(work, struct ionic_qcq, in ionic_doorbell_napi_work() local
64 then = qcq->q.dbell_jiffies; in ionic_doorbell_napi_work()
67 if (dif > qcq->q.dbell_deadline) in ionic_doorbell_napi_work()
68 ionic_napi_schedule_do_softirq(&qcq->napi); in ionic_doorbell_napi_work()
84 struct ionic_qcq *qcq) in ionic_queue_dbell_napi_work() argument
88 if (!(qcq->flags & IONIC_QCQ_F_INTR)) in ionic_queue_dbell_napi_work()
91 cpu = ionic_get_preferred_cpu(ionic, &qcq->intr); in ionic_queue_dbell_napi_work()
92 queue_work_on(cpu, ionic->wq, &qcq->doorbell_napi_work); in ionic_queue_dbell_napi_work()
680 struct ionic_queue *q = &qcq->q; in ionic_dev_cmd_adminq_init()
681 struct ionic_cq *cq = &qcq->cq; in ionic_dev_cmd_adminq_init()
[all …]
H A Dionic_txrx.c609 struct ionic_qcq *qcq = q_to_qcq(q); in ionic_rx_clean() local
702 qcq->cq.desc_size - in ionic_rx_clean()
717 napi_gro_receive(&qcq->napi, skb); in ionic_rx_clean()
719 napi_gro_frags(&qcq->napi); in ionic_rx_clean()
907 if (!qcq->intr.dim_coal_hw) in ionic_dim_update()
910 lif = qcq->q.lif; in ionic_dim_update()
911 qi = qcq->cq.bound_q->index; in ionic_dim_update()
931 net_dim(&qcq->dim, &dim_sample); in ionic_dim_update()
960 ionic_txq_poke_doorbell(&qcq->q); in ionic_tx_napi()
1025 ionic_rxq_poke_doorbell(&qcq->q); in ionic_rx_napi()
[all …]
H A Dionic_dev.h361 void ionic_dev_cmd_adminq_init(struct ionic_dev *idev, struct ionic_qcq *qcq,