Loading drivers/platform/msm/ipa/ipa_v3/dump/ipa4.5/gsi_hwio_def.h +10 −0 Original line number Diff line number Diff line Loading @@ -83,6 +83,16 @@ union gsi_hwio_def_gsi_debug_countern_u { struct gsi_hwio_def_gsi_debug_countern_s def; u32 value; }; struct gsi_hwio_def_gsi_debug_qsb_log_last_misc_idn_s { u32 addr_20_0 : 21; u32 write : 1; u32 tid : 5; u32 mid : 5; }; union gsi_hwio_def_gsi_debug_qsb_log_last_misc_idn_u { struct gsi_hwio_def_gsi_debug_qsb_log_last_misc_idn_s def; u32 value; }; struct gsi_hwio_def_gsi_debug_sw_rf_n_read_s { u32 rf_reg : 32; }; Loading drivers/platform/msm/ipa/ipa_v3/dump/ipa4.5/ipa_hw_common_ex.h +2 −2 Original line number Diff line number Diff line Loading @@ -112,8 +112,8 @@ #define IPA_HW_DMA_SRC_RSRP_GRP IPA_HW_RSRP_GRP_2 #define IPA_HW_DMA_DEST_RSRP_GRP IPA_HW_RSRP_GRP_2 #define IPA_HW_SRC_RSRP_TYPE_MAX HWIO_IPA_SRC_RSRC_GRP_01_RSRC_TYPE_n_MAXn #define IPA_HW_DST_RSRP_TYPE_MAX HWIO_IPA_DST_RSRC_GRP_01_RSRC_TYPE_n_MAXn #define IPA_HW_SRC_RSRP_TYPE_MAX 0x05 #define IPA_HW_DST_RSRP_TYPE_MAX 0x02 #define GSI_HW_QSB_LOG_MISC_MAX 0x4 Loading drivers/platform/msm/ipa/ipa_v3/dump/ipa4.5/ipa_hwio.h +82 −0 Original line number Diff line number Diff line Loading @@ -5082,6 +5082,32 @@ IPA_CFG_REG_BASE_PHYS + 0x00000408 + 0x20 * (n)) #define HWIO_IPA_SRC_RSRC_GRP_45_RSRC_TYPE_n_OFFS(n) ( \ IPA_CFG_REG_BASE_OFFS + 0x00000408 + 0x20 * (n)) #define HWIO_IPA_SRC_RSRC_GRP_45_RSRC_TYPE_n_RMSK 0x3f3f #define HWIO_IPA_SRC_RSRC_GRP_45_RSRC_TYPE_n_MAXn 4 #define HWIO_IPA_SRC_RSRC_GRP_45_RSRC_TYPE_n_ATTR 0x3 #define HWIO_IPA_SRC_RSRC_GRP_45_RSRC_TYPE_n_INI(n) in_dword_masked( \ HWIO_IPA_SRC_RSRC_GRP_45_RSRC_TYPE_n_ADDR(n), \ HWIO_IPA_SRC_RSRC_GRP_45_RSRC_TYPE_n_RMSK) #define HWIO_IPA_SRC_RSRC_GRP_45_RSRC_TYPE_n_INMI(n, mask) in_dword_masked( \ HWIO_IPA_SRC_RSRC_GRP_45_RSRC_TYPE_n_ADDR(n), \ mask) #define HWIO_IPA_SRC_RSRC_GRP_45_RSRC_TYPE_n_OUTI(n, val) out_dword( \ HWIO_IPA_SRC_RSRC_GRP_45_RSRC_TYPE_n_ADDR(n), \ val) #define HWIO_IPA_SRC_RSRC_GRP_45_RSRC_TYPE_n_OUTMI(n, mask, \ val) \ out_dword_masked_ns(HWIO_IPA_SRC_RSRC_GRP_45_RSRC_TYPE_n_ADDR( \ n), \ mask, val, \ HWIO_IPA_SRC_RSRC_GRP_45_RSRC_TYPE_n_INI(n)) #define HWIO_IPA_SRC_RSRC_GRP_45_RSRC_TYPE_n_SRC_RSRC_GRP_4_MAX_LIMIT_BMSK \ 0x3f00 #define HWIO_IPA_SRC_RSRC_GRP_45_RSRC_TYPE_n_SRC_RSRC_GRP_4_MAX_LIMIT_SHFT \ 0x8 #define HWIO_IPA_SRC_RSRC_GRP_45_RSRC_TYPE_n_SRC_RSRC_GRP_4_MIN_LIMIT_BMSK \ 0x3f #define HWIO_IPA_SRC_RSRC_GRP_45_RSRC_TYPE_n_SRC_RSRC_GRP_4_MIN_LIMIT_SHFT \ 0x0 #define HWIO_IPA_SRC_RSRC_GRP_0123_RSRC_TYPE_CNT_n_ADDR(n) ( \ IPA_CFG_REG_BASE + 0x00000410 + 0x20 * (n)) #define HWIO_IPA_SRC_RSRC_GRP_0123_RSRC_TYPE_CNT_n_PHYS(n) ( \ Loading Loading @@ -5121,6 +5147,21 @@ IPA_CFG_REG_BASE_PHYS + 0x00000414 + 0x20 * (n)) #define HWIO_IPA_SRC_RSRC_GRP_4567_RSRC_TYPE_CNT_n_OFFS(n) ( \ IPA_CFG_REG_BASE_OFFS + 0x00000414 + 0x20 * (n)) #define HWIO_IPA_SRC_RSRC_GRP_4567_RSRC_TYPE_CNT_n_RMSK 0x3f #define HWIO_IPA_SRC_RSRC_GRP_4567_RSRC_TYPE_CNT_n_MAXn 4 #define HWIO_IPA_SRC_RSRC_GRP_4567_RSRC_TYPE_CNT_n_ATTR 0x1 #define HWIO_IPA_SRC_RSRC_GRP_4567_RSRC_TYPE_CNT_n_INI(n) in_dword_masked( \ HWIO_IPA_SRC_RSRC_GRP_4567_RSRC_TYPE_CNT_n_ADDR(n), \ HWIO_IPA_SRC_RSRC_GRP_4567_RSRC_TYPE_CNT_n_RMSK) #define HWIO_IPA_SRC_RSRC_GRP_4567_RSRC_TYPE_CNT_n_INMI(n, \ mask) \ in_dword_masked( \ HWIO_IPA_SRC_RSRC_GRP_4567_RSRC_TYPE_CNT_n_ADDR(n), \ mask) #define HWIO_IPA_SRC_RSRC_GRP_4567_RSRC_TYPE_CNT_n_SRC_RSRC_GRP_4_CNT_BMSK \ 0x3f #define HWIO_IPA_SRC_RSRC_GRP_4567_RSRC_TYPE_CNT_n_SRC_RSRC_GRP_4_CNT_SHFT \ 0x0 #define HWIO_IPA_SRC_RSRC_TYPE_AMOUNT_n_ADDR(n) (IPA_CFG_REG_BASE + \ 0x00000418 + 0x20 * (n)) #define HWIO_IPA_SRC_RSRC_TYPE_AMOUNT_n_PHYS(n) (IPA_CFG_REG_BASE_PHYS + \ Loading Loading @@ -5216,6 +5257,32 @@ IPA_CFG_REG_BASE_PHYS + 0x00000508 + 0x20 * (n)) #define HWIO_IPA_DST_RSRC_GRP_45_RSRC_TYPE_n_OFFS(n) ( \ IPA_CFG_REG_BASE_OFFS + 0x00000508 + 0x20 * (n)) #define HWIO_IPA_DST_RSRC_GRP_45_RSRC_TYPE_n_RMSK 0x3f3f #define HWIO_IPA_DST_RSRC_GRP_45_RSRC_TYPE_n_MAXn 1 #define HWIO_IPA_DST_RSRC_GRP_45_RSRC_TYPE_n_ATTR 0x3 #define HWIO_IPA_DST_RSRC_GRP_45_RSRC_TYPE_n_INI(n) in_dword_masked( \ HWIO_IPA_DST_RSRC_GRP_45_RSRC_TYPE_n_ADDR(n), \ HWIO_IPA_DST_RSRC_GRP_45_RSRC_TYPE_n_RMSK) #define HWIO_IPA_DST_RSRC_GRP_45_RSRC_TYPE_n_INMI(n, mask) in_dword_masked( \ HWIO_IPA_DST_RSRC_GRP_45_RSRC_TYPE_n_ADDR(n), \ mask) #define HWIO_IPA_DST_RSRC_GRP_45_RSRC_TYPE_n_OUTI(n, val) out_dword( \ HWIO_IPA_DST_RSRC_GRP_45_RSRC_TYPE_n_ADDR(n), \ val) #define HWIO_IPA_DST_RSRC_GRP_45_RSRC_TYPE_n_OUTMI(n, mask, \ val) \ out_dword_masked_ns(HWIO_IPA_DST_RSRC_GRP_45_RSRC_TYPE_n_ADDR( \ n), \ mask, val, \ HWIO_IPA_DST_RSRC_GRP_45_RSRC_TYPE_n_INI(n)) #define HWIO_IPA_DST_RSRC_GRP_45_RSRC_TYPE_n_DST_RSRC_GRP_4_MAX_LIMIT_BMSK \ 0x3f00 #define HWIO_IPA_DST_RSRC_GRP_45_RSRC_TYPE_n_DST_RSRC_GRP_4_MAX_LIMIT_SHFT \ 0x8 #define HWIO_IPA_DST_RSRC_GRP_45_RSRC_TYPE_n_DST_RSRC_GRP_4_MIN_LIMIT_BMSK \ 0x3f #define HWIO_IPA_DST_RSRC_GRP_45_RSRC_TYPE_n_DST_RSRC_GRP_4_MIN_LIMIT_SHFT \ 0x0 #define HWIO_IPA_DST_RSRC_GRP_0123_RSRC_TYPE_CNT_n_ADDR(n) ( \ IPA_CFG_REG_BASE + 0x00000510 + 0x20 * (n)) #define HWIO_IPA_DST_RSRC_GRP_0123_RSRC_TYPE_CNT_n_PHYS(n) ( \ Loading Loading @@ -5255,6 +5322,21 @@ IPA_CFG_REG_BASE_PHYS + 0x00000514 + 0x20 * (n)) #define HWIO_IPA_DST_RSRC_GRP_4567_RSRC_TYPE_CNT_n_OFFS(n) ( \ IPA_CFG_REG_BASE_OFFS + 0x00000514 + 0x20 * (n)) #define HWIO_IPA_DST_RSRC_GRP_4567_RSRC_TYPE_CNT_n_RMSK 0xff #define HWIO_IPA_DST_RSRC_GRP_4567_RSRC_TYPE_CNT_n_MAXn 1 #define HWIO_IPA_DST_RSRC_GRP_4567_RSRC_TYPE_CNT_n_ATTR 0x1 #define HWIO_IPA_DST_RSRC_GRP_4567_RSRC_TYPE_CNT_n_INI(n) in_dword_masked( \ HWIO_IPA_DST_RSRC_GRP_4567_RSRC_TYPE_CNT_n_ADDR(n), \ HWIO_IPA_DST_RSRC_GRP_4567_RSRC_TYPE_CNT_n_RMSK) #define HWIO_IPA_DST_RSRC_GRP_4567_RSRC_TYPE_CNT_n_INMI(n, \ mask) \ in_dword_masked( \ HWIO_IPA_DST_RSRC_GRP_4567_RSRC_TYPE_CNT_n_ADDR(n), \ mask) #define HWIO_IPA_DST_RSRC_GRP_4567_RSRC_TYPE_CNT_n_DST_RSRC_GRP_4_CNT_BMSK \ 0xff #define HWIO_IPA_DST_RSRC_GRP_4567_RSRC_TYPE_CNT_n_DST_RSRC_GRP_4_CNT_SHFT \ 0x0 #define HWIO_IPA_DST_RSRC_TYPE_AMOUNT_n_ADDR(n) (IPA_CFG_REG_BASE + \ 0x00000518 + 0x20 * (n)) #define HWIO_IPA_DST_RSRC_TYPE_AMOUNT_n_PHYS(n) (IPA_CFG_REG_BASE_PHYS + \ Loading drivers/platform/msm/ipa/ipa_v3/dump/ipa4.5/ipa_hwio_def.h +38 −0 Original line number Diff line number Diff line Loading @@ -1312,6 +1312,16 @@ union ipa_hwio_def_ipa_src_rsrc_grp_23_rsrc_type_n_u { struct ipa_hwio_def_ipa_src_rsrc_grp_23_rsrc_type_n_s def; u32 value; }; struct ipa_hwio_def_ipa_src_rsrc_grp_45_rsrc_type_n_s { u32 src_rsrc_grp_4_min_limit : 6; u32 reserved0 : 2; u32 src_rsrc_grp_4_max_limit : 6; u32 reserved1 : 18; }; union ipa_hwio_def_ipa_src_rsrc_grp_45_rsrc_type_n_u { struct ipa_hwio_def_ipa_src_rsrc_grp_45_rsrc_type_n_s def; u32 value; }; struct ipa_hwio_def_ipa_src_rsrc_grp_0123_rsrc_type_cnt_n_s { u32 src_rsrc_grp_0_cnt : 6; u32 reserved0 : 2; Loading @@ -1327,6 +1337,15 @@ union ipa_hwio_def_ipa_src_rsrc_grp_0123_rsrc_type_cnt_n_u { def; u32 value; }; struct ipa_hwio_def_ipa_src_rsrc_grp_4567_rsrc_type_cnt_n_s { u32 src_rsrc_grp_4_cnt : 6; u32 reserved0 : 26; }; union ipa_hwio_def_ipa_src_rsrc_grp_4567_rsrc_type_cnt_n_u { struct ipa_hwio_def_ipa_src_rsrc_grp_4567_rsrc_type_cnt_n_s def; u32 value; }; struct ipa_hwio_def_ipa_dst_rsrc_grp_01_rsrc_type_n_s { u32 dst_rsrc_grp_0_min_limit : 6; u32 reserved0 : 2; Loading Loading @@ -1355,6 +1374,16 @@ union ipa_hwio_def_ipa_dst_rsrc_grp_23_rsrc_type_n_u { struct ipa_hwio_def_ipa_dst_rsrc_grp_23_rsrc_type_n_s def; u32 value; }; struct ipa_hwio_def_ipa_dst_rsrc_grp_45_rsrc_type_n_s { u32 dst_rsrc_grp_4_min_limit : 6; u32 reserved0 : 2; u32 dst_rsrc_grp_4_max_limit : 6; u32 reserved1 : 18; }; union ipa_hwio_def_ipa_dst_rsrc_grp_45_rsrc_type_n_u { struct ipa_hwio_def_ipa_dst_rsrc_grp_45_rsrc_type_n_s def; u32 value; }; struct ipa_hwio_def_ipa_dst_rsrc_grp_0123_rsrc_type_cnt_n_s { u32 dst_rsrc_grp_0_cnt : 6; u32 reserved0 : 2; Loading @@ -1370,6 +1399,15 @@ union ipa_hwio_def_ipa_dst_rsrc_grp_0123_rsrc_type_cnt_n_u { def; u32 value; }; struct ipa_hwio_def_ipa_dst_rsrc_grp_4567_rsrc_type_cnt_n_s { u32 dst_rsrc_grp_4_cnt : 8; u32 reserved0 : 24; }; union ipa_hwio_def_ipa_dst_rsrc_grp_4567_rsrc_type_cnt_n_u { struct ipa_hwio_def_ipa_dst_rsrc_grp_4567_rsrc_type_cnt_n_s def; u32 value; }; struct ipa_hwio_def_ipa_rsrc_grp_cfg_s { u32 src_grp_special_valid : 1; u32 reserved0 : 3; Loading drivers/platform/msm/ipa/ipa_v3/dump/ipa_reg_dump.c +22 −2 Original line number Diff line number Diff line Loading @@ -352,22 +352,32 @@ static struct map_src_dst_addr_s ipa_regs_to_save_array[] = { ipa_src_rsrc_grp_01_rsrc_type_n), IPA_REG_SAVE_CFG_ENTRY_SRC_RSRC_GRP(IPA_SRC_RSRC_GRP_23_RSRC_TYPE_n, ipa_src_rsrc_grp_23_rsrc_type_n), IPA_REG_SAVE_CFG_ENTRY_SRC_RSRC_GRP(IPA_SRC_RSRC_GRP_45_RSRC_TYPE_n, ipa_src_rsrc_grp_45_rsrc_type_n), /* Destination Resource Group Config Registers */ IPA_REG_SAVE_CFG_ENTRY_DST_RSRC_GRP(IPA_DST_RSRC_GRP_01_RSRC_TYPE_n, ipa_dst_rsrc_grp_01_rsrc_type_n), IPA_REG_SAVE_CFG_ENTRY_DST_RSRC_GRP(IPA_DST_RSRC_GRP_23_RSRC_TYPE_n, ipa_dst_rsrc_grp_23_rsrc_type_n), IPA_REG_SAVE_CFG_ENTRY_DST_RSRC_GRP(IPA_DST_RSRC_GRP_45_RSRC_TYPE_n, ipa_dst_rsrc_grp_45_rsrc_type_n), /* Source Resource Group Count Registers */ IPA_REG_SAVE_CFG_ENTRY_SRC_RSRC_CNT_GRP( IPA_SRC_RSRC_GRP_0123_RSRC_TYPE_CNT_n, ipa_src_rsrc_grp_0123_rsrc_type_cnt_n), IPA_REG_SAVE_CFG_ENTRY_SRC_RSRC_CNT_GRP( IPA_SRC_RSRC_GRP_4567_RSRC_TYPE_CNT_n, ipa_src_rsrc_grp_4567_rsrc_type_cnt_n), /* Destination Resource Group Count Registers */ IPA_REG_SAVE_CFG_ENTRY_DST_RSRC_CNT_GRP( IPA_DST_RSRC_GRP_0123_RSRC_TYPE_CNT_n, ipa_dst_rsrc_grp_0123_rsrc_type_cnt_n), IPA_REG_SAVE_CFG_ENTRY_DST_RSRC_CNT_GRP( IPA_DST_RSRC_GRP_4567_RSRC_TYPE_CNT_n, ipa_dst_rsrc_grp_4567_rsrc_type_cnt_n), /* * ===================================================================== Loading Loading @@ -412,6 +422,9 @@ static struct map_src_dst_addr_s ipa_regs_to_save_array[] = { gsi.debug, ipa_gsi_top_gsi_debug_qsb_log_err_trns_id), IPA_REG_SAVE_CFG_ENTRY_GSI_QSB_DEBUG( GSI_DEBUG_QSB_LOG_LAST_MISC_IDn, qsb_log_last_misc), /* GSI IRAM pointers Registers */ GEN_SRC_DST_ADDR_MAP(IPA_GSI_TOP_GSI_IRAM_PTR_CH_CMD, gsi.debug.gsi_iram_ptrs, Loading Loading @@ -831,10 +844,13 @@ void ipa_save_registers(void) ipa_hal_save_regs_save_ipa_testbus(); } /* GSI test bus and QSB log */ /* GSI test bus */ for (i = 0; i < ARRAY_SIZE(ipa_reg_save_gsi_ch_test_bus_selector_array); i++) { ipa_reg_save.gsi.debug.gsi_test_bus.test_bus_selector[i] = ipa_reg_save_gsi_ch_test_bus_selector_array[i]; /* Write test bus selector */ IPA_WRITE_SCALER_REG( GSI_TEST_BUS_SEL, Loading Loading @@ -1346,6 +1362,8 @@ static void ipa_hal_save_regs_save_ipa_testbus(void) sel_internal <= IPA_TESTBUS_SEL_INTERNAL_MAX; sel_internal++) { testbus_sel.value = 0; testbus_sel.def.pipe_select = 0; testbus_sel.def.external_block_select = sel_external; Loading Loading @@ -1381,6 +1399,8 @@ static void ipa_hal_save_regs_save_ipa_testbus(void) IPA_TESTBUS_SEL_INTERNAL_PIPE_MAX; sel_internal++) { testbus_sel.value = 0; testbus_sel.def.pipe_select = sel_ep; testbus_sel.def.external_block_select = sel_external; Loading Loading @@ -1445,7 +1465,7 @@ int ipa_reg_save_init(u32 value) ipa3_ctx->ipa_wrapper_base); ipa3_ctx->reg_collection_base = ioremap(ipa3_ctx->ipa_wrapper_base, ioremap_nocache(ipa3_ctx->ipa_wrapper_base, ipa3_ctx->entire_ipa_block_size); if (!ipa3_ctx->reg_collection_base) { Loading Loading
drivers/platform/msm/ipa/ipa_v3/dump/ipa4.5/gsi_hwio_def.h +10 −0 Original line number Diff line number Diff line Loading @@ -83,6 +83,16 @@ union gsi_hwio_def_gsi_debug_countern_u { struct gsi_hwio_def_gsi_debug_countern_s def; u32 value; }; struct gsi_hwio_def_gsi_debug_qsb_log_last_misc_idn_s { u32 addr_20_0 : 21; u32 write : 1; u32 tid : 5; u32 mid : 5; }; union gsi_hwio_def_gsi_debug_qsb_log_last_misc_idn_u { struct gsi_hwio_def_gsi_debug_qsb_log_last_misc_idn_s def; u32 value; }; struct gsi_hwio_def_gsi_debug_sw_rf_n_read_s { u32 rf_reg : 32; }; Loading
drivers/platform/msm/ipa/ipa_v3/dump/ipa4.5/ipa_hw_common_ex.h +2 −2 Original line number Diff line number Diff line Loading @@ -112,8 +112,8 @@ #define IPA_HW_DMA_SRC_RSRP_GRP IPA_HW_RSRP_GRP_2 #define IPA_HW_DMA_DEST_RSRP_GRP IPA_HW_RSRP_GRP_2 #define IPA_HW_SRC_RSRP_TYPE_MAX HWIO_IPA_SRC_RSRC_GRP_01_RSRC_TYPE_n_MAXn #define IPA_HW_DST_RSRP_TYPE_MAX HWIO_IPA_DST_RSRC_GRP_01_RSRC_TYPE_n_MAXn #define IPA_HW_SRC_RSRP_TYPE_MAX 0x05 #define IPA_HW_DST_RSRP_TYPE_MAX 0x02 #define GSI_HW_QSB_LOG_MISC_MAX 0x4 Loading
drivers/platform/msm/ipa/ipa_v3/dump/ipa4.5/ipa_hwio.h +82 −0 Original line number Diff line number Diff line Loading @@ -5082,6 +5082,32 @@ IPA_CFG_REG_BASE_PHYS + 0x00000408 + 0x20 * (n)) #define HWIO_IPA_SRC_RSRC_GRP_45_RSRC_TYPE_n_OFFS(n) ( \ IPA_CFG_REG_BASE_OFFS + 0x00000408 + 0x20 * (n)) #define HWIO_IPA_SRC_RSRC_GRP_45_RSRC_TYPE_n_RMSK 0x3f3f #define HWIO_IPA_SRC_RSRC_GRP_45_RSRC_TYPE_n_MAXn 4 #define HWIO_IPA_SRC_RSRC_GRP_45_RSRC_TYPE_n_ATTR 0x3 #define HWIO_IPA_SRC_RSRC_GRP_45_RSRC_TYPE_n_INI(n) in_dword_masked( \ HWIO_IPA_SRC_RSRC_GRP_45_RSRC_TYPE_n_ADDR(n), \ HWIO_IPA_SRC_RSRC_GRP_45_RSRC_TYPE_n_RMSK) #define HWIO_IPA_SRC_RSRC_GRP_45_RSRC_TYPE_n_INMI(n, mask) in_dword_masked( \ HWIO_IPA_SRC_RSRC_GRP_45_RSRC_TYPE_n_ADDR(n), \ mask) #define HWIO_IPA_SRC_RSRC_GRP_45_RSRC_TYPE_n_OUTI(n, val) out_dword( \ HWIO_IPA_SRC_RSRC_GRP_45_RSRC_TYPE_n_ADDR(n), \ val) #define HWIO_IPA_SRC_RSRC_GRP_45_RSRC_TYPE_n_OUTMI(n, mask, \ val) \ out_dword_masked_ns(HWIO_IPA_SRC_RSRC_GRP_45_RSRC_TYPE_n_ADDR( \ n), \ mask, val, \ HWIO_IPA_SRC_RSRC_GRP_45_RSRC_TYPE_n_INI(n)) #define HWIO_IPA_SRC_RSRC_GRP_45_RSRC_TYPE_n_SRC_RSRC_GRP_4_MAX_LIMIT_BMSK \ 0x3f00 #define HWIO_IPA_SRC_RSRC_GRP_45_RSRC_TYPE_n_SRC_RSRC_GRP_4_MAX_LIMIT_SHFT \ 0x8 #define HWIO_IPA_SRC_RSRC_GRP_45_RSRC_TYPE_n_SRC_RSRC_GRP_4_MIN_LIMIT_BMSK \ 0x3f #define HWIO_IPA_SRC_RSRC_GRP_45_RSRC_TYPE_n_SRC_RSRC_GRP_4_MIN_LIMIT_SHFT \ 0x0 #define HWIO_IPA_SRC_RSRC_GRP_0123_RSRC_TYPE_CNT_n_ADDR(n) ( \ IPA_CFG_REG_BASE + 0x00000410 + 0x20 * (n)) #define HWIO_IPA_SRC_RSRC_GRP_0123_RSRC_TYPE_CNT_n_PHYS(n) ( \ Loading Loading @@ -5121,6 +5147,21 @@ IPA_CFG_REG_BASE_PHYS + 0x00000414 + 0x20 * (n)) #define HWIO_IPA_SRC_RSRC_GRP_4567_RSRC_TYPE_CNT_n_OFFS(n) ( \ IPA_CFG_REG_BASE_OFFS + 0x00000414 + 0x20 * (n)) #define HWIO_IPA_SRC_RSRC_GRP_4567_RSRC_TYPE_CNT_n_RMSK 0x3f #define HWIO_IPA_SRC_RSRC_GRP_4567_RSRC_TYPE_CNT_n_MAXn 4 #define HWIO_IPA_SRC_RSRC_GRP_4567_RSRC_TYPE_CNT_n_ATTR 0x1 #define HWIO_IPA_SRC_RSRC_GRP_4567_RSRC_TYPE_CNT_n_INI(n) in_dword_masked( \ HWIO_IPA_SRC_RSRC_GRP_4567_RSRC_TYPE_CNT_n_ADDR(n), \ HWIO_IPA_SRC_RSRC_GRP_4567_RSRC_TYPE_CNT_n_RMSK) #define HWIO_IPA_SRC_RSRC_GRP_4567_RSRC_TYPE_CNT_n_INMI(n, \ mask) \ in_dword_masked( \ HWIO_IPA_SRC_RSRC_GRP_4567_RSRC_TYPE_CNT_n_ADDR(n), \ mask) #define HWIO_IPA_SRC_RSRC_GRP_4567_RSRC_TYPE_CNT_n_SRC_RSRC_GRP_4_CNT_BMSK \ 0x3f #define HWIO_IPA_SRC_RSRC_GRP_4567_RSRC_TYPE_CNT_n_SRC_RSRC_GRP_4_CNT_SHFT \ 0x0 #define HWIO_IPA_SRC_RSRC_TYPE_AMOUNT_n_ADDR(n) (IPA_CFG_REG_BASE + \ 0x00000418 + 0x20 * (n)) #define HWIO_IPA_SRC_RSRC_TYPE_AMOUNT_n_PHYS(n) (IPA_CFG_REG_BASE_PHYS + \ Loading Loading @@ -5216,6 +5257,32 @@ IPA_CFG_REG_BASE_PHYS + 0x00000508 + 0x20 * (n)) #define HWIO_IPA_DST_RSRC_GRP_45_RSRC_TYPE_n_OFFS(n) ( \ IPA_CFG_REG_BASE_OFFS + 0x00000508 + 0x20 * (n)) #define HWIO_IPA_DST_RSRC_GRP_45_RSRC_TYPE_n_RMSK 0x3f3f #define HWIO_IPA_DST_RSRC_GRP_45_RSRC_TYPE_n_MAXn 1 #define HWIO_IPA_DST_RSRC_GRP_45_RSRC_TYPE_n_ATTR 0x3 #define HWIO_IPA_DST_RSRC_GRP_45_RSRC_TYPE_n_INI(n) in_dword_masked( \ HWIO_IPA_DST_RSRC_GRP_45_RSRC_TYPE_n_ADDR(n), \ HWIO_IPA_DST_RSRC_GRP_45_RSRC_TYPE_n_RMSK) #define HWIO_IPA_DST_RSRC_GRP_45_RSRC_TYPE_n_INMI(n, mask) in_dword_masked( \ HWIO_IPA_DST_RSRC_GRP_45_RSRC_TYPE_n_ADDR(n), \ mask) #define HWIO_IPA_DST_RSRC_GRP_45_RSRC_TYPE_n_OUTI(n, val) out_dword( \ HWIO_IPA_DST_RSRC_GRP_45_RSRC_TYPE_n_ADDR(n), \ val) #define HWIO_IPA_DST_RSRC_GRP_45_RSRC_TYPE_n_OUTMI(n, mask, \ val) \ out_dword_masked_ns(HWIO_IPA_DST_RSRC_GRP_45_RSRC_TYPE_n_ADDR( \ n), \ mask, val, \ HWIO_IPA_DST_RSRC_GRP_45_RSRC_TYPE_n_INI(n)) #define HWIO_IPA_DST_RSRC_GRP_45_RSRC_TYPE_n_DST_RSRC_GRP_4_MAX_LIMIT_BMSK \ 0x3f00 #define HWIO_IPA_DST_RSRC_GRP_45_RSRC_TYPE_n_DST_RSRC_GRP_4_MAX_LIMIT_SHFT \ 0x8 #define HWIO_IPA_DST_RSRC_GRP_45_RSRC_TYPE_n_DST_RSRC_GRP_4_MIN_LIMIT_BMSK \ 0x3f #define HWIO_IPA_DST_RSRC_GRP_45_RSRC_TYPE_n_DST_RSRC_GRP_4_MIN_LIMIT_SHFT \ 0x0 #define HWIO_IPA_DST_RSRC_GRP_0123_RSRC_TYPE_CNT_n_ADDR(n) ( \ IPA_CFG_REG_BASE + 0x00000510 + 0x20 * (n)) #define HWIO_IPA_DST_RSRC_GRP_0123_RSRC_TYPE_CNT_n_PHYS(n) ( \ Loading Loading @@ -5255,6 +5322,21 @@ IPA_CFG_REG_BASE_PHYS + 0x00000514 + 0x20 * (n)) #define HWIO_IPA_DST_RSRC_GRP_4567_RSRC_TYPE_CNT_n_OFFS(n) ( \ IPA_CFG_REG_BASE_OFFS + 0x00000514 + 0x20 * (n)) #define HWIO_IPA_DST_RSRC_GRP_4567_RSRC_TYPE_CNT_n_RMSK 0xff #define HWIO_IPA_DST_RSRC_GRP_4567_RSRC_TYPE_CNT_n_MAXn 1 #define HWIO_IPA_DST_RSRC_GRP_4567_RSRC_TYPE_CNT_n_ATTR 0x1 #define HWIO_IPA_DST_RSRC_GRP_4567_RSRC_TYPE_CNT_n_INI(n) in_dword_masked( \ HWIO_IPA_DST_RSRC_GRP_4567_RSRC_TYPE_CNT_n_ADDR(n), \ HWIO_IPA_DST_RSRC_GRP_4567_RSRC_TYPE_CNT_n_RMSK) #define HWIO_IPA_DST_RSRC_GRP_4567_RSRC_TYPE_CNT_n_INMI(n, \ mask) \ in_dword_masked( \ HWIO_IPA_DST_RSRC_GRP_4567_RSRC_TYPE_CNT_n_ADDR(n), \ mask) #define HWIO_IPA_DST_RSRC_GRP_4567_RSRC_TYPE_CNT_n_DST_RSRC_GRP_4_CNT_BMSK \ 0xff #define HWIO_IPA_DST_RSRC_GRP_4567_RSRC_TYPE_CNT_n_DST_RSRC_GRP_4_CNT_SHFT \ 0x0 #define HWIO_IPA_DST_RSRC_TYPE_AMOUNT_n_ADDR(n) (IPA_CFG_REG_BASE + \ 0x00000518 + 0x20 * (n)) #define HWIO_IPA_DST_RSRC_TYPE_AMOUNT_n_PHYS(n) (IPA_CFG_REG_BASE_PHYS + \ Loading
drivers/platform/msm/ipa/ipa_v3/dump/ipa4.5/ipa_hwio_def.h +38 −0 Original line number Diff line number Diff line Loading @@ -1312,6 +1312,16 @@ union ipa_hwio_def_ipa_src_rsrc_grp_23_rsrc_type_n_u { struct ipa_hwio_def_ipa_src_rsrc_grp_23_rsrc_type_n_s def; u32 value; }; struct ipa_hwio_def_ipa_src_rsrc_grp_45_rsrc_type_n_s { u32 src_rsrc_grp_4_min_limit : 6; u32 reserved0 : 2; u32 src_rsrc_grp_4_max_limit : 6; u32 reserved1 : 18; }; union ipa_hwio_def_ipa_src_rsrc_grp_45_rsrc_type_n_u { struct ipa_hwio_def_ipa_src_rsrc_grp_45_rsrc_type_n_s def; u32 value; }; struct ipa_hwio_def_ipa_src_rsrc_grp_0123_rsrc_type_cnt_n_s { u32 src_rsrc_grp_0_cnt : 6; u32 reserved0 : 2; Loading @@ -1327,6 +1337,15 @@ union ipa_hwio_def_ipa_src_rsrc_grp_0123_rsrc_type_cnt_n_u { def; u32 value; }; struct ipa_hwio_def_ipa_src_rsrc_grp_4567_rsrc_type_cnt_n_s { u32 src_rsrc_grp_4_cnt : 6; u32 reserved0 : 26; }; union ipa_hwio_def_ipa_src_rsrc_grp_4567_rsrc_type_cnt_n_u { struct ipa_hwio_def_ipa_src_rsrc_grp_4567_rsrc_type_cnt_n_s def; u32 value; }; struct ipa_hwio_def_ipa_dst_rsrc_grp_01_rsrc_type_n_s { u32 dst_rsrc_grp_0_min_limit : 6; u32 reserved0 : 2; Loading Loading @@ -1355,6 +1374,16 @@ union ipa_hwio_def_ipa_dst_rsrc_grp_23_rsrc_type_n_u { struct ipa_hwio_def_ipa_dst_rsrc_grp_23_rsrc_type_n_s def; u32 value; }; struct ipa_hwio_def_ipa_dst_rsrc_grp_45_rsrc_type_n_s { u32 dst_rsrc_grp_4_min_limit : 6; u32 reserved0 : 2; u32 dst_rsrc_grp_4_max_limit : 6; u32 reserved1 : 18; }; union ipa_hwio_def_ipa_dst_rsrc_grp_45_rsrc_type_n_u { struct ipa_hwio_def_ipa_dst_rsrc_grp_45_rsrc_type_n_s def; u32 value; }; struct ipa_hwio_def_ipa_dst_rsrc_grp_0123_rsrc_type_cnt_n_s { u32 dst_rsrc_grp_0_cnt : 6; u32 reserved0 : 2; Loading @@ -1370,6 +1399,15 @@ union ipa_hwio_def_ipa_dst_rsrc_grp_0123_rsrc_type_cnt_n_u { def; u32 value; }; struct ipa_hwio_def_ipa_dst_rsrc_grp_4567_rsrc_type_cnt_n_s { u32 dst_rsrc_grp_4_cnt : 8; u32 reserved0 : 24; }; union ipa_hwio_def_ipa_dst_rsrc_grp_4567_rsrc_type_cnt_n_u { struct ipa_hwio_def_ipa_dst_rsrc_grp_4567_rsrc_type_cnt_n_s def; u32 value; }; struct ipa_hwio_def_ipa_rsrc_grp_cfg_s { u32 src_grp_special_valid : 1; u32 reserved0 : 3; Loading
drivers/platform/msm/ipa/ipa_v3/dump/ipa_reg_dump.c +22 −2 Original line number Diff line number Diff line Loading @@ -352,22 +352,32 @@ static struct map_src_dst_addr_s ipa_regs_to_save_array[] = { ipa_src_rsrc_grp_01_rsrc_type_n), IPA_REG_SAVE_CFG_ENTRY_SRC_RSRC_GRP(IPA_SRC_RSRC_GRP_23_RSRC_TYPE_n, ipa_src_rsrc_grp_23_rsrc_type_n), IPA_REG_SAVE_CFG_ENTRY_SRC_RSRC_GRP(IPA_SRC_RSRC_GRP_45_RSRC_TYPE_n, ipa_src_rsrc_grp_45_rsrc_type_n), /* Destination Resource Group Config Registers */ IPA_REG_SAVE_CFG_ENTRY_DST_RSRC_GRP(IPA_DST_RSRC_GRP_01_RSRC_TYPE_n, ipa_dst_rsrc_grp_01_rsrc_type_n), IPA_REG_SAVE_CFG_ENTRY_DST_RSRC_GRP(IPA_DST_RSRC_GRP_23_RSRC_TYPE_n, ipa_dst_rsrc_grp_23_rsrc_type_n), IPA_REG_SAVE_CFG_ENTRY_DST_RSRC_GRP(IPA_DST_RSRC_GRP_45_RSRC_TYPE_n, ipa_dst_rsrc_grp_45_rsrc_type_n), /* Source Resource Group Count Registers */ IPA_REG_SAVE_CFG_ENTRY_SRC_RSRC_CNT_GRP( IPA_SRC_RSRC_GRP_0123_RSRC_TYPE_CNT_n, ipa_src_rsrc_grp_0123_rsrc_type_cnt_n), IPA_REG_SAVE_CFG_ENTRY_SRC_RSRC_CNT_GRP( IPA_SRC_RSRC_GRP_4567_RSRC_TYPE_CNT_n, ipa_src_rsrc_grp_4567_rsrc_type_cnt_n), /* Destination Resource Group Count Registers */ IPA_REG_SAVE_CFG_ENTRY_DST_RSRC_CNT_GRP( IPA_DST_RSRC_GRP_0123_RSRC_TYPE_CNT_n, ipa_dst_rsrc_grp_0123_rsrc_type_cnt_n), IPA_REG_SAVE_CFG_ENTRY_DST_RSRC_CNT_GRP( IPA_DST_RSRC_GRP_4567_RSRC_TYPE_CNT_n, ipa_dst_rsrc_grp_4567_rsrc_type_cnt_n), /* * ===================================================================== Loading Loading @@ -412,6 +422,9 @@ static struct map_src_dst_addr_s ipa_regs_to_save_array[] = { gsi.debug, ipa_gsi_top_gsi_debug_qsb_log_err_trns_id), IPA_REG_SAVE_CFG_ENTRY_GSI_QSB_DEBUG( GSI_DEBUG_QSB_LOG_LAST_MISC_IDn, qsb_log_last_misc), /* GSI IRAM pointers Registers */ GEN_SRC_DST_ADDR_MAP(IPA_GSI_TOP_GSI_IRAM_PTR_CH_CMD, gsi.debug.gsi_iram_ptrs, Loading Loading @@ -831,10 +844,13 @@ void ipa_save_registers(void) ipa_hal_save_regs_save_ipa_testbus(); } /* GSI test bus and QSB log */ /* GSI test bus */ for (i = 0; i < ARRAY_SIZE(ipa_reg_save_gsi_ch_test_bus_selector_array); i++) { ipa_reg_save.gsi.debug.gsi_test_bus.test_bus_selector[i] = ipa_reg_save_gsi_ch_test_bus_selector_array[i]; /* Write test bus selector */ IPA_WRITE_SCALER_REG( GSI_TEST_BUS_SEL, Loading Loading @@ -1346,6 +1362,8 @@ static void ipa_hal_save_regs_save_ipa_testbus(void) sel_internal <= IPA_TESTBUS_SEL_INTERNAL_MAX; sel_internal++) { testbus_sel.value = 0; testbus_sel.def.pipe_select = 0; testbus_sel.def.external_block_select = sel_external; Loading Loading @@ -1381,6 +1399,8 @@ static void ipa_hal_save_regs_save_ipa_testbus(void) IPA_TESTBUS_SEL_INTERNAL_PIPE_MAX; sel_internal++) { testbus_sel.value = 0; testbus_sel.def.pipe_select = sel_ep; testbus_sel.def.external_block_select = sel_external; Loading Loading @@ -1445,7 +1465,7 @@ int ipa_reg_save_init(u32 value) ipa3_ctx->ipa_wrapper_base); ipa3_ctx->reg_collection_base = ioremap(ipa3_ctx->ipa_wrapper_base, ioremap_nocache(ipa3_ctx->ipa_wrapper_base, ipa3_ctx->entire_ipa_block_size); if (!ipa3_ctx->reg_collection_base) { Loading