Lines Matching refs:qidx
32 static int nicvf_poll_reg(struct nicvf *nic, int qidx, in nicvf_poll_reg() argument
43 reg_val = nicvf_queue_reg_read(nic, reg, qidx); in nicvf_poll_reg()
505 struct snd_queue *sq, int q_len, int qidx) in nicvf_init_snd_queue() argument
525 qidx += ((nic->sqs_id + 1) * MAX_SND_QUEUES_PER_QS); in nicvf_init_snd_queue()
526 if (qidx < nic->pnicvf->xdp_tx_queues) { in nicvf_init_snd_queue()
628 struct queue_set *qs, int qidx) in nicvf_reclaim_snd_queue() argument
631 nicvf_queue_reg_write(nic, NIC_QSET_SQ_0_7_CFG, qidx, 0); in nicvf_reclaim_snd_queue()
633 if (nicvf_poll_reg(nic, qidx, NIC_QSET_SQ_0_7_STATUS, 21, 1, 0x01)) in nicvf_reclaim_snd_queue()
636 nicvf_queue_reg_write(nic, NIC_QSET_SQ_0_7_CFG, qidx, NICVF_SQ_RESET); in nicvf_reclaim_snd_queue()
640 struct queue_set *qs, int qidx) in nicvf_reclaim_rcv_queue() argument
650 struct queue_set *qs, int qidx) in nicvf_reclaim_cmp_queue() argument
653 nicvf_queue_reg_write(nic, NIC_QSET_CQ_0_7_CFG2, qidx, 0); in nicvf_reclaim_cmp_queue()
655 nicvf_queue_reg_write(nic, NIC_QSET_CQ_0_7_CFG, qidx, 0); in nicvf_reclaim_cmp_queue()
657 nicvf_queue_reg_write(nic, NIC_QSET_CQ_0_7_CFG, qidx, NICVF_CQ_RESET); in nicvf_reclaim_cmp_queue()
661 struct rbdr *rbdr, int qidx) in nicvf_reclaim_rbdr() argument
669 qidx) >> 3; in nicvf_reclaim_rbdr()
672 qidx) >> 3; in nicvf_reclaim_rbdr()
677 fifo_state = nicvf_queue_reg_read(nic, NIC_QSET_RBDR_0_1_STATUS0, qidx); in nicvf_reclaim_rbdr()
680 qidx, NICVF_RBDR_RESET); in nicvf_reclaim_rbdr()
683 nicvf_queue_reg_write(nic, NIC_QSET_RBDR_0_1_CFG, qidx, 0); in nicvf_reclaim_rbdr()
684 if (nicvf_poll_reg(nic, qidx, NIC_QSET_RBDR_0_1_STATUS0, 62, 2, 0x00)) in nicvf_reclaim_rbdr()
689 qidx); in nicvf_reclaim_rbdr()
701 qidx, NICVF_RBDR_RESET); in nicvf_reclaim_rbdr()
703 if (nicvf_poll_reg(nic, qidx, NIC_QSET_RBDR_0_1_STATUS0, 62, 2, 0x02)) in nicvf_reclaim_rbdr()
705 nicvf_queue_reg_write(nic, NIC_QSET_RBDR_0_1_CFG, qidx, 0x00); in nicvf_reclaim_rbdr()
706 if (nicvf_poll_reg(nic, qidx, NIC_QSET_RBDR_0_1_STATUS0, 62, 2, 0x00)) in nicvf_reclaim_rbdr()
746 int qidx, bool enable) in nicvf_rcv_queue_config() argument
752 rq = &qs->rq[qidx]; in nicvf_rcv_queue_config()
756 nicvf_queue_reg_write(nic, NIC_QSET_RQ_0_7_CFG, qidx, 0); in nicvf_rcv_queue_config()
759 nicvf_reclaim_rcv_queue(nic, qs, qidx); in nicvf_rcv_queue_config()
765 rq->cq_idx = qidx; in nicvf_rcv_queue_config()
774 WARN_ON(xdp_rxq_info_reg(&rq->xdp_rxq, nic->netdev, qidx, 0) < 0); in nicvf_rcv_queue_config()
779 mbx.rq.rq_num = qidx; in nicvf_rcv_queue_config()
801 if (!nic->sqs_mode && (qidx == 0)) { in nicvf_rcv_queue_config()
814 nicvf_queue_reg_write(nic, NIC_QSET_RQ_0_7_CFG, qidx, *(u64 *)&rq_cfg); in nicvf_rcv_queue_config()
819 int qidx, bool enable) in nicvf_cmp_queue_config() argument
824 cq = &qs->cq[qidx]; in nicvf_cmp_queue_config()
828 nicvf_reclaim_cmp_queue(nic, qs, qidx); in nicvf_cmp_queue_config()
833 nicvf_queue_reg_write(nic, NIC_QSET_CQ_0_7_CFG, qidx, NICVF_CQ_RESET); in nicvf_cmp_queue_config()
841 qidx, (u64)(cq->dmem.phys_base)); in nicvf_cmp_queue_config()
850 nicvf_queue_reg_write(nic, NIC_QSET_CQ_0_7_CFG, qidx, *(u64 *)&cq_cfg); in nicvf_cmp_queue_config()
853 nicvf_queue_reg_write(nic, NIC_QSET_CQ_0_7_THRESH, qidx, cq->thresh); in nicvf_cmp_queue_config()
855 qidx, CMP_QUEUE_TIMER_THRESH); in nicvf_cmp_queue_config()
860 int qidx, bool enable) in nicvf_snd_queue_config() argument
866 sq = &qs->sq[qidx]; in nicvf_snd_queue_config()
870 nicvf_reclaim_snd_queue(nic, qs, qidx); in nicvf_snd_queue_config()
875 nicvf_queue_reg_write(nic, NIC_QSET_SQ_0_7_CFG, qidx, NICVF_SQ_RESET); in nicvf_snd_queue_config()
878 sq->cq_idx = qidx; in nicvf_snd_queue_config()
883 mbx.sq.sq_num = qidx; in nicvf_snd_queue_config()
890 qidx, (u64)(sq->dmem.phys_base)); in nicvf_snd_queue_config()
903 nicvf_queue_reg_write(nic, NIC_QSET_SQ_0_7_CFG, qidx, *(u64 *)&sq_cfg); in nicvf_snd_queue_config()
906 nicvf_queue_reg_write(nic, NIC_QSET_SQ_0_7_THRESH, qidx, sq->thresh); in nicvf_snd_queue_config()
909 if (cpu_online(qidx)) { in nicvf_snd_queue_config()
910 cpumask_set_cpu(qidx, &sq->affinity_mask); in nicvf_snd_queue_config()
912 &sq->affinity_mask, qidx); in nicvf_snd_queue_config()
918 int qidx, bool enable) in nicvf_rbdr_config() argument
923 rbdr = &qs->rbdr[qidx]; in nicvf_rbdr_config()
924 nicvf_reclaim_rbdr(nic, rbdr, qidx); in nicvf_rbdr_config()
930 qidx, (u64)(rbdr->dmem.phys_base)); in nicvf_rbdr_config()
942 qidx, *(u64 *)&rbdr_cfg); in nicvf_rbdr_config()
946 qidx, qs->rbdr_len - 1); in nicvf_rbdr_config()
950 qidx, rbdr->thresh - 1); in nicvf_rbdr_config()
991 int qidx; in nicvf_free_resources() local
995 for (qidx = 0; qidx < qs->rbdr_cnt; qidx++) in nicvf_free_resources()
996 nicvf_free_rbdr(nic, &qs->rbdr[qidx]); in nicvf_free_resources()
999 for (qidx = 0; qidx < qs->cq_cnt; qidx++) in nicvf_free_resources()
1000 nicvf_free_cmp_queue(nic, &qs->cq[qidx]); in nicvf_free_resources()
1003 for (qidx = 0; qidx < qs->sq_cnt; qidx++) in nicvf_free_resources()
1004 nicvf_free_snd_queue(nic, &qs->sq[qidx]); in nicvf_free_resources()
1009 int qidx; in nicvf_alloc_resources() local
1013 for (qidx = 0; qidx < qs->rbdr_cnt; qidx++) { in nicvf_alloc_resources()
1014 if (nicvf_init_rbdr(nic, &qs->rbdr[qidx], qs->rbdr_len, in nicvf_alloc_resources()
1020 for (qidx = 0; qidx < qs->sq_cnt; qidx++) { in nicvf_alloc_resources()
1021 if (nicvf_init_snd_queue(nic, &qs->sq[qidx], qs->sq_len, qidx)) in nicvf_alloc_resources()
1026 for (qidx = 0; qidx < qs->cq_cnt; qidx++) { in nicvf_alloc_resources()
1027 if (nicvf_init_cmp_queue(nic, &qs->cq[qidx], qs->cq_len)) in nicvf_alloc_resources()
1069 int qidx; in nicvf_config_data_transfer() local
1087 for (qidx = 0; qidx < qs->sq_cnt; qidx++) in nicvf_config_data_transfer()
1088 nicvf_snd_queue_config(nic, qs, qidx, enable); in nicvf_config_data_transfer()
1089 for (qidx = 0; qidx < qs->cq_cnt; qidx++) in nicvf_config_data_transfer()
1090 nicvf_cmp_queue_config(nic, qs, qidx, enable); in nicvf_config_data_transfer()
1091 for (qidx = 0; qidx < qs->rbdr_cnt; qidx++) in nicvf_config_data_transfer()
1092 nicvf_rbdr_config(nic, qs, qidx, enable); in nicvf_config_data_transfer()
1093 for (qidx = 0; qidx < qs->rq_cnt; qidx++) in nicvf_config_data_transfer()
1094 nicvf_rcv_queue_config(nic, qs, qidx, enable); in nicvf_config_data_transfer()
1096 for (qidx = 0; qidx < qs->rq_cnt; qidx++) in nicvf_config_data_transfer()
1097 nicvf_rcv_queue_config(nic, qs, qidx, disable); in nicvf_config_data_transfer()
1098 for (qidx = 0; qidx < qs->rbdr_cnt; qidx++) in nicvf_config_data_transfer()
1099 nicvf_rbdr_config(nic, qs, qidx, disable); in nicvf_config_data_transfer()
1100 for (qidx = 0; qidx < qs->sq_cnt; qidx++) in nicvf_config_data_transfer()
1101 nicvf_snd_queue_config(nic, qs, qidx, disable); in nicvf_config_data_transfer()
1102 for (qidx = 0; qidx < qs->cq_cnt; qidx++) in nicvf_config_data_transfer()
1103 nicvf_cmp_queue_config(nic, qs, qidx, disable); in nicvf_config_data_transfer()
1160 void nicvf_sq_enable(struct nicvf *nic, struct snd_queue *sq, int qidx) in nicvf_sq_enable() argument
1164 sq_cfg = nicvf_queue_reg_read(nic, NIC_QSET_SQ_0_7_CFG, qidx); in nicvf_sq_enable()
1166 nicvf_queue_reg_write(nic, NIC_QSET_SQ_0_7_CFG, qidx, sq_cfg); in nicvf_sq_enable()
1168 nicvf_queue_reg_write(nic, NIC_QSET_SQ_0_7_DOOR, qidx, 0); in nicvf_sq_enable()
1171 void nicvf_sq_disable(struct nicvf *nic, int qidx) in nicvf_sq_disable() argument
1175 sq_cfg = nicvf_queue_reg_read(nic, NIC_QSET_SQ_0_7_CFG, qidx); in nicvf_sq_disable()
1177 nicvf_queue_reg_write(nic, NIC_QSET_SQ_0_7_CFG, qidx, sq_cfg); in nicvf_sq_disable()
1181 int qidx) in nicvf_sq_free_used_descs() argument
1188 head = nicvf_queue_reg_read(nic, NIC_QSET_SQ_0_7_HEAD, qidx) >> 4; in nicvf_sq_free_used_descs()