Lines Matching refs:qidx
30 static int nicvf_poll_reg(struct nicvf *nic, int qidx, in nicvf_poll_reg() argument
41 reg_val = nicvf_queue_reg_read(nic, reg, qidx); in nicvf_poll_reg()
396 struct queue_set *qs, int qidx) in nicvf_reclaim_snd_queue() argument
399 nicvf_queue_reg_write(nic, NIC_QSET_SQ_0_7_CFG, qidx, 0); in nicvf_reclaim_snd_queue()
401 if (nicvf_poll_reg(nic, qidx, NIC_QSET_SQ_0_7_STATUS, 21, 1, 0x01)) in nicvf_reclaim_snd_queue()
404 nicvf_queue_reg_write(nic, NIC_QSET_SQ_0_7_CFG, qidx, NICVF_SQ_RESET); in nicvf_reclaim_snd_queue()
408 struct queue_set *qs, int qidx) in nicvf_reclaim_rcv_queue() argument
418 struct queue_set *qs, int qidx) in nicvf_reclaim_cmp_queue() argument
421 nicvf_queue_reg_write(nic, NIC_QSET_CQ_0_7_CFG2, qidx, 0); in nicvf_reclaim_cmp_queue()
423 nicvf_queue_reg_write(nic, NIC_QSET_CQ_0_7_CFG, qidx, 0); in nicvf_reclaim_cmp_queue()
425 nicvf_queue_reg_write(nic, NIC_QSET_CQ_0_7_CFG, qidx, NICVF_CQ_RESET); in nicvf_reclaim_cmp_queue()
429 struct rbdr *rbdr, int qidx) in nicvf_reclaim_rbdr() argument
437 qidx) >> 3; in nicvf_reclaim_rbdr()
440 qidx) >> 3; in nicvf_reclaim_rbdr()
445 fifo_state = nicvf_queue_reg_read(nic, NIC_QSET_RBDR_0_1_STATUS0, qidx); in nicvf_reclaim_rbdr()
448 qidx, NICVF_RBDR_RESET); in nicvf_reclaim_rbdr()
451 nicvf_queue_reg_write(nic, NIC_QSET_RBDR_0_1_CFG, qidx, 0); in nicvf_reclaim_rbdr()
452 if (nicvf_poll_reg(nic, qidx, NIC_QSET_RBDR_0_1_STATUS0, 62, 2, 0x00)) in nicvf_reclaim_rbdr()
457 qidx); in nicvf_reclaim_rbdr()
469 qidx, NICVF_RBDR_RESET); in nicvf_reclaim_rbdr()
471 if (nicvf_poll_reg(nic, qidx, NIC_QSET_RBDR_0_1_STATUS0, 62, 2, 0x02)) in nicvf_reclaim_rbdr()
473 nicvf_queue_reg_write(nic, NIC_QSET_RBDR_0_1_CFG, qidx, 0x00); in nicvf_reclaim_rbdr()
474 if (nicvf_poll_reg(nic, qidx, NIC_QSET_RBDR_0_1_STATUS0, 62, 2, 0x00)) in nicvf_reclaim_rbdr()
501 int qidx, bool enable) in nicvf_rcv_queue_config() argument
507 rq = &qs->rq[qidx]; in nicvf_rcv_queue_config()
511 nicvf_queue_reg_write(nic, NIC_QSET_RQ_0_7_CFG, qidx, 0); in nicvf_rcv_queue_config()
514 nicvf_reclaim_rcv_queue(nic, qs, qidx); in nicvf_rcv_queue_config()
519 rq->cq_idx = qidx; in nicvf_rcv_queue_config()
530 mbx.rq.rq_num = qidx; in nicvf_rcv_queue_config()
556 nicvf_queue_reg_write(nic, NIC_QSET_RQ_0_7_CFG, qidx, *(u64 *)&rq_cfg); in nicvf_rcv_queue_config()
561 int qidx, bool enable) in nicvf_cmp_queue_config() argument
566 cq = &qs->cq[qidx]; in nicvf_cmp_queue_config()
570 nicvf_reclaim_cmp_queue(nic, qs, qidx); in nicvf_cmp_queue_config()
575 nicvf_queue_reg_write(nic, NIC_QSET_CQ_0_7_CFG, qidx, NICVF_CQ_RESET); in nicvf_cmp_queue_config()
583 qidx, (u64)(cq->dmem.phys_base)); in nicvf_cmp_queue_config()
592 nicvf_queue_reg_write(nic, NIC_QSET_CQ_0_7_CFG, qidx, *(u64 *)&cq_cfg); in nicvf_cmp_queue_config()
595 nicvf_queue_reg_write(nic, NIC_QSET_CQ_0_7_THRESH, qidx, cq->thresh); in nicvf_cmp_queue_config()
597 qidx, CMP_QUEUE_TIMER_THRESH); in nicvf_cmp_queue_config()
602 int qidx, bool enable) in nicvf_snd_queue_config() argument
608 sq = &qs->sq[qidx]; in nicvf_snd_queue_config()
612 nicvf_reclaim_snd_queue(nic, qs, qidx); in nicvf_snd_queue_config()
617 nicvf_queue_reg_write(nic, NIC_QSET_SQ_0_7_CFG, qidx, NICVF_SQ_RESET); in nicvf_snd_queue_config()
620 sq->cq_idx = qidx; in nicvf_snd_queue_config()
625 mbx.sq.sq_num = qidx; in nicvf_snd_queue_config()
632 qidx, (u64)(sq->dmem.phys_base)); in nicvf_snd_queue_config()
641 nicvf_queue_reg_write(nic, NIC_QSET_SQ_0_7_CFG, qidx, *(u64 *)&sq_cfg); in nicvf_snd_queue_config()
644 nicvf_queue_reg_write(nic, NIC_QSET_SQ_0_7_THRESH, qidx, sq->thresh); in nicvf_snd_queue_config()
647 if (cpu_online(qidx)) { in nicvf_snd_queue_config()
648 cpumask_set_cpu(qidx, &sq->affinity_mask); in nicvf_snd_queue_config()
650 &sq->affinity_mask, qidx); in nicvf_snd_queue_config()
656 int qidx, bool enable) in nicvf_rbdr_config() argument
661 rbdr = &qs->rbdr[qidx]; in nicvf_rbdr_config()
662 nicvf_reclaim_rbdr(nic, rbdr, qidx); in nicvf_rbdr_config()
668 qidx, (u64)(rbdr->dmem.phys_base)); in nicvf_rbdr_config()
680 qidx, *(u64 *)&rbdr_cfg); in nicvf_rbdr_config()
684 qidx, qs->rbdr_len - 1); in nicvf_rbdr_config()
688 qidx, rbdr->thresh - 1); in nicvf_rbdr_config()
726 int qidx; in nicvf_free_resources() local
730 for (qidx = 0; qidx < qs->rbdr_cnt; qidx++) in nicvf_free_resources()
731 nicvf_free_rbdr(nic, &qs->rbdr[qidx]); in nicvf_free_resources()
734 for (qidx = 0; qidx < qs->cq_cnt; qidx++) in nicvf_free_resources()
735 nicvf_free_cmp_queue(nic, &qs->cq[qidx]); in nicvf_free_resources()
738 for (qidx = 0; qidx < qs->sq_cnt; qidx++) in nicvf_free_resources()
739 nicvf_free_snd_queue(nic, &qs->sq[qidx]); in nicvf_free_resources()
744 int qidx; in nicvf_alloc_resources() local
748 for (qidx = 0; qidx < qs->rbdr_cnt; qidx++) { in nicvf_alloc_resources()
749 if (nicvf_init_rbdr(nic, &qs->rbdr[qidx], qs->rbdr_len, in nicvf_alloc_resources()
755 for (qidx = 0; qidx < qs->sq_cnt; qidx++) { in nicvf_alloc_resources()
756 if (nicvf_init_snd_queue(nic, &qs->sq[qidx], qs->sq_len)) in nicvf_alloc_resources()
761 for (qidx = 0; qidx < qs->cq_cnt; qidx++) { in nicvf_alloc_resources()
762 if (nicvf_init_cmp_queue(nic, &qs->cq[qidx], qs->cq_len)) in nicvf_alloc_resources()
802 int qidx; in nicvf_config_data_transfer() local
811 for (qidx = 0; qidx < qs->sq_cnt; qidx++) in nicvf_config_data_transfer()
812 nicvf_snd_queue_config(nic, qs, qidx, enable); in nicvf_config_data_transfer()
813 for (qidx = 0; qidx < qs->cq_cnt; qidx++) in nicvf_config_data_transfer()
814 nicvf_cmp_queue_config(nic, qs, qidx, enable); in nicvf_config_data_transfer()
815 for (qidx = 0; qidx < qs->rbdr_cnt; qidx++) in nicvf_config_data_transfer()
816 nicvf_rbdr_config(nic, qs, qidx, enable); in nicvf_config_data_transfer()
817 for (qidx = 0; qidx < qs->rq_cnt; qidx++) in nicvf_config_data_transfer()
818 nicvf_rcv_queue_config(nic, qs, qidx, enable); in nicvf_config_data_transfer()
820 for (qidx = 0; qidx < qs->rq_cnt; qidx++) in nicvf_config_data_transfer()
821 nicvf_rcv_queue_config(nic, qs, qidx, disable); in nicvf_config_data_transfer()
822 for (qidx = 0; qidx < qs->rbdr_cnt; qidx++) in nicvf_config_data_transfer()
823 nicvf_rbdr_config(nic, qs, qidx, disable); in nicvf_config_data_transfer()
824 for (qidx = 0; qidx < qs->sq_cnt; qidx++) in nicvf_config_data_transfer()
825 nicvf_snd_queue_config(nic, qs, qidx, disable); in nicvf_config_data_transfer()
826 for (qidx = 0; qidx < qs->cq_cnt; qidx++) in nicvf_config_data_transfer()
827 nicvf_cmp_queue_config(nic, qs, qidx, disable); in nicvf_config_data_transfer()
865 void nicvf_sq_enable(struct nicvf *nic, struct snd_queue *sq, int qidx) in nicvf_sq_enable() argument
869 sq_cfg = nicvf_queue_reg_read(nic, NIC_QSET_SQ_0_7_CFG, qidx); in nicvf_sq_enable()
871 nicvf_queue_reg_write(nic, NIC_QSET_SQ_0_7_CFG, qidx, sq_cfg); in nicvf_sq_enable()
873 nicvf_queue_reg_write(nic, NIC_QSET_SQ_0_7_DOOR, qidx, 0); in nicvf_sq_enable()
876 void nicvf_sq_disable(struct nicvf *nic, int qidx) in nicvf_sq_disable() argument
880 sq_cfg = nicvf_queue_reg_read(nic, NIC_QSET_SQ_0_7_CFG, qidx); in nicvf_sq_disable()
882 nicvf_queue_reg_write(nic, NIC_QSET_SQ_0_7_CFG, qidx, sq_cfg); in nicvf_sq_disable()
886 int qidx) in nicvf_sq_free_used_descs() argument
893 head = nicvf_queue_reg_read(nic, NIC_QSET_SQ_0_7_HEAD, qidx) >> 4; in nicvf_sq_free_used_descs()
894 tail = nicvf_queue_reg_read(nic, NIC_QSET_SQ_0_7_TAIL, qidx) >> 4; in nicvf_sq_free_used_descs()