| /linux/drivers/net/ethernet/amd/pds_core/ |
| H A D | core.c | 106 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() 115 static int pdsc_qcq_intr_alloc(struct pdsc *pdsc, struct pdsc_qcq *qcq) in pdsc_qcq_intr_alloc() argument 120 if (!(qcq->flags & PDS_CORE_QCQ_F_INTR)) { in pdsc_qcq_intr_alloc() 121 qcq->intx = PDS_CORE_INTR_INDEX_NOT_ASSIGNED; in pdsc_qcq_intr_alloc() 126 PDS_CORE_DRV_NAME, pdsc->pdev->bus->number, qcq->q.name); in pdsc_qcq_intr_alloc() 130 qcq->intx = index; in pdsc_qcq_intr_alloc() 131 qcq->cq.bound_intr = &pdsc->intr_info[index]; in pdsc_qcq_intr_alloc() [all …]
|
| H A D | debugfs.c | 112 void pdsc_debugfs_add_qcq(struct pdsc *pdsc, struct pdsc_qcq *qcq) in pdsc_debugfs_add_qcq() argument 116 struct pdsc_queue *q = &qcq->q; in pdsc_debugfs_add_qcq() 117 struct pdsc_cq *cq = &qcq->cq; in pdsc_debugfs_add_qcq() 122 qcq->dentry = qcq_dentry; in pdsc_debugfs_add_qcq() 124 debugfs_create_x64("q_base_pa", 0400, qcq_dentry, &qcq->q_base_pa); in pdsc_debugfs_add_qcq() 125 debugfs_create_x32("q_size", 0400, qcq_dentry, &qcq->q_size); in pdsc_debugfs_add_qcq() 126 debugfs_create_x64("cq_base_pa", 0400, qcq_dentry, &qcq->cq_base_pa); in pdsc_debugfs_add_qcq() 127 debugfs_create_x32("cq_size", 0400, qcq_dentry, &qcq->cq_size); in pdsc_debugfs_add_qcq() 128 debugfs_create_x32("accum_work", 0400, qcq_dentry, &qcq->accum_work); in pdsc_debugfs_add_qcq() 130 q_dentry = debugfs_create_dir("q", qcq->dentry); in pdsc_debugfs_add_qcq() [all …]
|
| H A D | adminq.c | 8 static int pdsc_process_notifyq(struct pdsc_qcq *qcq) in pdsc_process_notifyq() argument 11 struct pdsc *pdsc = qcq->pdsc; in pdsc_process_notifyq() 12 struct pdsc_cq *cq = &qcq->cq; in pdsc_process_notifyq() 62 qcq->accum_work += nq_work; in pdsc_process_notifyq() 76 void pdsc_process_adminq(struct pdsc_qcq *qcq) in pdsc_process_adminq() argument 79 struct pdsc_queue *q = &qcq->q; in pdsc_process_adminq() 80 struct pdsc *pdsc = qcq->pdsc; in pdsc_process_adminq() 81 struct pdsc_cq *cq = &qcq->cq; in pdsc_process_adminq() 131 qcq->accum_work += aq_work; in pdsc_process_adminq() 135 pds_core_intr_credits(&pdsc->intr_ctrl[qcq->intx], in pdsc_process_adminq() [all …]
|
| H A D | core.h | 307 void pdsc_debugfs_add_qcq(struct pdsc *pdsc, struct pdsc_qcq *qcq); 308 void pdsc_debugfs_del_qcq(struct pdsc_qcq *qcq); 335 void pdsc_qcq_free(struct pdsc *pdsc, struct pdsc_qcq *qcq); 339 unsigned int pid, struct pdsc_qcq *qcq); 355 void pdsc_process_adminq(struct pdsc_qcq *qcq);
|
| /linux/drivers/net/ethernet/pensando/ionic/ |
| H A D | ionic_debugfs.c | 113 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->sg_base_pa); in ionic_debugfs_add_qcq() [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_txrx.c | 618 struct ionic_qcq *qcq = q_to_qcq(q); in ionic_rx_clean() local 722 napi_gro_receive(&qcq->napi, skb); in ionic_rx_clean() 724 napi_gro_frags(&qcq->napi); in ionic_rx_clean() 912 static void ionic_dim_update(struct ionic_qcq *qcq, int napi_mode) in ionic_dim_update() argument 919 if (!qcq->intr.dim_coal_hw) in ionic_dim_update() 922 lif = qcq->q.lif; in ionic_dim_update() 923 qi = qcq->cq.bound_q->index; in ionic_dim_update() 940 dim_update_sample(qcq->cq.bound_intr->rearm_count, in ionic_dim_update() 943 net_dim(&qcq->dim, &dim_sample); in ionic_dim_update() 948 struct ionic_qcq *qcq = napi_to_qcq(napi); in ionic_tx_napi() local [all …]
|