Lines Matching refs:blkaddr
35 reg = rvu_read64(rvu, blkaddr, CPT_AF_EXEX_STS(e)); \
85 int blkaddr = block->addr; in cpt_af_flt_intr_handler() local
90 reg = rvu_read64(rvu, blkaddr, CPT_AF_FLTX_INT(vec)); in cpt_af_flt_intr_handler()
106 grp = rvu_read64(rvu, blkaddr, CPT_AF_EXEX_CTL2(eng)) & 0xFF; in cpt_af_flt_intr_handler()
108 rvu_write64(rvu, blkaddr, CPT_AF_EXEX_CTL2(eng), 0x0); in cpt_af_flt_intr_handler()
109 val = rvu_read64(rvu, blkaddr, CPT_AF_EXEX_CTL(eng)); in cpt_af_flt_intr_handler()
110 rvu_write64(rvu, blkaddr, CPT_AF_EXEX_CTL(eng), val & ~1ULL); in cpt_af_flt_intr_handler()
112 rvu_write64(rvu, blkaddr, CPT_AF_EXEX_CTL2(eng), grp); in cpt_af_flt_intr_handler()
113 rvu_write64(rvu, blkaddr, CPT_AF_EXEX_CTL(eng), val | 1ULL); in cpt_af_flt_intr_handler()
117 val = rvu_read64(rvu, blkaddr, CPT_AF_EXEX_STS(eng)); in cpt_af_flt_intr_handler()
123 rvu_write64(rvu, blkaddr, CPT_AF_FLTX_INT(vec), reg); in cpt_af_flt_intr_handler()
147 int blkaddr = block->addr; in rvu_cpt_af_rvu_intr_handler() local
150 reg = rvu_read64(rvu, blkaddr, CPT_AF_RVU_INT); in rvu_cpt_af_rvu_intr_handler()
153 rvu_write64(rvu, blkaddr, CPT_AF_RVU_INT, reg); in rvu_cpt_af_rvu_intr_handler()
161 int blkaddr = block->addr; in rvu_cpt_af_ras_intr_handler() local
164 reg = rvu_read64(rvu, blkaddr, CPT_AF_RAS_INT); in rvu_cpt_af_ras_intr_handler()
167 rvu_write64(rvu, blkaddr, CPT_AF_RAS_INT, reg); in rvu_cpt_af_ras_intr_handler()
193 int blkaddr = block->addr; in cpt_10k_unregister_interrupts() local
205 rvu_write64(rvu, blkaddr, CPT_AF_FLTX_INT_ENA_W1C(i), in cpt_10k_unregister_interrupts()
209 rvu_write64(rvu, blkaddr, CPT_AF_RVU_INT_ENA_W1C, 0x1); in cpt_10k_unregister_interrupts()
210 rvu_write64(rvu, blkaddr, CPT_AF_RAS_INT_ENA_W1C, 0x1); in cpt_10k_unregister_interrupts()
220 static void cpt_unregister_interrupts(struct rvu *rvu, int blkaddr) in cpt_unregister_interrupts() argument
226 if (!is_block_implemented(rvu->hw, blkaddr)) in cpt_unregister_interrupts()
228 offs = rvu_read64(rvu, blkaddr, CPT_PRIV_AF_INT_CFG) & 0x7FF; in cpt_unregister_interrupts()
234 block = &hw->block[blkaddr]; in cpt_unregister_interrupts()
240 rvu_write64(rvu, blkaddr, CPT_AF_FLTX_INT_ENA_W1C(i), ~0ULL); in cpt_unregister_interrupts()
241 rvu_write64(rvu, blkaddr, CPT_AF_RVU_INT_ENA_W1C, 0x1); in cpt_unregister_interrupts()
242 rvu_write64(rvu, blkaddr, CPT_AF_RAS_INT_ENA_W1C, 0x1); in cpt_unregister_interrupts()
261 int blkaddr = block->addr; in cpt_10k_register_interrupts() local
291 rvu_write64(rvu, blkaddr, CPT_AF_FLTX_INT_ENA_W1S(i), in cpt_10k_register_interrupts()
303 rvu_write64(rvu, blkaddr, CPT_AF_RVU_INT_ENA_W1S, 0x1); in cpt_10k_register_interrupts()
310 rvu_write64(rvu, blkaddr, CPT_AF_RAS_INT_ENA_W1S, 0x1); in cpt_10k_register_interrupts()
318 static int cpt_register_interrupts(struct rvu *rvu, int blkaddr) in cpt_register_interrupts() argument
325 if (!is_block_implemented(rvu->hw, blkaddr)) in cpt_register_interrupts()
328 block = &hw->block[blkaddr]; in cpt_register_interrupts()
329 offs = rvu_read64(rvu, blkaddr, CPT_PRIV_AF_INT_CFG) & 0x7FF; in cpt_register_interrupts()
353 rvu_write64(rvu, blkaddr, CPT_AF_FLTX_INT_ENA_W1S(i), ~0ULL); in cpt_register_interrupts()
361 rvu_write64(rvu, blkaddr, CPT_AF_RVU_INT_ENA_W1S, 0x1); in cpt_register_interrupts()
368 rvu_write64(rvu, blkaddr, CPT_AF_RAS_INT_ENA_W1S, 0x1); in cpt_register_interrupts()
435 int blkaddr; in validate_and_get_cpt_blkaddr() local
437 blkaddr = req_blkaddr ? req_blkaddr : BLKADDR_CPT0; in validate_and_get_cpt_blkaddr()
438 if (blkaddr != BLKADDR_CPT0 && blkaddr != BLKADDR_CPT1) in validate_and_get_cpt_blkaddr()
441 return blkaddr; in validate_and_get_cpt_blkaddr()
450 int cptlf, blkaddr; in rvu_mbox_handler_cpt_lf_alloc() local
454 blkaddr = validate_and_get_cpt_blkaddr(req->blkaddr); in rvu_mbox_handler_cpt_lf_alloc()
455 if (blkaddr < 0) in rvu_mbox_handler_cpt_lf_alloc()
456 return blkaddr; in rvu_mbox_handler_cpt_lf_alloc()
461 block = &rvu->hw->block[blkaddr]; in rvu_mbox_handler_cpt_lf_alloc()
499 rvu_write64(rvu, blkaddr, CPT_AF_LFX_CTL(cptlf), val); in rvu_mbox_handler_cpt_lf_alloc()
504 val = rvu_read64(rvu, blkaddr, CPT_AF_LFX_CTL2(cptlf)); in rvu_mbox_handler_cpt_lf_alloc()
508 rvu_write64(rvu, blkaddr, CPT_AF_LFX_CTL2(cptlf), val); in rvu_mbox_handler_cpt_lf_alloc()
514 static int cpt_lf_free(struct rvu *rvu, struct msg_req *req, int blkaddr) in cpt_lf_free() argument
520 block = &rvu->hw->block[blkaddr]; in cpt_lf_free()
532 rvu_cpt_lf_teardown(rvu, pcifunc, blkaddr, cptlf, slot); in cpt_lf_free()
560 static int cpt_inline_ipsec_cfg_inbound(struct rvu *rvu, int blkaddr, u8 cptlf, in cpt_inline_ipsec_cfg_inbound() argument
567 val = rvu_read64(rvu, blkaddr, CPT_AF_LFX_CTL(cptlf)); in cpt_inline_ipsec_cfg_inbound()
579 nix_sel = (blkaddr == BLKADDR_CPT1) ? 1 : 0; in cpt_inline_ipsec_cfg_inbound()
587 rvu_write64(rvu, blkaddr, CPT_AF_LFX_CTL(cptlf), val); in cpt_inline_ipsec_cfg_inbound()
591 val = rvu_read64(rvu, blkaddr, CPT_AF_LFX_CTL2(cptlf)); in cpt_inline_ipsec_cfg_inbound()
594 rvu_write64(rvu, blkaddr, CPT_AF_LFX_CTL2(cptlf), val); in cpt_inline_ipsec_cfg_inbound()
598 rvu_write64(rvu, blkaddr, CPT_AF_ECO, 0x1); in cpt_inline_ipsec_cfg_inbound()
607 rvu_write64(rvu, blkaddr, CPT_AF_X2PX_LINK_CFG(0), val); in cpt_inline_ipsec_cfg_inbound()
608 rvu_write64(rvu, blkaddr, CPT_AF_X2PX_LINK_CFG(1), val); in cpt_inline_ipsec_cfg_inbound()
614 static int cpt_inline_ipsec_cfg_outbound(struct rvu *rvu, int blkaddr, u8 cptlf, in cpt_inline_ipsec_cfg_outbound() argument
622 val = rvu_read64(rvu, blkaddr, CPT_AF_LFX_CTL(cptlf)); in cpt_inline_ipsec_cfg_outbound()
640 rvu_write64(rvu, blkaddr, CPT_AF_LFX_CTL(cptlf), val); in cpt_inline_ipsec_cfg_outbound()
644 val = rvu_read64(rvu, blkaddr, CPT_AF_LFX_CTL2(cptlf)); in cpt_inline_ipsec_cfg_outbound()
646 rvu_write64(rvu, blkaddr, CPT_AF_LFX_CTL2(cptlf), val); in cpt_inline_ipsec_cfg_outbound()
651 val = rvu_read64(rvu, blkaddr, CPT_AF_LFX_CTL(cptlf)); in cpt_inline_ipsec_cfg_outbound()
653 rvu_write64(rvu, blkaddr, CPT_AF_LFX_CTL(cptlf), val); in cpt_inline_ipsec_cfg_outbound()
665 int cptlf, blkaddr, ret; in rvu_mbox_handler_cpt_inline_ipsec_cfg() local
668 blkaddr = rvu_get_blkaddr_from_slot(rvu, BLKTYPE_CPT, pcifunc, in rvu_mbox_handler_cpt_inline_ipsec_cfg()
670 if (blkaddr < 0) in rvu_mbox_handler_cpt_inline_ipsec_cfg()
673 block = &rvu->hw->block[blkaddr]; in rvu_mbox_handler_cpt_inline_ipsec_cfg()
681 ret = cpt_inline_ipsec_cfg_inbound(rvu, blkaddr, cptlf, req); in rvu_mbox_handler_cpt_inline_ipsec_cfg()
685 ret = cpt_inline_ipsec_cfg_outbound(rvu, blkaddr, cptlf, req); in rvu_mbox_handler_cpt_inline_ipsec_cfg()
700 int blkaddr, num_lfs, lf; in validate_and_update_reg_offset() local
704 blkaddr = validate_and_get_cpt_blkaddr(req->blkaddr); in validate_and_update_reg_offset()
705 if (blkaddr < 0) in validate_and_update_reg_offset()
715 block = &rvu->hw->block[blkaddr]; in validate_and_update_reg_offset()
723 lf = rvu_get_lf(rvu, &rvu->hw->block[blkaddr], in validate_and_update_reg_offset()
768 int blkaddr; in rvu_mbox_handler_cpt_rd_wr_register() local
770 blkaddr = validate_and_get_cpt_blkaddr(req->blkaddr); in rvu_mbox_handler_cpt_rd_wr_register()
771 if (blkaddr < 0) in rvu_mbox_handler_cpt_rd_wr_register()
772 return blkaddr; in rvu_mbox_handler_cpt_rd_wr_register()
787 rvu_write64(rvu, blkaddr, offset, req->val); in rvu_mbox_handler_cpt_rd_wr_register()
789 rsp->val = rvu_read64(rvu, blkaddr, offset); in rvu_mbox_handler_cpt_rd_wr_register()
794 static void get_ctx_pc(struct rvu *rvu, struct cpt_sts_rsp *rsp, int blkaddr) in get_ctx_pc() argument
801 rsp->ctx_mis_pc = rvu_read64(rvu, blkaddr, CPT_AF_CTX_MIS_PC); in get_ctx_pc()
802 rsp->ctx_hit_pc = rvu_read64(rvu, blkaddr, CPT_AF_CTX_HIT_PC); in get_ctx_pc()
803 rsp->ctx_aop_pc = rvu_read64(rvu, blkaddr, CPT_AF_CTX_AOP_PC); in get_ctx_pc()
804 rsp->ctx_aop_lat_pc = rvu_read64(rvu, blkaddr, in get_ctx_pc()
806 rsp->ctx_ifetch_pc = rvu_read64(rvu, blkaddr, CPT_AF_CTX_IFETCH_PC); in get_ctx_pc()
807 rsp->ctx_ifetch_lat_pc = rvu_read64(rvu, blkaddr, in get_ctx_pc()
809 rsp->ctx_ffetch_pc = rvu_read64(rvu, blkaddr, CPT_AF_CTX_FFETCH_PC); in get_ctx_pc()
810 rsp->ctx_ffetch_lat_pc = rvu_read64(rvu, blkaddr, in get_ctx_pc()
812 rsp->ctx_wback_pc = rvu_read64(rvu, blkaddr, CPT_AF_CTX_FFETCH_PC); in get_ctx_pc()
813 rsp->ctx_wback_lat_pc = rvu_read64(rvu, blkaddr, in get_ctx_pc()
815 rsp->ctx_psh_pc = rvu_read64(rvu, blkaddr, CPT_AF_CTX_FFETCH_PC); in get_ctx_pc()
816 rsp->ctx_psh_lat_pc = rvu_read64(rvu, blkaddr, in get_ctx_pc()
818 rsp->ctx_err = rvu_read64(rvu, blkaddr, CPT_AF_CTX_ERR); in get_ctx_pc()
819 rsp->ctx_enc_id = rvu_read64(rvu, blkaddr, CPT_AF_CTX_ENC_ID); in get_ctx_pc()
820 rsp->ctx_flush_timer = rvu_read64(rvu, blkaddr, CPT_AF_CTX_FLUSH_TIMER); in get_ctx_pc()
821 rsp->x2p_link_cfg0 = rvu_read64(rvu, blkaddr, CPT_AF_X2PX_LINK_CFG(0)); in get_ctx_pc()
822 rsp->x2p_link_cfg1 = rvu_read64(rvu, blkaddr, CPT_AF_X2PX_LINK_CFG(1)); in get_ctx_pc()
826 rsp->rxc_time = rvu_read64(rvu, blkaddr, CPT_AF_RXC_TIME); in get_ctx_pc()
827 rsp->rxc_time_cfg = rvu_read64(rvu, blkaddr, CPT_AF_RXC_TIME_CFG); in get_ctx_pc()
828 rsp->rxc_active_sts = rvu_read64(rvu, blkaddr, CPT_AF_RXC_ACTIVE_STS); in get_ctx_pc()
829 rsp->rxc_zombie_sts = rvu_read64(rvu, blkaddr, CPT_AF_RXC_ZOMBIE_STS); in get_ctx_pc()
830 rsp->rxc_dfrg = rvu_read64(rvu, blkaddr, CPT_AF_RXC_DFRG); in get_ctx_pc()
833 static void get_eng_sts(struct rvu *rvu, struct cpt_sts_rsp *rsp, int blkaddr) in get_eng_sts() argument
839 reg = rvu_read64(rvu, blkaddr, CPT_AF_CONSTANTS1); in get_eng_sts()
861 int blkaddr; in rvu_mbox_handler_cpt_sts() local
863 blkaddr = validate_and_get_cpt_blkaddr(req->blkaddr); in rvu_mbox_handler_cpt_sts()
864 if (blkaddr < 0) in rvu_mbox_handler_cpt_sts()
865 return blkaddr; in rvu_mbox_handler_cpt_sts()
872 get_ctx_pc(rvu, rsp, blkaddr); in rvu_mbox_handler_cpt_sts()
875 get_eng_sts(rvu, rsp, blkaddr); in rvu_mbox_handler_cpt_sts()
878 rsp->inst_req_pc = rvu_read64(rvu, blkaddr, CPT_AF_INST_REQ_PC); in rvu_mbox_handler_cpt_sts()
879 rsp->inst_lat_pc = rvu_read64(rvu, blkaddr, CPT_AF_INST_LATENCY_PC); in rvu_mbox_handler_cpt_sts()
880 rsp->rd_req_pc = rvu_read64(rvu, blkaddr, CPT_AF_RD_REQ_PC); in rvu_mbox_handler_cpt_sts()
881 rsp->rd_lat_pc = rvu_read64(rvu, blkaddr, CPT_AF_RD_LATENCY_PC); in rvu_mbox_handler_cpt_sts()
882 rsp->rd_uc_pc = rvu_read64(rvu, blkaddr, CPT_AF_RD_UC_PC); in rvu_mbox_handler_cpt_sts()
883 rsp->active_cycles_pc = rvu_read64(rvu, blkaddr, in rvu_mbox_handler_cpt_sts()
885 rsp->exe_err_info = rvu_read64(rvu, blkaddr, CPT_AF_EXE_ERR_INFO); in rvu_mbox_handler_cpt_sts()
886 rsp->cptclk_cnt = rvu_read64(rvu, blkaddr, CPT_AF_CPTCLK_CNT); in rvu_mbox_handler_cpt_sts()
887 rsp->diag = rvu_read64(rvu, blkaddr, CPT_AF_DIAG); in rvu_mbox_handler_cpt_sts()
900 int blkaddr, struct cpt_rxc_time_cfg_req *save) in cpt_rxc_time_cfg() argument
906 dfrg_reg = rvu_read64(rvu, blkaddr, CPT_AF_RXC_DFRG); in cpt_rxc_time_cfg()
912 save->step = rvu_read64(rvu, blkaddr, CPT_AF_RXC_TIME_CFG); in cpt_rxc_time_cfg()
920 rvu_write64(rvu, blkaddr, CPT_AF_RXC_TIME_CFG, req->step); in cpt_rxc_time_cfg()
921 rvu_write64(rvu, blkaddr, CPT_AF_RXC_DFRG, dfrg_reg); in cpt_rxc_time_cfg()
928 int blkaddr; in rvu_mbox_handler_cpt_rxc_time_cfg() local
930 blkaddr = validate_and_get_cpt_blkaddr(req->blkaddr); in rvu_mbox_handler_cpt_rxc_time_cfg()
931 if (blkaddr < 0) in rvu_mbox_handler_cpt_rxc_time_cfg()
932 return blkaddr; in rvu_mbox_handler_cpt_rxc_time_cfg()
939 cpt_rxc_time_cfg(rvu, req, blkaddr, NULL); in rvu_mbox_handler_cpt_rxc_time_cfg()
955 int cptlf, blkaddr, ret; in rvu_mbox_handler_cpt_lf_reset() local
959 blkaddr = rvu_get_blkaddr_from_slot(rvu, BLKTYPE_CPT, pcifunc, in rvu_mbox_handler_cpt_lf_reset()
961 if (blkaddr < 0) in rvu_mbox_handler_cpt_lf_reset()
964 block = &rvu->hw->block[blkaddr]; in rvu_mbox_handler_cpt_lf_reset()
969 ctl = rvu_read64(rvu, blkaddr, CPT_AF_LFX_CTL(cptlf)); in rvu_mbox_handler_cpt_lf_reset()
970 ctl2 = rvu_read64(rvu, blkaddr, CPT_AF_LFX_CTL2(cptlf)); in rvu_mbox_handler_cpt_lf_reset()
977 rvu_write64(rvu, blkaddr, CPT_AF_LFX_CTL(cptlf), ctl); in rvu_mbox_handler_cpt_lf_reset()
978 rvu_write64(rvu, blkaddr, CPT_AF_LFX_CTL2(cptlf), ctl2); in rvu_mbox_handler_cpt_lf_reset()
988 int blkaddr, vec; in rvu_mbox_handler_cpt_flt_eng_info() local
992 blkaddr = validate_and_get_cpt_blkaddr(req->blkaddr); in rvu_mbox_handler_cpt_flt_eng_info()
993 if (blkaddr < 0) in rvu_mbox_handler_cpt_flt_eng_info()
994 return blkaddr; in rvu_mbox_handler_cpt_flt_eng_info()
996 block = &rvu->hw->block[blkaddr]; in rvu_mbox_handler_cpt_flt_eng_info()
1012 static void cpt_rxc_teardown(struct rvu *rvu, int blkaddr) in cpt_rxc_teardown() argument
1031 cpt_rxc_time_cfg(rvu, &req, blkaddr, &prev); in cpt_rxc_teardown()
1034 reg = rvu_read64(rvu, blkaddr, CPT_AF_RXC_ACTIVE_STS); in cpt_rxc_teardown()
1047 reg = rvu_read64(rvu, blkaddr, CPT_AF_RXC_ZOMBIE_STS); in cpt_rxc_teardown()
1059 cpt_rxc_time_cfg(rvu, &prev, blkaddr, NULL); in cpt_rxc_teardown()
1069 static void cpt_lf_disable_iqueue(struct rvu *rvu, int blkaddr, int slot) in cpt_lf_disable_iqueue() argument
1077 rvu_write64(rvu, blkaddr, CPT_AF_BAR2_ALIASX(slot, CPT_LF_CTL), 0x0); in cpt_lf_disable_iqueue()
1079 inprog = rvu_read64(rvu, blkaddr, in cpt_lf_disable_iqueue()
1082 rvu_write64(rvu, blkaddr, in cpt_lf_disable_iqueue()
1085 qsize = rvu_read64(rvu, blkaddr, in cpt_lf_disable_iqueue()
1088 inst_ptr = rvu_read64(rvu, blkaddr, in cpt_lf_disable_iqueue()
1103 inprog = rvu_read64(rvu, blkaddr, in cpt_lf_disable_iqueue()
1121 int rvu_cpt_lf_teardown(struct rvu *rvu, u16 pcifunc, int blkaddr, int lf, int slot) in rvu_cpt_lf_teardown() argument
1126 cpt_rxc_teardown(rvu, blkaddr); in rvu_cpt_lf_teardown()
1131 rvu_bar2_sel_write64(rvu, blkaddr, CPT_AF_BAR2_SEL, reg); in rvu_cpt_lf_teardown()
1133 cpt_lf_disable_iqueue(rvu, blkaddr, slot); in rvu_cpt_lf_teardown()
1135 rvu_bar2_sel_write64(rvu, blkaddr, CPT_AF_BAR2_SEL, 0); in rvu_cpt_lf_teardown()
1144 static int cpt_inline_inb_lf_cmd_send(struct rvu *rvu, int blkaddr, in cpt_inline_inb_lf_cmd_send() argument
1198 cpt_idx = (blkaddr == BLKADDR_CPT0) ? 0 : 1; in cpt_inline_inb_lf_cmd_send()
1232 int nix_blkaddr, blkaddr; in rvu_cpt_ctx_flush() local
1245 blkaddr = (nix_blkaddr == BLKADDR_NIX1) ? BLKADDR_CPT1 : BLKADDR_CPT0; in rvu_cpt_ctx_flush()
1250 rc = cpt_inline_inb_lf_cmd_send(rvu, blkaddr, nix_blkaddr); in rvu_cpt_ctx_flush()
1255 cpt_rxc_teardown(rvu, blkaddr); in rvu_cpt_ctx_flush()
1257 reg = rvu_read64(rvu, blkaddr, CPT_AF_CONSTANTS0); in rvu_cpt_ctx_flush()
1263 blkaddr); in rvu_cpt_ctx_flush()
1271 rvu_bar2_sel_write64(rvu, blkaddr, CPT_AF_BAR2_SEL, reg); in rvu_cpt_ctx_flush()
1274 cam_data = rvu_read64(rvu, blkaddr, CPT_AF_CTX_CAM_DATA(i)); in rvu_cpt_ctx_flush()
1279 rvu_write64(rvu, blkaddr, in rvu_cpt_ctx_flush()
1284 rvu_bar2_sel_write64(rvu, blkaddr, CPT_AF_BAR2_SEL, 0); in rvu_cpt_ctx_flush()