| /linux-6.15/drivers/net/ethernet/amd/pds_core/ |
| H A D | core.c | 141 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 D | debugfs.c | 111 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 D | adminq.c | 11 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 D | core.h | 275 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 D | ionic_debugfs.c | 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() 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 D | ionic_lif.c | 65 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 D | ionic_debugfs.h | 18 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 D | ionic_dev.c | 59 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 D | ionic_txrx.c | 609 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 D | ionic_dev.h | 361 void ionic_dev_cmd_adminq_init(struct ionic_dev *idev, struct ionic_qcq *qcq,
|