Lines Matching refs:bfa

23 bfa_hwcb_reginit(struct bfa_s *bfa)
25 struct bfa_iocfc_regs_s *bfa_regs = &bfa->iocfc.bfa_regs;
26 void __iomem *kva = bfa_ioc_bar0(&bfa->ioc);
27 int fn = bfa_ioc_pcifn(&bfa->ioc);
39 bfa_hwcb_reqq_ack_msix(struct bfa_s *bfa, int reqq)
41 writel(__HFN_INT_CPE_Q0 << CPE_Q_NUM(bfa_ioc_pcifn(&bfa->ioc), reqq),
42 bfa->iocfc.bfa_regs.intr_status);
53 bfa_hwcb_rspq_ack_msix(struct bfa_s *bfa, int rspq, u32 ci)
55 writel(__HFN_INT_RME_Q0 << RME_Q_NUM(bfa_ioc_pcifn(&bfa->ioc), rspq),
56 bfa->iocfc.bfa_regs.intr_status);
58 if (bfa_rspq_ci(bfa, rspq) == ci)
61 bfa_rspq_ci(bfa, rspq) = ci;
62 writel(ci, bfa->iocfc.bfa_regs.rme_q_ci[rspq]);
67 bfa_hwcb_rspq_ack(struct bfa_s *bfa, int rspq, u32 ci)
69 if (bfa_rspq_ci(bfa, rspq) == ci)
72 bfa_rspq_ci(bfa, rspq) = ci;
73 writel(ci, bfa->iocfc.bfa_regs.rme_q_ci[rspq]);
78 bfa_hwcb_msix_getvecs(struct bfa_s *bfa, u32 *msix_vecs_bmap,
82 if (bfa_ioc_pcifn(&bfa->ioc) == 0) {
107 bfa_hwcb_msix_dummy(struct bfa_s *bfa, int vec)
115 bfa_hwcb_msix_init(struct bfa_s *bfa, int nvecs)
119 bfa->msix.nvecs = nvecs;
120 bfa_hwcb_msix_uninstall(bfa);
124 bfa_hwcb_msix_ctrl_install(struct bfa_s *bfa)
128 if (bfa->msix.nvecs == 0)
131 if (bfa->msix.nvecs == 1) {
133 bfa->msix.handler[i] = bfa_msix_all;
138 bfa->msix.handler[i] = bfa_msix_lpu_err;
142 bfa_hwcb_msix_queue_install(struct bfa_s *bfa)
146 if (bfa->msix.nvecs == 0)
149 if (bfa->msix.nvecs == 1) {
151 bfa->msix.handler[i] = bfa_msix_all;
156 bfa->msix.handler[i] = bfa_msix_reqq;
159 bfa->msix.handler[i] = bfa_msix_rspq;
163 bfa_hwcb_msix_uninstall(struct bfa_s *bfa)
168 bfa->msix.handler[i] = bfa_hwcb_msix_dummy;
175 bfa_hwcb_isr_mode_set(struct bfa_s *bfa, bfa_boolean_t msix)
178 bfa->iocfc.hwif.hw_reqq_ack = bfa_hwcb_reqq_ack_msix;
179 bfa->iocfc.hwif.hw_rspq_ack = bfa_hwcb_rspq_ack_msix;
181 bfa->iocfc.hwif.hw_reqq_ack = NULL;
182 bfa->iocfc.hwif.hw_rspq_ack = bfa_hwcb_rspq_ack;
187 bfa_hwcb_msix_get_rme_range(struct bfa_s *bfa, u32 *start, u32 *end)