Home
last modified time | relevance | path

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

/linux/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->intx = index; in pdsc_qcq_intr_alloc()
[all …]
H A Ddebugfs.c107 void pdsc_debugfs_add_qcq(struct pdsc *pdsc, struct pdsc_qcq *qcq) in pdsc_debugfs_add_qcq() argument
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()
119 debugfs_create_x64("q_base_pa", 0400, qcq_dentry, &qcq->q_base_pa); in pdsc_debugfs_add_qcq()
120 debugfs_create_x32("q_size", 0400, qcq_dentry, &qcq->q_size); in pdsc_debugfs_add_qcq()
121 debugfs_create_x64("cq_base_pa", 0400, qcq_dentry, &qcq->cq_base_pa); in pdsc_debugfs_add_qcq()
122 debugfs_create_x32("cq_size", 0400, qcq_dentry, &qcq->cq_size); in pdsc_debugfs_add_qcq()
123 debugfs_create_x32("accum_work", 0400, qcq_dentry, &qcq->accum_work); in pdsc_debugfs_add_qcq()
125 q_dentry = debugfs_create_dir("q", qcq->dentry); in pdsc_debugfs_add_qcq()
[all …]
H A Dadminq.c8 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()
56 qcq->accum_work += nq_work; in pdsc_process_notifyq()
70 void pdsc_process_adminq(struct pdsc_qcq *qcq) in pdsc_process_adminq() argument
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()
125 pds_core_intr_credits(&pdsc->intr_ctrl[qcq->intx], in pdsc_process_adminq()
[all …]
/linux/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->sg_base_pa); in ionic_debugfs_add_qcq()
[all …]
H A Dionic_lif.c60 struct ionic_qcq *qcq; in ionic_dim_work() local
65 qcq = container_of(dim, struct ionic_qcq, dim); in ionic_dim_work()
66 q = &qcq->q; in ionic_dim_work()
75 intr = &qcq->intr; in ionic_dim_work()
228 static int ionic_request_irq(struct ionic_lif *lif, struct ionic_qcq *qcq) in ionic_request_irq() argument
230 struct ionic_intr_info *intr = &qcq->intr; in ionic_request_irq()
232 struct ionic_queue *q = &qcq->q; in ionic_request_irq()
244 0, intr->name, &qcq->napi); in ionic_request_irq()
290 static int ionic_qcq_enable(struct ionic_qcq *qcq) in ionic_qcq_enable() argument
292 struct ionic_queue *q = &qcq->q; in ionic_qcq_enable()
[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()
865 void ionic_dev_cmd_adminq_init(struct ionic_dev *idev, struct ionic_qcq *qcq, in ionic_dev_cmd_adminq_init() argument
868 struct ionic_queue *q = &qcq->q; in ionic_dev_cmd_adminq_init()
[all …]
H A Dionic_txrx.c613 struct ionic_qcq *qcq = q_to_qcq(q); in ionic_rx_clean() local
706 qcq->cq.desc_size - in ionic_rx_clean()
721 napi_gro_receive(&qcq->napi, skb); in ionic_rx_clean()
723 napi_gro_frags(&qcq->napi); in ionic_rx_clean()
904 static void ionic_dim_update(struct ionic_qcq *qcq, int napi_mode) in ionic_dim_update() argument
911 if (!qcq->intr.dim_coal_hw) in ionic_dim_update()
914 lif = qcq->q.lif; in ionic_dim_update()
915 qi = qcq->cq.bound_q->index; in ionic_dim_update()
932 dim_update_sample(qcq->cq.bound_intr->rearm_count, in ionic_dim_update()
935 net_dim(&qcq->dim, &dim_sample); in ionic_dim_update()
[all …]