/* SPDX-License-Identifier: GPL-2.0 */ /* * Copyright (c) 2019 MediaTek Inc. */ #define LOG_TAG "dump" #include "ddp_reg.h" #include "ddp_log.h" #include "ddp_dump.h" #include "ddp_ovl.h" #include "ddp_wdma.h" #include "ddp_wdma_ex.h" #include "ddp_rdma.h" #include "ddp_rdma_ex.h" #include "ddp_dsi.h" #include "disp_helper.h" static char *ddp_signal_0(int bit) { switch (bit) { case 31: return "OVL0_MOUT1-WDMA0_SEL1"; case 30: return "OVL0_MOUT0-COLOR0_SEL0"; case 17: return "DSI0_SEL-DSI0"; case 16: return "DITHER_MOUT2-WDMA0_SEL1"; case 15: return "DITHER_MOUT1-UFOE_SEL1"; case 14: return "DITHER_MOUT0-RMDA0"; case 13: return "WDMA0_SEL-WDMA0"; case 12: return "RDMA0_SOUT2-DBI0_SEL1"; case 11: return "RDMA0_SOUT2-DSI0_SEL1"; case 10: return "RDMA0_SOUT1-COLOR0_SEL0"; case 9: return "RDMA0_SOUT0-UFOE0_SEL0"; case 8: return "RDMA0-RDMA0_SOUT"; case 7: return "OVL0-OVL_MOUT"; case 6: return "GAMMA0-DITHER0"; case 5: return "DITHER0-DITHER0_MOUT"; case 4: return "COLOR0-CCORR0"; case 3: return "CCORR0_AAL0"; case 2: return "AAL0-GAMMA0"; case 1: return "DBI0_SEL-DBI0"; case 0: return "COLOR0_SEL-COLOR0"; default: break; } return NULL; } static char *ddp_signal_1(int bit) { switch (bit) { case 12: return "UFOE_MOUT0-DSI0_SEL0"; case 13: return "UFOE_MOUT1-DBI0_SEL0"; case 14: return "UFOE_MOUT2-WDMA0_SEL2"; case 15: return "UFOE_SEL-UFOE_MOUT"; default: break; } return NULL; } static char *ddp_greq_name(int bit) { switch (bit) { case 0: return "OVL0"; case 1: return "RDMA0"; case 2: return "WDMA0"; case 3: return "MDP_RDMA0"; case 4: return "MDP_WDMA"; case 5: return "MDP_WROT0"; case 6: return "FAKE"; default: break; } return NULL; } static char *ddp_get_mutex_module0_name(unsigned int bit) { switch (bit) { case 0: return "mdp-rdma0"; case 1: return "mdp-rsz0"; case 2: return "mdp-rsz1"; case 3: return "mdp-wdma0"; case 4: return "mdp_wrot0"; case 5: return "mdp_tdshp"; case 6: return "disp-ovl0"; case 7: return "disp-rdma0"; case 8: return "disp-wdma0"; case 9: return "disp-color0"; case 10: return "disp-ccr0"; case 11: return "disp-aal0;"; case 12: return "disp-gamma0"; case 13: return "disp-dither"; case 14: return "disp-dsi"; case 15: return "disp-dbi"; case 16: return "disp-pwm"; default: break; } return "mutex-unknown"; } char *ddp_get_fmt_name(enum DISP_MODULE_ENUM module, unsigned int fmt) { if (module == DISP_MODULE_WDMA0) { switch (fmt) { case 0: return "rgb565"; case 1: return "rgb888"; case 2: return "rgba8888"; case 3: return "argb8888"; case 4: return "uyvy"; case 5: return "yuy2"; case 7: return "y-only"; case 8: return "iyuv"; case 12: return "nv12"; default: DDPDUMP("%s, unknown fmt=%d, module=%d\n", __func__, fmt, module); return "unknown"; } } else if (module == DISP_MODULE_OVL0) { switch (fmt) { case 0: return "rgb565"; case 1: return "rgb888"; case 2: return "rgba8888"; case 3: return "argb8888"; case 4: return "uyvy"; case 5: return "yuyv"; default: DDPDUMP("%s, unknown fmt=%d, module=%d\n", __func__, fmt, module); return "unknown"; } } else if (module == DISP_MODULE_RDMA0 || module == DISP_MODULE_RDMA1) { switch (fmt) { case 0: return "rgb565"; case 1: return "rgb888"; case 2: return "rgba8888"; case 3: return "argb8888"; case 4: return "uyvy"; case 5: return "yuyv"; default: DDPDUMP("%s, unknown fmt=%d, module=%d\n", __func__, fmt, module); return "unknown"; } } else { DDPDUMP("%s, unknown module=%d\n", __func__, module); } return "unknown"; } static char *ddp_clock_0(int bit) { switch (bit) { case 0: return "SMI_COMMON"; case 1: return "SMI_LARB0"; case 2: return "GALS_COMM0"; case 3: return "GALS_COMM1"; case 4: return "ISP_DL"; case 5: return "MDP_RDMA0"; case 6: return "MDP_RSZ0"; case 7: return "MDP_RSZ1"; case 8: return "MDP_TDSHP"; case 9: return "MDP_WROT0"; case 10: return "MDP_WDMA0"; case 11: return "FAKE_ENG"; case 12: return "DISP_OVL0"; case 13: return "DISP_RDMA0"; case 14: return "DISP_WDMA0"; case 15: return "DISP_COLOR0"; case 16: return "DISP_CCORR0"; case 17: return "DISP_AAL0"; case 18: return "DISP_GAMMA0"; case 19: return "DISP_DITHER0"; case 20: return "DSI0_MM_clock"; case 21: return "DSI0_interface_clock"; case 22: return "DBI0_MM_clock"; case 23: return "DBI0_interface_clock"; case 24: return "F26M_HRT_clock"; default: break; } return NULL; } /*************************Module Analysis start***********************/ static void mutex_dump_analysis(void) { int i = 0; int j = 0; char mutex_module[512] = {'\0'}; char *p = NULL; int len = 0; unsigned int val; DDPDUMP("== DISP Mutex Analysis ==\n"); for (i = 0; i < 5; i++) { p = mutex_module; len = 0; if (DISP_REG_GET(DISP_REG_CONFIG_MUTEX_MOD0(i)) == 0) continue; val = DISP_REG_GET(DISP_REG_CONFIG_MUTEX_SOF(i)); len = sprintf(p, "MUTEX%d :SOF=%s,EOF=%s,WAIT=%d,module=(", i, ddp_get_mutex_sof_name( REG_FLD_VAL_GET(SOF_FLD_MUTEX0_SOF, val)), ddp_get_mutex_sof_name( REG_FLD_VAL_GET(SOF_FLD_MUTEX0_EOF, val)), REG_FLD_VAL_GET(SOF_FLD_MUTEX0_SOF_WAIT, val)); p += len; for (j = 0; j < 32; j++) { unsigned int regval = DISP_REG_GET(DISP_REG_CONFIG_MUTEX_MOD0(i)); if ((regval & (1 << j))) { len = sprintf(p, "%s,", ddp_get_mutex_module0_name(j)); p += len; } } DDPDUMP("%s)\n", mutex_module); } } /** ------ clock: ------ * Before power on mmsys: * CLK_CFG_0_CLR (address is 0x10000048) = 0x80000000 (bit 31). * Before using DISP_PWM0 or DISP_PWM1: * CLK_CFG_1_CLR(address is 0x10000058)=0x80 (bit 7). * Before using DPI pixel clock: * CLK_CFG_6_CLR(address is 0x100000A8)=0x80 (bit 7). * * Only need to enable the corresponding bits of MMSYS_CG_CON0 and * MMSYS_CG_CON1 for the modules: smi_common, larb0, mdp_crop, * fake_eng, mutex_32k, pwm0, pwm1, dsi0, dsi1, dpi. * Other bits could keep 1. Suggest to keep smi_common and * larb0 always clock on. * * --------valid & ready * example: * ovl0 -> ovl0_mout_ready=1 means engines after ovl_mout are ready for * receiving data * ovl0_mout_ready=0 means ovl0_mout can not receive data, * maybe ovl0_mout or after engines config error * ovl0 -> ovl0_mout_valid=1 means engines before ovl0_mout is OK, * ovl0_mout_valid=0 means ovl can not transfer data to ovl0_mout, * means ovl0 or before engines are not ready. */ static void mmsys_config_dump_analysis(void) { unsigned int i = 0; unsigned int reg = 0; char clock_on[512] = { '\0' }; char *pos = NULL; char *name; /* int len = 0; */ unsigned int valid0 = DISP_REG_GET(DISP_REG_CONFIG_DISP_DL_VALID_0); unsigned int valid1 = DISP_REG_GET(DISP_REG_CONFIG_DISP_DL_VALID_1); unsigned int ready0 = DISP_REG_GET(DISP_REG_CONFIG_DISP_DL_READY_0); unsigned int ready1 = DISP_REG_GET(DISP_REG_CONFIG_DISP_DL_READY_1); unsigned int greq = DISP_REG_GET(DISP_REG_CONFIG_SMI_LARB0_GREQ); DDPDUMP("== DISP MMSYS_CONFIG ANALYSIS ==\n"); #if 0 /* TODO: mmsys clk?? */ DDPDUMP("mmsys clock=0x%x, CG_CON0=0x%x, CG_CON1=0x%x\n", DISP_REG_GET(DISP_REG_CLK_CFG_0_MM_CLK), DISP_REG_GET(DISP_REG_CONFIG_MMSYS_CG_CON0), DISP_REG_GET(DISP_REG_CONFIG_MMSYS_CG_CON1)); if ((DISP_REG_GET(DISP_REG_CLK_CFG_0_MM_CLK) >> 31) & 0x1) DDPERR("mmsys clock abnormal!!\n"); #endif reg = DISP_REG_GET(DISP_REG_CONFIG_MMSYS_CG_CON0); for (i = 0; i < 32; i++) { if ((reg & (1 << i)) == 0) { name = ddp_clock_0(i); if (name) strncat(clock_on, name, (sizeof(clock_on) - strlen(clock_on) - 1)); } } DDPDUMP("clock on modules:%s\n", clock_on); DDPDUMP("valid0=0x%x, valid1=0x%x, ready0=0x%x, ready1=0x%x, greq=0%x\n", valid0, valid1, ready0, ready1, greq); for (i = 0; i < 32; i++) { name = ddp_signal_0(i); if (!name) continue; pos = clock_on; if ((valid0 & (1 << i))) pos += sprintf(pos, "%s,", "v"); else pos += sprintf(pos, "%s,", "n"); if ((ready0 & (1 << i))) pos += sprintf(pos, "%s", "r"); else pos += sprintf(pos, "%s", "n"); pos += sprintf(pos, ": %s", name); DDPDUMP("%s\n", clock_on); } for (i = 0; i < 32; i++) { name = ddp_signal_1(i); if (!name) continue; pos = clock_on; if ((valid1 & (1 << i))) pos += sprintf(pos, "%s,", "v"); else pos += sprintf(pos, "%s,", "n"); if ((ready1 & (1 << i))) pos += sprintf(pos, "%s", "r"); else pos += sprintf(pos, "%s", "n"); pos += sprintf(pos, ": %s", name); DDPDUMP("%s\n", clock_on); } /* greq: 1 means SMI dose not grant, maybe SMI hang */ if (greq) DDPDUMP("smi greq not grant module: (greq: 1 means SMI dose not grant, maybe SMI hang)"); clock_on[0] = '\0'; for (i = 0; i < 32; i++) { if (greq & (1 << i)) { name = ddp_greq_name(i); if (!name) continue; strncat(clock_on, name, (sizeof(clock_on) - strlen(clock_on) - 1)); } } DDPDUMP("%s\n", clock_on); } static void gamma_dump_analysis(enum DISP_MODULE_ENUM module) { int i; unsigned int offset = 0x1000; if (module == DISP_MODULE_GAMMA0) i = 0; else i = 1; DDPDUMP("== DISP GAMMA%d ANALYSIS ==\n", i); DDPDUMP("gamma: en=%d, w=%d, h=%d, in_p_cnt=%d, in_l_cnt=%d, out_p_cnt=%d, out_l_cnt=%d\n", DISP_REG_GET(DISP_REG_GAMMA_EN + i * offset), (DISP_REG_GET(DISP_REG_GAMMA_SIZE + i * offset) >> 16) & 0x1fff, DISP_REG_GET(DISP_REG_GAMMA_SIZE + i * offset) & 0x1fff, DISP_REG_GET(DISP_REG_GAMMA_INPUT_COUNT + i * offset) & 0x1fff, (DISP_REG_GET(DISP_REG_GAMMA_INPUT_COUNT + i * offset) >> 16) & 0x1fff, DISP_REG_GET(DISP_REG_GAMMA_OUTPUT_COUNT + i * offset) & 0x1fff, (DISP_REG_GET(DISP_REG_GAMMA_OUTPUT_COUNT + i * offset) >> 16) & 0x1fff); DDPDUMP("== DISP GAMMA%d IMPORTANT REGS ==\n", i); DDPDUMP("(0x000)GA_EN=0x%x\n", DISP_REG_GET(DISP_REG_GAMMA_EN + i * offset)); DDPDUMP("(0x004)GA_RESET=0x%x\n", DISP_REG_GET(DISP_REG_GAMMA_RESET + i * offset)); DDPDUMP("(0x008)GA_INTEN=0x%x\n", DISP_REG_GET(DISP_REG_GAMMA_INTEN + i * offset)); DDPDUMP("(0x00c)GA_INTSTA=0x%x\n", DISP_REG_GET(DISP_REG_GAMMA_INTSTA + i * offset)); DDPDUMP("(0x010)GA_STATUS=0x%x\n", DISP_REG_GET(DISP_REG_GAMMA_STATUS + i * offset)); DDPDUMP("(0x020)GA_CFG=0x%x\n", DISP_REG_GET(DISP_REG_GAMMA_CFG + i * offset)); DDPDUMP("(0x024)GA_IN_COUNT=0x%x\n", DISP_REG_GET(DISP_REG_GAMMA_INPUT_COUNT + i * offset)); DDPDUMP("(0x028)GA_OUT_COUNT=0x%x\n", DISP_REG_GET(DISP_REG_GAMMA_OUTPUT_COUNT + i * offset)); DDPDUMP("(0x02c)GA_CHKSUM=0x%x\n", DISP_REG_GET(DISP_REG_GAMMA_CHKSUM + i * offset)); DDPDUMP("(0x030)GA_SIZE=0x%x\n", DISP_REG_GET(DISP_REG_GAMMA_SIZE + i * offset)); DDPDUMP("(0x0c0)GA_DUMMY_REG=0x%x\n", DISP_REG_GET(DISP_REG_GAMMA_DUMMY_REG + i * offset)); DDPDUMP("(0x800)GA_LUT=0x%x\n", DISP_REG_GET(DISP_REG_GAMMA_LUT + i * offset)); } static void color_dump_analysis(enum DISP_MODULE_ENUM module) { int index = 0; DDPDUMP("== DISP COLOR%d ANALYSIS ==\n", index); DDPDUMP("color%d: bypass=%d, w=%d, h=%d, pixel_cnt=%d, line_cnt=%d,\n", index, (DISP_REG_GET(DISP_COLOR_CFG_MAIN) >> 7) & 0x1, DISP_REG_GET(DISP_COLOR_INTERNAL_IP_WIDTH), DISP_REG_GET(DISP_COLOR_INTERNAL_IP_HEIGHT), DISP_REG_GET(DISP_COLOR_PXL_CNT_MAIN) & 0xffff, (DISP_REG_GET(DISP_COLOR_LINE_CNT_MAIN) >> 16) & 0x1fff); DDPDUMP("== DISP COLOR%d REGS ==\n", index); DDPDUMP("(0x400)COLOR_CFG_MAIN=0x%x\n", DISP_REG_GET(DISP_COLOR_CFG_MAIN)); DDPDUMP("(0x404)COLOR_PXL_CNT_MAIN=0x%x\n", DISP_REG_GET(DISP_COLOR_PXL_CNT_MAIN)); DDPDUMP("(0x408)COLOR_LINE_CNT_MAIN=0x%x\n", DISP_REG_GET(DISP_COLOR_LINE_CNT_MAIN)); DDPDUMP("(0xc00)COLOR_START=0x%x\n", DISP_REG_GET(DISP_COLOR_START)); DDPDUMP("(0xc28)DISP_COLOR_CK_ON=0x%x\n", DISP_REG_GET(DISP_COLOR_CK_ON)); DDPDUMP("(0xc50)COLOR_INTER_IP_W=0x%x\n", DISP_REG_GET(DISP_COLOR_INTERNAL_IP_WIDTH)); DDPDUMP("(0xc54)COLOR_INTER_IP_H=0x%x\n", DISP_REG_GET(DISP_COLOR_INTERNAL_IP_HEIGHT)); } static void aal_dump_analysis(enum DISP_MODULE_ENUM module) { int i; unsigned int offset = 0x1000; if (module == DISP_MODULE_AAL0) i = 0; else i = 1; DDPDUMP("== DISP AAL ANALYSIS ==\n"); DDPDUMP("aal: bypass=%d, relay=%d, en=%d, w=%d, h=%d, in(%d,%d),out(%d,%d)\n", DISP_REG_GET(DISP_AAL_EN + i * offset) == 0x0, DISP_REG_GET(DISP_AAL_CFG + i * offset) & 0x01, DISP_REG_GET(DISP_AAL_EN + i * offset), (DISP_REG_GET(DISP_AAL_SIZE + i * offset) >> 16) & 0x1fff, DISP_REG_GET(DISP_AAL_SIZE + i * offset) & 0x1fff, DISP_REG_GET(DISP_AAL_IN_CNT + i * offset) & 0x1fff, (DISP_REG_GET(DISP_AAL_IN_CNT + i * offset) >> 16) & 0x1fff, DISP_REG_GET(DISP_AAL_OUT_CNT + i * offset) & 0x1fff, (DISP_REG_GET(DISP_AAL_OUT_CNT + i * offset) >> 16) & 0x1fff); DDPDUMP("== DISP AAL%d REGS ==\n", i); DDPDUMP("(0x000)AAL_EN=0x%x\n", DISP_REG_GET(DISP_AAL_EN + i * offset)); DDPDUMP("(0x008)AAL_INTEN=0x%x\n", DISP_REG_GET(DISP_AAL_INTEN + i * offset)); DDPDUMP("(0x00c)AAL_INTSTA=0x%x\n", DISP_REG_GET(DISP_AAL_INTSTA + i * offset)); DDPDUMP("(0x020)AAL_CFG=0x%x\n", DISP_REG_GET(DISP_AAL_CFG + i * offset)); DDPDUMP("(0x024)AAL_IN_CNT=0x%x\n", DISP_REG_GET(DISP_AAL_IN_CNT + i * offset)); DDPDUMP("(0x028)AAL_OUT_CNT=0x%x\n", DISP_REG_GET(DISP_AAL_OUT_CNT + i * offset)); DDPDUMP("(0x030)AAL_SIZE=0x%x\n", DISP_REG_GET(DISP_AAL_SIZE + i * offset)); DDPDUMP("(0x20c)AAL_CABC_00=0x%x\n", DISP_REG_GET(DISP_AAL_CABC_00 + i * offset)); DDPDUMP("(0x214)AAL_CABC_02=0x%x\n", DISP_REG_GET(DISP_AAL_CABC_02 + i * offset)); DDPDUMP("(0x20c)AAL_STATUS_00=0x%x\n", DISP_REG_GET(DISP_AAL_STATUS_00 + i * offset)); DDPDUMP("(0x210)AAL_STATUS_01=0x%x\n", DISP_REG_GET(DISP_AAL_STATUS_00 + 0x4 + i * offset)); DDPDUMP("(0x2a0)AAL_STATUS_31=0x%x\n", DISP_REG_GET(DISP_AAL_STATUS_32 - 0x4 + i * offset)); DDPDUMP("(0x2a4)AAL_STATUS_32=0x%x\n", DISP_REG_GET(DISP_AAL_STATUS_32 + i * offset)); DDPDUMP("(0x3b0)AAL_DRE_MAPPING_00=0x%x\n", DISP_REG_GET(DISP_AAL_DRE_MAPPING_00 + i * offset)); } static void pwm_dump_analysis(enum DISP_MODULE_ENUM module) { int index = 0; unsigned long reg_base = 0; index = 0; reg_base = DISPSYS_PWM0_BASE; DDPDUMP("== DISP PWM%d ANALYSIS ==\n", index); DDPDUMP("(0x000)PWM_EN=0x%x\n", DISP_REG_GET(reg_base + DISP_PWM_EN_OFF)); DDPDUMP("(0x008)PWM_CON_0=0x%x\n", DISP_REG_GET(reg_base + DISP_PWM_CON_0_OFF)); DDPDUMP("(0x010)PWM_CON_1=0x%x\n", DISP_REG_GET(reg_base + DISP_PWM_CON_1_OFF)); DDPDUMP("(0x028)PWM_DEBUG=0x%x\n", DISP_REG_GET(reg_base + 0x28)); } static void ccorr_dump_analyze(enum DISP_MODULE_ENUM module) { int i; unsigned int offset = 0x1000; if (module == DISP_MODULE_CCORR0) i = 0; else i = 1; DDPDUMP("ccorr: en=%d, config=%d, w=%d, h=%d, in_p_cnt=%d, in_l_cnt=%d, out_p_cnt=%d, out_l_cnt=%d\n", DISP_REG_GET(DISP_REG_CCORR_EN + i * offset), DISP_REG_GET(DISP_REG_CCORR_CFG + i * offset), (DISP_REG_GET(DISP_REG_CCORR_SIZE + i * offset) >> 16) & 0x1fff, DISP_REG_GET(DISP_REG_CCORR_SIZE + i * offset) & 0x1fff, DISP_REG_GET(DISP_REG_CCORR_IN_CNT + i * offset) & 0x1fff, (DISP_REG_GET(DISP_REG_CCORR_IN_CNT + i * offset) >> 16) & 0x1fff, DISP_REG_GET(DISP_REG_CCORR_IN_CNT + i * offset) & 0x1fff, (DISP_REG_GET(DISP_REG_CCORR_IN_CNT + i * offset) >> 16) & 0x1fff); DDPDUMP("== DISP CCORR REGS ==\n"); DDPDUMP("(00)EN=0x%x\n", DISP_REG_GET(DISP_REG_CCORR_EN + i * offset)); DDPDUMP("(20)CFG=0x%x\n", DISP_REG_GET(DISP_REG_CCORR_CFG + i * offset)); DDPDUMP("(24)IN_CNT=0x%x\n", DISP_REG_GET(DISP_REG_CCORR_IN_CNT + i * offset)); DDPDUMP("(28)OUT_CNT=0x%x\n", DISP_REG_GET(DISP_REG_CCORR_OUT_CNT + i * offset)); DDPDUMP("(30)SIZE=0x%x\n", DISP_REG_GET(DISP_REG_CCORR_SIZE + i * offset)); } static void dither_dump_analyze(enum DISP_MODULE_ENUM module) { int i; unsigned int offset = 0x1000; if (module == DISP_MODULE_DITHER0) i = 0; else i = 1; DDPDUMP("dither: en=%d, config=%d, w=%d, h=%d, in_p_cnt=%d, in_l_cnt=%d, out_p_cnt=%d, out_l_cnt=%d\n", DISP_REG_GET(DISPSYS_DITHER0_BASE + 0x000 + i * offset), DISP_REG_GET(DISPSYS_DITHER0_BASE + 0x020 + i * offset), (DISP_REG_GET(DISP_REG_DITHER_SIZE + i * offset) >> 16) & 0x1fff, DISP_REG_GET(DISP_REG_DITHER_SIZE + i * offset) & 0x1fff, DISP_REG_GET(DISP_REG_DITHER_IN_CNT + i * offset) & 0x1fff, (DISP_REG_GET(DISP_REG_DITHER_IN_CNT + i * offset) >> 16) & 0x1fff, DISP_REG_GET(DISP_REG_DITHER_OUT_CNT + i * offset) & 0x1fff, (DISP_REG_GET(DISP_REG_DITHER_OUT_CNT + i * offset) >> 16) & 0x1fff); DDPDUMP("== DISP DITHER REGS ==\n"); DDPDUMP("(00)EN=0x%x\n", DISP_REG_GET(DISP_REG_DITHER_EN + i * offset)); DDPDUMP("(20)CFG=0x%x\n", DISP_REG_GET(DISP_REG_DITHER_CFG + i * offset)); DDPDUMP("(24)IN_CNT=0x%x\n", DISP_REG_GET(DISP_REG_DITHER_IN_CNT + i * offset)); DDPDUMP("(28)OUT_CNT=0x%x\n", DISP_REG_GET(DISP_REG_DITHER_OUT_CNT + i * offset)); DDPDUMP("(30)SIZE=0x%x\n", DISP_REG_GET(DISP_REG_DITHER_SIZE + i * offset)); } int split_dump_analysis(enum DISP_MODULE_ENUM module) { #if 0 unsigned int pixel = DISP_REG_GET_FIELD(DEBUG_FLD_IN_PIXEL_CNT, DISP_REG_SPLIT_DEBUG); unsigned int state = DISP_REG_GET_FIELD(DEBUG_FLD_SPLIT_FSM, DISP_REG_SPLIT_DEBUG); DDPMSG("== DISP SPLIT0 ANALYSIS ==\n"); DDPMSG("cur_pixel %u, state %s\n", pixel, split_state(state)); #endif return 0; } /*************************Module Analysis end***********************/ /*************************Module reg dump start*********************/ void disp_aal_dump_reg(enum DISP_MODULE_ENUM module) { unsigned long module_base = ddp_get_module_va(module); DDPDUMP("== START: DISP %s REGS ==\n", ddp_get_module_name(module)); DDPDUMP("aal: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x00000000, INREG32(module_base + 0x00000000), 0x00000004, INREG32(module_base + 0x00000004), 0x00000008, INREG32(module_base + 0x00000008), 0x0000000c, INREG32(module_base + 0x0000000c)); DDPDUMP("aal: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x00000010, INREG32(module_base + 0x00000010), 0x00000020, INREG32(module_base + 0x00000020), 0x00000024, INREG32(module_base + 0x00000024), 0x00000028, INREG32(module_base + 0x00000028)); DDPDUMP("aal: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x0000002c, INREG32(module_base + 0x0000002c), 0x00000030, INREG32(module_base + 0x00000030), 0x000000b0, INREG32(module_base + 0x000000b0), 0x000000c0, INREG32(module_base + 0x000000c0)); DDPDUMP("aal: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x000000fc, INREG32(module_base + 0x000000fc), 0x00000204, INREG32(module_base + 0x00000204), 0x0000021c, INREG32(module_base + 0x0000021c), 0x00000224, INREG32(module_base + 0x00000224)); DDPDUMP("aal: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x00000228, INREG32(module_base + 0x00000228), 0x0000022c, INREG32(module_base + 0x0000022c), 0x00000230, INREG32(module_base + 0x00000230), 0x00000234, INREG32(module_base + 0x00000234)); DDPDUMP("aal: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x00000238, INREG32(module_base + 0x00000238), 0x0000023c, INREG32(module_base + 0x0000023c), 0x00000240, INREG32(module_base + 0x00000240), 0x00000244, INREG32(module_base + 0x00000244)); DDPDUMP("aal: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x00000248, INREG32(module_base + 0x00000248), 0x0000024c, INREG32(module_base + 0x0000024c), 0x00000250, INREG32(module_base + 0x00000250), 0x00000254, INREG32(module_base + 0x00000254)); DDPDUMP("aal: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x00000258, INREG32(module_base + 0x00000258), 0x0000025c, INREG32(module_base + 0x0000025c), 0x00000260, INREG32(module_base + 0x00000260), 0x00000264, INREG32(module_base + 0x00000264)); DDPDUMP("aal: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x00000268, INREG32(module_base + 0x00000268), 0x0000026c, INREG32(module_base + 0x0000026c), 0x00000270, INREG32(module_base + 0x00000270), 0x00000274, INREG32(module_base + 0x00000274)); DDPDUMP("aal: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x00000278, INREG32(module_base + 0x00000278), 0x0000027c, INREG32(module_base + 0x0000027c), 0x00000280, INREG32(module_base + 0x00000280), 0x00000284, INREG32(module_base + 0x00000284)); DDPDUMP("aal: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x00000288, INREG32(module_base + 0x00000288), 0x0000028c, INREG32(module_base + 0x0000028c), 0x00000290, INREG32(module_base + 0x00000290), 0x00000294, INREG32(module_base + 0x00000294)); DDPDUMP("aal: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x00000298, INREG32(module_base + 0x00000298), 0x0000029c, INREG32(module_base + 0x0000029c), 0x000002a0, INREG32(module_base + 0x000002a0), 0x000002a4, INREG32(module_base + 0x000002a4)); DDPDUMP("aal: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x00000358, INREG32(module_base + 0x00000358), 0x0000035c, INREG32(module_base + 0x0000035c), 0x00000360, INREG32(module_base + 0x00000360), 0x00000364, INREG32(module_base + 0x00000364)); DDPDUMP("aal: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x00000368, INREG32(module_base + 0x00000368), 0x0000036c, INREG32(module_base + 0x0000036c), 0x00000370, INREG32(module_base + 0x00000370), 0x00000374, INREG32(module_base + 0x00000374)); DDPDUMP("aal: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x00000378, INREG32(module_base + 0x00000378), 0x0000037c, INREG32(module_base + 0x0000037c), 0x00000380, INREG32(module_base + 0x00000380), 0x000003b0, INREG32(module_base + 0x000003b0)); DDPDUMP("aal: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x00000440, INREG32(module_base + 0x00000440), 0x00000444, INREG32(module_base + 0x00000444), 0x00000448, INREG32(module_base + 0x00000448), 0x0000044c, INREG32(module_base + 0x0000044c)); DDPDUMP("aal: 0x%04x=0x%08x\n", 0x00000450, INREG32(module_base + 0x00000450)); DDPDUMP("-- END: DISP %s REGS --\n", ddp_get_module_name(module)); } void disp_ccorr_dump_reg(enum DISP_MODULE_ENUM module) { unsigned long module_base = ddp_get_module_va(module); DDPDUMP("== START: DISP %s REGS ==\n", ddp_get_module_name(module)); DDPDUMP("ccorr: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x000, INREG32(module_base + 0x000), 0x004, INREG32(module_base + 0x004), 0x008, INREG32(module_base + 0x008), 0x00c, INREG32(module_base + 0x00c)); DDPDUMP("ccorr: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x010, INREG32(module_base + 0x010), 0x020, INREG32(module_base + 0x020), 0x024, INREG32(module_base + 0x024), 0x028, INREG32(module_base + 0x028)); DDPDUMP("ccorr: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x02c, INREG32(module_base + 0x02c), 0x030, INREG32(module_base + 0x030), 0x080, INREG32(module_base + 0x080), 0x084, INREG32(module_base + 0x084)); DDPDUMP("ccorr: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x088, INREG32(module_base + 0x088), 0x08c, INREG32(module_base + 0x08c), 0x090, INREG32(module_base + 0x090), 0x0a0, INREG32(module_base + 0x0a0)); DDPDUMP("ccorr: 0x%04x=0x%08x\n", 0x0c0, INREG32(module_base + 0x0c0)); DDPDUMP("-- END: DISP %s REGS --\n", ddp_get_module_name(module)); } void disp_color_dump_reg(enum DISP_MODULE_ENUM module) { unsigned long module_base = ddp_get_module_va(module); DDPDUMP("== START: DISP %s REGS ==\n", ddp_get_module_name(module)); DDPDUMP("color: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x00000400, INREG32(module_base + 0x00000400), 0x00000404, INREG32(module_base + 0x00000404), 0x00000408, INREG32(module_base + 0x00000408), 0x0000040c, INREG32(module_base + 0x0000040c)); DDPDUMP("color: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x00000410, INREG32(module_base + 0x00000410), 0x00000418, INREG32(module_base + 0x00000418), 0x0000041c, INREG32(module_base + 0x0000041c), 0x00000420, INREG32(module_base + 0x00000420)); DDPDUMP("color: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x00000428, INREG32(module_base + 0x00000428), 0x0000042c, INREG32(module_base + 0x0000042c), 0x00000430, INREG32(module_base + 0x00000430), 0x00000434, INREG32(module_base + 0x00000434)); DDPDUMP("color: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x00000438, INREG32(module_base + 0x00000438), 0x00000484, INREG32(module_base + 0x00000484), 0x00000488, INREG32(module_base + 0x00000488), 0x0000048c, INREG32(module_base + 0x0000048c)); DDPDUMP("color: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x00000490, INREG32(module_base + 0x00000490), 0x00000494, INREG32(module_base + 0x00000494), 0x00000498, INREG32(module_base + 0x00000498), 0x0000049c, INREG32(module_base + 0x0000049c)); DDPDUMP("color: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x000004a0, INREG32(module_base + 0x000004a0), 0x000004a4, INREG32(module_base + 0x000004a4), 0x000004a8, INREG32(module_base + 0x000004a8), 0x000004ac, INREG32(module_base + 0x000004ac)); DDPDUMP("color: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x000004b0, INREG32(module_base + 0x000004b0), 0x000004b4, INREG32(module_base + 0x000004b4), 0x000004b8, INREG32(module_base + 0x000004b8), 0x000004bc, INREG32(module_base + 0x000004bc)); DDPDUMP("color: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x00000620, INREG32(module_base + 0x00000620), 0x00000624, INREG32(module_base + 0x00000624), 0x00000628, INREG32(module_base + 0x00000628), 0x0000062c, INREG32(module_base + 0x0000062c)); DDPDUMP("color: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x00000630, INREG32(module_base + 0x00000630), 0x00000740, INREG32(module_base + 0x00000740), 0x0000074c, INREG32(module_base + 0x0000074c), 0x00000768, INREG32(module_base + 0x00000768)); DDPDUMP("color: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x0000076c, INREG32(module_base + 0x0000076c), 0x0000079c, INREG32(module_base + 0x0000079c), 0x000007e0, INREG32(module_base + 0x000007e0), 0x000007e4, INREG32(module_base + 0x000007e4)); DDPDUMP("color: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x000007e8, INREG32(module_base + 0x000007e8), 0x000007ec, INREG32(module_base + 0x000007ec), 0x000007f0, INREG32(module_base + 0x000007f0), 0x000007fc, INREG32(module_base + 0x000007fc)); DDPDUMP("color: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x00000800, INREG32(module_base + 0x00000800), 0x00000804, INREG32(module_base + 0x00000804), 0x00000808, INREG32(module_base + 0x00000808), 0x0000080c, INREG32(module_base + 0x0000080c)); DDPDUMP("color: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x00000810, INREG32(module_base + 0x00000810), 0x00000814, INREG32(module_base + 0x00000814), 0x00000818, INREG32(module_base + 0x00000818), 0x0000081c, INREG32(module_base + 0x0000081c)); DDPDUMP("color: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x00000820, INREG32(module_base + 0x00000820), 0x00000824, INREG32(module_base + 0x00000824), 0x00000828, INREG32(module_base + 0x00000828), 0x0000082c, INREG32(module_base + 0x0000082c)); DDPDUMP("color: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x00000830, INREG32(module_base + 0x00000830), 0x00000834, INREG32(module_base + 0x00000834), 0x00000838, INREG32(module_base + 0x00000838), 0x0000083c, INREG32(module_base + 0x0000083c)); DDPDUMP("color: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x00000840, INREG32(module_base + 0x00000840), 0x00000844, INREG32(module_base + 0x00000844), 0x00000848, INREG32(module_base + 0x00000848), 0x0000084c, INREG32(module_base + 0x0000084c)); DDPDUMP("color: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x00000850, INREG32(module_base + 0x00000850), 0x00000854, INREG32(module_base + 0x00000854), 0x00000858, INREG32(module_base + 0x00000858), 0x0000085c, INREG32(module_base + 0x0000085c)); DDPDUMP("color: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x00000c00, INREG32(module_base + 0x00000c00), 0x00000c04, INREG32(module_base + 0x00000c04), 0x00000c08, INREG32(module_base + 0x00000c08), 0x00000c0c, INREG32(module_base + 0x00000c0c)); DDPDUMP("color: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x00000c10, INREG32(module_base + 0x00000c10), 0x00000c14, INREG32(module_base + 0x00000c14), 0x00000c18, INREG32(module_base + 0x00000c18), 0x00000c28, INREG32(module_base + 0x00000c28)); DDPDUMP("color: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x00000c50, INREG32(module_base + 0x00000c50), 0x00000c54, INREG32(module_base + 0x00000c54), 0x00000c60, INREG32(module_base + 0x00000c60), 0x00000ca0, INREG32(module_base + 0x00000ca0)); DDPDUMP("color: 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x00000cb0, INREG32(module_base + 0x00000cb0), 0x00000cf0, INREG32(module_base + 0x00000cf0)); DDPDUMP("-- END: DISP %s REGS --\n", ddp_get_module_name(module)); } void disp_dither_dump_reg(enum DISP_MODULE_ENUM module) { unsigned long module_base = ddp_get_module_va(module); DDPDUMP("== START: DISP %s REGS ==\n", ddp_get_module_name(module)); DDPDUMP("dither: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x00000000, INREG32(module_base + 0x00000000), 0x00000004, INREG32(module_base + 0x00000004), 0x00000008, INREG32(module_base + 0x00000008), 0x0000000c, INREG32(module_base + 0x0000000c)); DDPDUMP("dither: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x00000010, INREG32(module_base + 0x00000010), 0x00000020, INREG32(module_base + 0x00000020), 0x00000024, INREG32(module_base + 0x00000024), 0x00000028, INREG32(module_base + 0x00000028)); DDPDUMP("dither: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x0000002c, INREG32(module_base + 0x0000002c), 0x00000030, INREG32(module_base + 0x00000030), 0x000000c0, INREG32(module_base + 0x000000c0), 0x00000100, INREG32(module_base + 0x00000100)); DDPDUMP("dither: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x00000114, INREG32(module_base + 0x00000114), 0x00000118, INREG32(module_base + 0x00000118), 0x0000011c, INREG32(module_base + 0x0000011c), 0x00000120, INREG32(module_base + 0x00000120)); DDPDUMP("dither: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x00000124, INREG32(module_base + 0x00000124), 0x00000128, INREG32(module_base + 0x00000128), 0x0000012c, INREG32(module_base + 0x0000012c), 0x00000130, INREG32(module_base + 0x00000130)); DDPDUMP("dither: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x00000134, INREG32(module_base + 0x00000134), 0x00000138, INREG32(module_base + 0x00000138), 0x0000013c, INREG32(module_base + 0x0000013c), 0x00000140, INREG32(module_base + 0x00000140)); DDPDUMP("dither: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x00000144, INREG32(module_base + 0x00000144), 0x0000014c, INREG32(module_base + 0x0000014c), 0x00000150, INREG32(module_base + 0x00000150), 0x00000154, INREG32(module_base + 0x00000154)); DDPDUMP("dither:\n"); DDPDUMP("-- END: DISP %s REGS --\n", ddp_get_module_name(module)); } void disp_dsi_dump_reg(enum DISP_MODULE_ENUM module) { unsigned long module_base = ddp_get_module_va(module); DDPDUMP("== START: DISP %s REGS ==\n", ddp_get_module_name(module)); DDPDUMP("dsi: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x000, INREG32(module_base + 0x000), 0x004, INREG32(module_base + 0x004), 0x008, INREG32(module_base + 0x008), 0x00c, INREG32(module_base + 0x00c)); DDPDUMP("dsi: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x010, INREG32(module_base + 0x010), 0x014, INREG32(module_base + 0x014), 0x018, INREG32(module_base + 0x018), 0x01c, INREG32(module_base + 0x01c)); DDPDUMP("dsi: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x020, INREG32(module_base + 0x020), 0x024, INREG32(module_base + 0x024), 0x028, INREG32(module_base + 0x028), 0x02c, INREG32(module_base + 0x02c)); DDPDUMP("dsi: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x030, INREG32(module_base + 0x030), 0x034, INREG32(module_base + 0x034), 0x038, INREG32(module_base + 0x038), 0x03c, INREG32(module_base + 0x03c)); DDPDUMP("dsi: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x050, INREG32(module_base + 0x050), 0x054, INREG32(module_base + 0x054), 0x058, INREG32(module_base + 0x058), 0x05c, INREG32(module_base + 0x05c)); DDPDUMP("dsi: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x060, INREG32(module_base + 0x060), 0x064, INREG32(module_base + 0x064), 0x068, INREG32(module_base + 0x068), 0x074, INREG32(module_base + 0x074)); DDPDUMP("dsi: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x078, INREG32(module_base + 0x078), 0x07c, INREG32(module_base + 0x07c), 0x080, INREG32(module_base + 0x080), 0x084, INREG32(module_base + 0x084)); DDPDUMP("dsi: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x088, INREG32(module_base + 0x088), 0x090, INREG32(module_base + 0x090), 0x094, INREG32(module_base + 0x094), 0x098, INREG32(module_base + 0x098)); DDPDUMP("dsi: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x0a0, INREG32(module_base + 0x0a0), 0x0a4, INREG32(module_base + 0x0a4), 0x0a8, INREG32(module_base + 0x0a8), 0x0f0, INREG32(module_base + 0x0f0)); DDPDUMP("dsi: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x100, INREG32(module_base + 0x100), 0x104, INREG32(module_base + 0x104), 0x108, INREG32(module_base + 0x108), 0x10c, INREG32(module_base + 0x10c)); DDPDUMP("dsi: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x110, INREG32(module_base + 0x110), 0x114, INREG32(module_base + 0x114), 0x118, INREG32(module_base + 0x118), 0x11c, INREG32(module_base + 0x11c)); DDPDUMP("dsi: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x130, INREG32(module_base + 0x130), 0x134, INREG32(module_base + 0x134), 0x138, INREG32(module_base + 0x138), 0x13c, INREG32(module_base + 0x13c)); DDPDUMP("dsi: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x140, INREG32(module_base + 0x140), 0x144, INREG32(module_base + 0x144), 0x148, INREG32(module_base + 0x148), 0x14c, INREG32(module_base + 0x14c)); DDPDUMP("dsi: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x150, INREG32(module_base + 0x150), 0x154, INREG32(module_base + 0x154), 0x158, INREG32(module_base + 0x158), 0x15c, INREG32(module_base + 0x15c)); DDPDUMP("dsi: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x160, INREG32(module_base + 0x160), 0x164, INREG32(module_base + 0x164), 0x168, INREG32(module_base + 0x168), 0x16c, INREG32(module_base + 0x16c)); DDPDUMP("dsi: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x170, INREG32(module_base + 0x170), 0x174, INREG32(module_base + 0x174), 0x178, INREG32(module_base + 0x178), 0x17c, INREG32(module_base + 0x17c)); DDPDUMP("dsi: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x180, INREG32(module_base + 0x180), 0x184, INREG32(module_base + 0x184), 0x188, INREG32(module_base + 0x188), 0x18c, INREG32(module_base + 0x18c)); DDPDUMP("dsi: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x190, INREG32(module_base + 0x190), 0x194, INREG32(module_base + 0x194), 0x1a0, INREG32(module_base + 0x1a0), 0x1a4, INREG32(module_base + 0x1a4)); DDPDUMP("dsi: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x1a8, INREG32(module_base + 0x1a8), 0x1ac, INREG32(module_base + 0x1ac), 0x1b0, INREG32(module_base + 0x1b0), 0x1b4, INREG32(module_base + 0x1b4)); DDPDUMP("dsi: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x1b8, INREG32(module_base + 0x1b8), 0x1bc, INREG32(module_base + 0x1bc), 0x1c0, INREG32(module_base + 0x1c0), 0x1c4, INREG32(module_base + 0x1c4)); DDPDUMP("dsi: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x1c8, INREG32(module_base + 0x1c8), 0x1cc, INREG32(module_base + 0x1cc), 0x1d0, INREG32(module_base + 0x1d0), 0x1d4, INREG32(module_base + 0x1d4)); DDPDUMP("dsi: 0x%04x=0x%08x\n", 0x200, INREG32(module_base + 0x200)); DDPDUMP("-- END: DISP %s REGS --\n", ddp_get_module_name(module)); } void disp_gamma_dump_reg(enum DISP_MODULE_ENUM module) { unsigned long module_base = ddp_get_module_va(module); DDPDUMP("== START: DISP %s REGS ==\n", ddp_get_module_name(module)); DDPDUMP("gamma: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x000, INREG32(module_base + 0x000), 0x004, INREG32(module_base + 0x004), 0x008, INREG32(module_base + 0x008), 0x00c, INREG32(module_base + 0x00c)); DDPDUMP("gamma: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x010, INREG32(module_base + 0x010), 0x020, INREG32(module_base + 0x020), 0x024, INREG32(module_base + 0x024), 0x028, INREG32(module_base + 0x028)); DDPDUMP("gamma: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x02c, INREG32(module_base + 0x02c), 0x030, INREG32(module_base + 0x030), 0x700, INREG32(module_base + 0x700)); DDPDUMP("-- END: DISP %s REGS --\n", ddp_get_module_name(module)); } void disp_mutex_dump_reg(enum DISP_MODULE_ENUM module) { unsigned long module_base = ddp_get_module_va(module); DDPDUMP("== START: DISP %s REGS ==\n", ddp_get_module_name(module)); DDPDUMP("mutex: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x0, INREG32(module_base + 0x0), 0x4, INREG32(module_base + 0x4), 0x8, INREG32(module_base + 0x8), 0x020, INREG32(module_base + 0x020)); DDPDUMP("mutex: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x028, INREG32(module_base + 0x028), 0x02c, INREG32(module_base + 0x02c), 0x030, INREG32(module_base + 0x030), 0x040, INREG32(module_base + 0x040)); DDPDUMP("mutex: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x048, INREG32(module_base + 0x048), 0x04c, INREG32(module_base + 0x04c), 0x050, INREG32(module_base + 0x050), 0x060, INREG32(module_base + 0x060)); DDPDUMP("mutex: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x068, INREG32(module_base + 0x068), 0x06c, INREG32(module_base + 0x06c), 0x070, INREG32(module_base + 0x070), 0x080, INREG32(module_base + 0x080)); DDPDUMP("mutex: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x088, INREG32(module_base + 0x088), 0x08c, INREG32(module_base + 0x08c), 0x090, INREG32(module_base + 0x090), 0x0a0, INREG32(module_base + 0x0a0)); DDPDUMP("mutex: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x0a8, INREG32(module_base + 0x0a8), 0x0ac, INREG32(module_base + 0x0ac), 0x0b0, INREG32(module_base + 0x0b0), 0x0c0, INREG32(module_base + 0x0c0)); DDPDUMP("mutex: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x0c8, INREG32(module_base + 0x0c8), 0x0cc, INREG32(module_base + 0x0cc), 0x0d0, INREG32(module_base + 0x0d0), 0x0e0, INREG32(module_base + 0x0e0)); DDPDUMP("mutex: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x0e8, INREG32(module_base + 0x0e8), 0x0ec, INREG32(module_base + 0x0ec), 0x0f0, INREG32(module_base + 0x0f0), 0x100, INREG32(module_base + 0x100)); DDPDUMP("mutex: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x108, INREG32(module_base + 0x108), 0x10c, INREG32(module_base + 0x10c), 0x110, INREG32(module_base + 0x110), 0x120, INREG32(module_base + 0x120)); DDPDUMP("mutex: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x128, INREG32(module_base + 0x128), 0x12c, INREG32(module_base + 0x12c), 0x130, INREG32(module_base + 0x130), 0x140, INREG32(module_base + 0x140)); DDPDUMP("mutex: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x148, INREG32(module_base + 0x148), 0x14c, INREG32(module_base + 0x14c), 0x150, INREG32(module_base + 0x150), 0x30c, INREG32(module_base + 0x30c)); DDPDUMP("mutex:\n"); DDPDUMP("-- END: DISP %s REGS --\n", ddp_get_module_name(module)); } void disp_ovl_dump_reg(enum DISP_MODULE_ENUM module) { unsigned long module_base = ddp_get_module_va(module); DDPDUMP("== START: DISP %s REGS ==\n", ddp_get_module_name(module)); DDPDUMP("ovl: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x0, INREG32(module_base + 0x0), 0x4, INREG32(module_base + 0x4), 0x8, INREG32(module_base + 0x8), 0xc, INREG32(module_base + 0xc)); DDPDUMP("ovl: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x10, INREG32(module_base + 0x10), 0x14, INREG32(module_base + 0x14), 0x20, INREG32(module_base + 0x20), 0x24, INREG32(module_base + 0x24)); DDPDUMP("ovl: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x28, INREG32(module_base + 0x28), 0x2c, INREG32(module_base + 0x2c), 0x30, INREG32(module_base + 0x30), 0x34, INREG32(module_base + 0x34)); DDPDUMP("ovl: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x38, INREG32(module_base + 0x38), 0x3c, INREG32(module_base + 0x3c), 0xf40, INREG32(module_base + 0xf40), 0x44, INREG32(module_base + 0x44)); DDPDUMP("ovl: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x48, INREG32(module_base + 0x48), 0x4c, INREG32(module_base + 0x4c), 0x50, INREG32(module_base + 0x50), 0x54, INREG32(module_base + 0x54)); DDPDUMP("ovl: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x58, INREG32(module_base + 0x58), 0x5c, INREG32(module_base + 0x5c), 0xf60, INREG32(module_base + 0xf60), 0x64, INREG32(module_base + 0x64)); DDPDUMP("ovl: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x68, INREG32(module_base + 0x68), 0x6c, INREG32(module_base + 0x6c), 0x70, INREG32(module_base + 0x70), 0x74, INREG32(module_base + 0x74)); DDPDUMP("ovl: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x78, INREG32(module_base + 0x78), 0x7c, INREG32(module_base + 0x7c), 0xf80, INREG32(module_base + 0xf80), 0x84, INREG32(module_base + 0x84)); DDPDUMP("ovl: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x88, INREG32(module_base + 0x88), 0x8c, INREG32(module_base + 0x8c), 0x90, INREG32(module_base + 0x90), 0x94, INREG32(module_base + 0x94)); DDPDUMP("ovl: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x98, INREG32(module_base + 0x98), 0x9c, INREG32(module_base + 0x9c), 0xfa0, INREG32(module_base + 0xfa0), 0xa4, INREG32(module_base + 0xa4)); DDPDUMP("ovl: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0xa8, INREG32(module_base + 0xa8), 0xac, INREG32(module_base + 0xac), 0xc0, INREG32(module_base + 0xc0), 0xc8, INREG32(module_base + 0xc8)); DDPDUMP("ovl: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0xcc, INREG32(module_base + 0xcc), 0xd0, INREG32(module_base + 0xd0), 0xe0, INREG32(module_base + 0xe0), 0xe8, INREG32(module_base + 0xe8)); DDPDUMP("ovl: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0xec, INREG32(module_base + 0xec), 0xf0, INREG32(module_base + 0xf0), 0x100, INREG32(module_base + 0x100), 0x108, INREG32(module_base + 0x108)); DDPDUMP("ovl: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x10c, INREG32(module_base + 0x10c), 0x110, INREG32(module_base + 0x110), 0x120, INREG32(module_base + 0x120), 0x128, INREG32(module_base + 0x128)); DDPDUMP("ovl: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x12c, INREG32(module_base + 0x12c), 0x130, INREG32(module_base + 0x130), 0x1d4, INREG32(module_base + 0x1d4), 0x1dc, INREG32(module_base + 0x1dc)); DDPDUMP("ovl: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x1e0, INREG32(module_base + 0x1e0), 0x1e4, INREG32(module_base + 0x1e4), 0x1e8, INREG32(module_base + 0x1e8), 0x1ec, INREG32(module_base + 0x1ec)); DDPDUMP("ovl: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x1f0, INREG32(module_base + 0x1f0), 0x1f4, INREG32(module_base + 0x1f4), 0x1f8, INREG32(module_base + 0x1f8), 0x1fc, INREG32(module_base + 0x1fc)); DDPDUMP("ovl: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x200, INREG32(module_base + 0x200), 0x208, INREG32(module_base + 0x208), 0x20c, INREG32(module_base + 0x20c), 0x210, INREG32(module_base + 0x210)); DDPDUMP("ovl: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x214, INREG32(module_base + 0x214), 0x218, INREG32(module_base + 0x218), 0x21c, INREG32(module_base + 0x21c), 0x220, INREG32(module_base + 0x220)); DDPDUMP("ovl: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x224, INREG32(module_base + 0x224), 0x228, INREG32(module_base + 0x228), 0x22c, INREG32(module_base + 0x22c), 0x230, INREG32(module_base + 0x230)); DDPDUMP("ovl: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x234, INREG32(module_base + 0x234), 0x238, INREG32(module_base + 0x238), 0x240, INREG32(module_base + 0x240), 0x244, INREG32(module_base + 0x244)); DDPDUMP("ovl: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x24c, INREG32(module_base + 0x24c), 0x250, INREG32(module_base + 0x250), 0x254, INREG32(module_base + 0x254), 0x258, INREG32(module_base + 0x258)); DDPDUMP("ovl: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x25c, INREG32(module_base + 0x25c), 0x260, INREG32(module_base + 0x260), 0x264, INREG32(module_base + 0x264), 0x268, INREG32(module_base + 0x268)); DDPDUMP("ovl: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x26c, INREG32(module_base + 0x26c), 0x270, INREG32(module_base + 0x270), 0x280, INREG32(module_base + 0x280), 0x284, INREG32(module_base + 0x284)); DDPDUMP("ovl: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x288, INREG32(module_base + 0x288), 0x28c, INREG32(module_base + 0x28c), 0x290, INREG32(module_base + 0x290), 0x29c, INREG32(module_base + 0x29c)); DDPDUMP("ovl: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x2a0, INREG32(module_base + 0x2a0), 0x2a4, INREG32(module_base + 0x2a4), 0x2b0, INREG32(module_base + 0x2b0), 0x2b4, INREG32(module_base + 0x2b4)); DDPDUMP("ovl: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x2b8, INREG32(module_base + 0x2b8), 0x2bc, INREG32(module_base + 0x2bc), 0x2c0, INREG32(module_base + 0x2c0), 0x2c4, INREG32(module_base + 0x2c4)); DDPDUMP("ovl: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x2c8, INREG32(module_base + 0x2c8), 0x324, INREG32(module_base + 0x324), 0x330, INREG32(module_base + 0x330), 0x334, INREG32(module_base + 0x334)); DDPDUMP("ovl: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x338, INREG32(module_base + 0x338), 0x33c, INREG32(module_base + 0x33c), 0xfb0, INREG32(module_base + 0xfb0), 0x344, INREG32(module_base + 0x344)); DDPDUMP("ovl: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x348, INREG32(module_base + 0x348), 0x34c, INREG32(module_base + 0x34c), 0x350, INREG32(module_base + 0x350), 0x354, INREG32(module_base + 0x354)); DDPDUMP("ovl: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x358, INREG32(module_base + 0x358), 0x35c, INREG32(module_base + 0x35c), 0xfb4, INREG32(module_base + 0xfb4), 0x364, INREG32(module_base + 0x364)); DDPDUMP("ovl: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x368, INREG32(module_base + 0x368), 0x36c, INREG32(module_base + 0x36c), 0x370, INREG32(module_base + 0x370), 0x374, INREG32(module_base + 0x374)); DDPDUMP("ovl: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x378, INREG32(module_base + 0x378), 0x37c, INREG32(module_base + 0x37c), 0xfb8, INREG32(module_base + 0xfb8), 0x384, INREG32(module_base + 0x384)); DDPDUMP("ovl: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x388, INREG32(module_base + 0x388), 0x38c, INREG32(module_base + 0x38c), 0x390, INREG32(module_base + 0x390), 0x394, INREG32(module_base + 0x394)); DDPDUMP("ovl: 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x398, INREG32(module_base + 0x398), 0xfc0, INREG32(module_base + 0xfc0)); DDPDUMP("-- END: DISP %s REGS --\n", ddp_get_module_name(module)); } void disp_pwm_dump_reg(enum DISP_MODULE_ENUM module) { unsigned long module_base = ddp_get_module_va(module); DDPDUMP("== START: DISP %s REGS ==\n", ddp_get_module_name(module)); DDPDUMP("pwm: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x0, INREG32(module_base + 0x0), 0x4, INREG32(module_base + 0x4), 0x8, INREG32(module_base + 0x8), 0xc, INREG32(module_base + 0xc)); DDPDUMP("pwm: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x10, INREG32(module_base + 0x10), 0x14, INREG32(module_base + 0x14), 0x18, INREG32(module_base + 0x18), 0x1c, INREG32(module_base + 0x1c)); DDPDUMP("pwm: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x80, INREG32(module_base + 0x80), 0x28, INREG32(module_base + 0x28), 0x2c, INREG32(module_base + 0x2c), 0x30, INREG32(module_base + 0x30)); DDPDUMP("pwm: 0x%04x=0x%08x\n", 0xc0, INREG32(module_base + 0xc0)); DDPDUMP("-- END: DISP %s REGS --\n", ddp_get_module_name(module)); } void disp_rdma_dump_reg(enum DISP_MODULE_ENUM module) { unsigned long module_base = ddp_get_module_va(module); DDPDUMP("== START: DISP %s REGS ==\n", ddp_get_module_name(module)); DDPDUMP("rdma: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x000, INREG32(module_base + 0x000), 0x004, INREG32(module_base + 0x004), 0x010, INREG32(module_base + 0x010), 0x014, INREG32(module_base + 0x014)); DDPDUMP("rdma: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x018, INREG32(module_base + 0x018), 0x01c, INREG32(module_base + 0x01c), 0x024, INREG32(module_base + 0x024), 0x02c, INREG32(module_base + 0x02c)); DDPDUMP("rdma: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x030, INREG32(module_base + 0x030), 0x034, INREG32(module_base + 0x034), 0x038, INREG32(module_base + 0x038), 0x03c, INREG32(module_base + 0x03c)); DDPDUMP("rdma: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x040, INREG32(module_base + 0x040), 0x044, INREG32(module_base + 0x044), 0x054, INREG32(module_base + 0x054), 0x058, INREG32(module_base + 0x058)); DDPDUMP("rdma: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x05c, INREG32(module_base + 0x05c), 0x060, INREG32(module_base + 0x060), 0x064, INREG32(module_base + 0x064), 0x068, INREG32(module_base + 0x068)); DDPDUMP("rdma: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x06c, INREG32(module_base + 0x06c), 0x070, INREG32(module_base + 0x070), 0x074, INREG32(module_base + 0x074), 0x078, INREG32(module_base + 0x078)); DDPDUMP("rdma: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x07c, INREG32(module_base + 0x07c), 0x080, INREG32(module_base + 0x080), 0x084, INREG32(module_base + 0x084), 0x088, INREG32(module_base + 0x088)); DDPDUMP("rdma: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x08c, INREG32(module_base + 0x08c), 0x090, INREG32(module_base + 0x090), 0x094, INREG32(module_base + 0x094), 0xf00, INREG32(module_base + 0xf00)); DDPDUMP("rdma: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x0a0, INREG32(module_base + 0x0a0), 0x0a4, INREG32(module_base + 0x0a4), 0x0a8, INREG32(module_base + 0x0a8), 0x0ac, INREG32(module_base + 0x0ac)); DDPDUMP("rdma: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x0b0, INREG32(module_base + 0x0b0), 0x0b4, INREG32(module_base + 0x0b4), 0x0bc, INREG32(module_base + 0x0bc), 0x0c0, INREG32(module_base + 0x0c0)); DDPDUMP("rdma: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x0d0, INREG32(module_base + 0x0d0), 0x0d4, INREG32(module_base + 0x0d4), 0x0d8, INREG32(module_base + 0x0d8), 0x0dc, INREG32(module_base + 0x0dc)); DDPDUMP("rdma: 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x0e0, INREG32(module_base + 0x0e0), 0x0e4, INREG32(module_base + 0x0e4)); DDPDUMP("-- END: DISP %s REGS --\n", ddp_get_module_name(module)); } void disp_wdma_dump_reg(enum DISP_MODULE_ENUM module) { unsigned long module_base = ddp_get_module_va(module); DDPDUMP("== START: DISP %s REGS ==\n", ddp_get_module_name(module)); DDPDUMP("wdma: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x0, INREG32(module_base + 0x0), 0x4, INREG32(module_base + 0x4), 0x8, INREG32(module_base + 0x8), 0xc, INREG32(module_base + 0xc)); DDPDUMP("wdma: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x10, INREG32(module_base + 0x10), 0x14, INREG32(module_base + 0x14), 0x18, INREG32(module_base + 0x18), 0x1c, INREG32(module_base + 0x1c)); DDPDUMP("wdma: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x20, INREG32(module_base + 0x20), 0x28, INREG32(module_base + 0x28), 0x2c, INREG32(module_base + 0x2c), 0x30, INREG32(module_base + 0x30)); DDPDUMP("wdma: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x38, INREG32(module_base + 0x38), 0x78, INREG32(module_base + 0x78), 0x80, INREG32(module_base + 0x80), 0x84, INREG32(module_base + 0x84)); DDPDUMP("wdma: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x88, INREG32(module_base + 0x88), 0xa0, INREG32(module_base + 0xa0), 0xa4, INREG32(module_base + 0xa4), 0xa8, INREG32(module_base + 0xa8)); DDPDUMP("wdma: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0xac, INREG32(module_base + 0xac), 0xb8, INREG32(module_base + 0xb8), 0x100, INREG32(module_base + 0x100), 0x104, INREG32(module_base + 0x104)); DDPDUMP("wdma: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x108, INREG32(module_base + 0x108), 0x200, INREG32(module_base + 0x200), 0x204, INREG32(module_base + 0x204), 0x208, INREG32(module_base + 0x208)); DDPDUMP("wdma: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x20c, INREG32(module_base + 0x20c), 0x210, INREG32(module_base + 0x210), 0x214, INREG32(module_base + 0x214), 0x218, INREG32(module_base + 0x218)); DDPDUMP("wdma: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x21c, INREG32(module_base + 0x21c), 0x220, INREG32(module_base + 0x220), 0x224, INREG32(module_base + 0x224), 0x228, INREG32(module_base + 0x228)); DDPDUMP("wdma: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x22c, INREG32(module_base + 0x22c), 0x230, INREG32(module_base + 0x230), 0x234, INREG32(module_base + 0x234), 0x250, INREG32(module_base + 0x250)); DDPDUMP("wdma: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x254, INREG32(module_base + 0x254), 0x258, INREG32(module_base + 0x258), 0x25c, INREG32(module_base + 0x25c), 0xf00, INREG32(module_base + 0xf00)); DDPDUMP("wdma: 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0xf04, INREG32(module_base + 0xf04), 0xf08, INREG32(module_base + 0xf08)); DDPDUMP("-- END: DISP %s REGS --\n", ddp_get_module_name(module)); } void mipi_tx_config_dump_reg(enum DISP_MODULE_ENUM module) { unsigned long module_base = ddp_get_module_va(module); DDPDUMP("== START: DISP %s REGS ==\n", ddp_get_module_name(module)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x00c, INREG32(module_base + 0x00c), 0x010, INREG32(module_base + 0x010), 0x014, INREG32(module_base + 0x014), 0x018, INREG32(module_base + 0x018)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x028, INREG32(module_base + 0x028), 0x02c, INREG32(module_base + 0x02c), 0x030, INREG32(module_base + 0x030), 0x034, INREG32(module_base + 0x034)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x038, INREG32(module_base + 0x038), 0x03c, INREG32(module_base + 0x03c), 0x040, INREG32(module_base + 0x040), 0x044, INREG32(module_base + 0x044)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x068, INREG32(module_base + 0x068), 0x070, INREG32(module_base + 0x070), 0x078, INREG32(module_base + 0x078), 0x100, INREG32(module_base + 0x100)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x104, INREG32(module_base + 0x104), 0x108, INREG32(module_base + 0x108), 0x10c, INREG32(module_base + 0x10c), 0x110, INREG32(module_base + 0x110)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x114, INREG32(module_base + 0x114), 0x118, INREG32(module_base + 0x118), 0x11c, INREG32(module_base + 0x11c), 0x120, INREG32(module_base + 0x120)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x124, INREG32(module_base + 0x124), 0x128, INREG32(module_base + 0x128), 0x130, INREG32(module_base + 0x130), 0x140, INREG32(module_base + 0x140)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x144, INREG32(module_base + 0x144), 0x148, INREG32(module_base + 0x148), 0x14c, INREG32(module_base + 0x14c), 0x150, INREG32(module_base + 0x150)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x154, INREG32(module_base + 0x154), 0x158, INREG32(module_base + 0x158), 0x15c, INREG32(module_base + 0x15c), 0x160, INREG32(module_base + 0x160)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x164, INREG32(module_base + 0x164), 0x180, INREG32(module_base + 0x180), 0x184, INREG32(module_base + 0x184), 0x188, INREG32(module_base + 0x188)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x18c, INREG32(module_base + 0x18c), 0x190, INREG32(module_base + 0x190), 0x194, INREG32(module_base + 0x194), 0x198, INREG32(module_base + 0x198)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x19c, INREG32(module_base + 0x19c), 0x1c0, INREG32(module_base + 0x1c0), 0x1c4, INREG32(module_base + 0x1c4), 0x200, INREG32(module_base + 0x200)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x204, INREG32(module_base + 0x204), 0x208, INREG32(module_base + 0x208), 0x20c, INREG32(module_base + 0x20c), 0x210, INREG32(module_base + 0x210)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x214, INREG32(module_base + 0x214), 0x218, INREG32(module_base + 0x218), 0x21c, INREG32(module_base + 0x21c), 0x220, INREG32(module_base + 0x220)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x224, INREG32(module_base + 0x224), 0x228, INREG32(module_base + 0x228), 0x230, INREG32(module_base + 0x230), 0x240, INREG32(module_base + 0x240)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x244, INREG32(module_base + 0x244), 0x248, INREG32(module_base + 0x248), 0x24c, INREG32(module_base + 0x24c), 0x250, INREG32(module_base + 0x250)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x254, INREG32(module_base + 0x254), 0x258, INREG32(module_base + 0x258), 0x25c, INREG32(module_base + 0x25c), 0x260, INREG32(module_base + 0x260)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x264, INREG32(module_base + 0x264), 0x280, INREG32(module_base + 0x280), 0x284, INREG32(module_base + 0x284), 0x288, INREG32(module_base + 0x288)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x28c, INREG32(module_base + 0x28c), 0x290, INREG32(module_base + 0x290), 0x294, INREG32(module_base + 0x294), 0x298, INREG32(module_base + 0x298)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x29c, INREG32(module_base + 0x29c), 0x2c0, INREG32(module_base + 0x2c0), 0x2c4, INREG32(module_base + 0x2c4), 0x300, INREG32(module_base + 0x300)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x304, INREG32(module_base + 0x304), 0x308, INREG32(module_base + 0x308), 0x30c, INREG32(module_base + 0x30c), 0x310, INREG32(module_base + 0x310)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x314, INREG32(module_base + 0x314), 0x318, INREG32(module_base + 0x318), 0x31c, INREG32(module_base + 0x31c), 0x320, INREG32(module_base + 0x320)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x324, INREG32(module_base + 0x324), 0x328, INREG32(module_base + 0x328), 0x330, INREG32(module_base + 0x330), 0x340, INREG32(module_base + 0x340)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x344, INREG32(module_base + 0x344), 0x348, INREG32(module_base + 0x348), 0x34c, INREG32(module_base + 0x34c), 0x350, INREG32(module_base + 0x350)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x354, INREG32(module_base + 0x354), 0x358, INREG32(module_base + 0x358), 0x35c, INREG32(module_base + 0x35c), 0x360, INREG32(module_base + 0x360)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x364, INREG32(module_base + 0x364), 0x380, INREG32(module_base + 0x380), 0x384, INREG32(module_base + 0x384), 0x388, INREG32(module_base + 0x388)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x38c, INREG32(module_base + 0x38c), 0x390, INREG32(module_base + 0x390), 0x394, INREG32(module_base + 0x394), 0x398, INREG32(module_base + 0x398)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x39c, INREG32(module_base + 0x39c), 0x3c0, INREG32(module_base + 0x3c0), 0x3c4, INREG32(module_base + 0x3c4), 0x400, INREG32(module_base + 0x400)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x404, INREG32(module_base + 0x404), 0x408, INREG32(module_base + 0x408), 0x40c, INREG32(module_base + 0x40c), 0x410, INREG32(module_base + 0x410)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x414, INREG32(module_base + 0x414), 0x418, INREG32(module_base + 0x418), 0x41c, INREG32(module_base + 0x41c), 0x420, INREG32(module_base + 0x420)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x424, INREG32(module_base + 0x424), 0x428, INREG32(module_base + 0x428), 0x430, INREG32(module_base + 0x430), 0x440, INREG32(module_base + 0x440)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x444, INREG32(module_base + 0x444), 0x448, INREG32(module_base + 0x448), 0x44c, INREG32(module_base + 0x44c), 0x450, INREG32(module_base + 0x450)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x454, INREG32(module_base + 0x454), 0x458, INREG32(module_base + 0x458), 0x45c, INREG32(module_base + 0x45c), 0x460, INREG32(module_base + 0x460)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x464, INREG32(module_base + 0x464), 0x480, INREG32(module_base + 0x480), 0x484, INREG32(module_base + 0x484), 0x488, INREG32(module_base + 0x488)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x48c, INREG32(module_base + 0x48c), 0x490, INREG32(module_base + 0x490), 0x494, INREG32(module_base + 0x494), 0x498, INREG32(module_base + 0x498)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x49c, INREG32(module_base + 0x49c), 0x4c0, INREG32(module_base + 0x4c0), 0x4c4, INREG32(module_base + 0x4c4), 0x500, INREG32(module_base + 0x500)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x504, INREG32(module_base + 0x504), 0x508, INREG32(module_base + 0x508), 0x50c, INREG32(module_base + 0x50c), 0x510, INREG32(module_base + 0x510)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x514, INREG32(module_base + 0x514), 0x518, INREG32(module_base + 0x518), 0x51c, INREG32(module_base + 0x51c), 0x520, INREG32(module_base + 0x520)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x524, INREG32(module_base + 0x524), 0x528, INREG32(module_base + 0x528), 0x530, INREG32(module_base + 0x530), 0x540, INREG32(module_base + 0x540)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x544, INREG32(module_base + 0x544), 0x548, INREG32(module_base + 0x548), 0x54c, INREG32(module_base + 0x54c), 0x550, INREG32(module_base + 0x550)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x554, INREG32(module_base + 0x554), 0x558, INREG32(module_base + 0x558), 0x55c, INREG32(module_base + 0x55c), 0x560, INREG32(module_base + 0x560)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x564, INREG32(module_base + 0x564), 0x580, INREG32(module_base + 0x580), 0x584, INREG32(module_base + 0x584), 0x588, INREG32(module_base + 0x588)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x58c, INREG32(module_base + 0x58c), 0x590, INREG32(module_base + 0x590), 0x594, INREG32(module_base + 0x594), 0x598, INREG32(module_base + 0x598)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x59c, INREG32(module_base + 0x59c), 0x5c0, INREG32(module_base + 0x5c0), 0x5c4, INREG32(module_base + 0x5c4), 0x600, INREG32(module_base + 0x600)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x604, INREG32(module_base + 0x604), 0x608, INREG32(module_base + 0x608), 0x60c, INREG32(module_base + 0x60c), 0x610, INREG32(module_base + 0x610)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x614, INREG32(module_base + 0x614), 0x618, INREG32(module_base + 0x618), 0x61c, INREG32(module_base + 0x61c), 0x620, INREG32(module_base + 0x620)); DDPDUMP("mipi_tx: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x624, INREG32(module_base + 0x624), 0x628, INREG32(module_base + 0x628), 0x62c, INREG32(module_base + 0x62c), 0x630, INREG32(module_base + 0x630)); DDPDUMP("mipi_tx:\n"); DDPDUMP("-- END: DISP %s REGS --\n", ddp_get_module_name(module)); } void mmsys_config_dump_reg(enum DISP_MODULE_ENUM module) { unsigned long module_base = ddp_get_module_va(module); DDPDUMP("== START: DISP %s REGS ==\n", ddp_get_module_name(module)); DDPDUMP("mmsys: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x000, INREG32(module_base + 0x000), 0x004, INREG32(module_base + 0x004), 0x00c, INREG32(module_base + 0x00c), 0x010, INREG32(module_base + 0x010)); DDPDUMP("mmsys: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x014, INREG32(module_base + 0x014), 0x018, INREG32(module_base + 0x018), 0x020, INREG32(module_base + 0x020), 0x024, INREG32(module_base + 0x024)); DDPDUMP("mmsys: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x028, INREG32(module_base + 0x028), 0x034, INREG32(module_base + 0x034), 0x038, INREG32(module_base + 0x038), 0x0f0, INREG32(module_base + 0x0f0)); DDPDUMP("mmsys: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x0f8, INREG32(module_base + 0x0f8), 0x100, INREG32(module_base + 0x100), 0x104, INREG32(module_base + 0x104), 0x108, INREG32(module_base + 0x108)); DDPDUMP("mmsys: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x110, INREG32(module_base + 0x110), 0x114, INREG32(module_base + 0x114), 0x118, INREG32(module_base + 0x118), 0x120, INREG32(module_base + 0x120)); DDPDUMP("mmsys: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x124, INREG32(module_base + 0x124), 0x128, INREG32(module_base + 0x128), 0x130, INREG32(module_base + 0x130), 0x134, INREG32(module_base + 0x134)); DDPDUMP("mmsys: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x138, INREG32(module_base + 0x138), 0x140, INREG32(module_base + 0x140), 0x144, INREG32(module_base + 0x144), 0x150, INREG32(module_base + 0x150)); DDPDUMP("mmsys: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x190, INREG32(module_base + 0x190), 0x200, INREG32(module_base + 0x200), 0x204, INREG32(module_base + 0x204), 0x208, INREG32(module_base + 0x208)); DDPDUMP("mmsys: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x20c, INREG32(module_base + 0x20c), 0x210, INREG32(module_base + 0x210), 0x214, INREG32(module_base + 0x214), 0x218, INREG32(module_base + 0x218)); DDPDUMP("mmsys: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x800, INREG32(module_base + 0x800), 0x804, INREG32(module_base + 0x804), 0x808, INREG32(module_base + 0x808), 0x80c, INREG32(module_base + 0x80c)); DDPDUMP("mmsys: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x810, INREG32(module_base + 0x810), 0x814, INREG32(module_base + 0x814), 0x818, INREG32(module_base + 0x818), 0x81c, INREG32(module_base + 0x81c)); DDPDUMP("mmsys: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x820, INREG32(module_base + 0x820), 0x824, INREG32(module_base + 0x824), 0x828, INREG32(module_base + 0x828), 0x82c, INREG32(module_base + 0x82c)); DDPDUMP("mmsys: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x830, INREG32(module_base + 0x830), 0x834, INREG32(module_base + 0x834), 0x838, INREG32(module_base + 0x838), 0x83c, INREG32(module_base + 0x83c)); DDPDUMP("mmsys: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x840, INREG32(module_base + 0x840), 0x848, INREG32(module_base + 0x848), 0x84c, INREG32(module_base + 0x84c), 0x854, INREG32(module_base + 0x854)); DDPDUMP("mmsys: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x858, INREG32(module_base + 0x858), 0x85c, INREG32(module_base + 0x85c), 0x864, INREG32(module_base + 0x864), 0x868, INREG32(module_base + 0x868)); DDPDUMP("mmsys: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x870, INREG32(module_base + 0x870), 0x874, INREG32(module_base + 0x874), 0x88c, INREG32(module_base + 0x88c), 0x890, INREG32(module_base + 0x890)); DDPDUMP("mmsys: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x894, INREG32(module_base + 0x894), 0x898, INREG32(module_base + 0x898), 0x89c, INREG32(module_base + 0x89c), 0x8a0, INREG32(module_base + 0x8a0)); DDPDUMP("mmsys: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x8a4, INREG32(module_base + 0x8a4), 0x8a8, INREG32(module_base + 0x8a8), 0x8ac, INREG32(module_base + 0x8ac), 0x8b0, INREG32(module_base + 0x8b0)); DDPDUMP("mmsys: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0x8dc, INREG32(module_base + 0x8dc), 0x8f0, INREG32(module_base + 0x8f0), 0xf00, INREG32(module_base + 0xf00), 0xf04, INREG32(module_base + 0xf04)); DDPDUMP("mmsys: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0xf08, INREG32(module_base + 0xf08), 0xf0c, INREG32(module_base + 0xf0c), 0xf10, INREG32(module_base + 0xf10), 0xf14, INREG32(module_base + 0xf14)); DDPDUMP("mmsys: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0xf18, INREG32(module_base + 0xf18), 0xf1c, INREG32(module_base + 0xf1c), 0xf20, INREG32(module_base + 0xf20), 0xf24, INREG32(module_base + 0xf24)); DDPDUMP("mmsys: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0xf28, INREG32(module_base + 0xf28), 0xf2c, INREG32(module_base + 0xf2c), 0xf30, INREG32(module_base + 0xf30), 0xf34, INREG32(module_base + 0xf34)); DDPDUMP("mmsys: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0xf38, INREG32(module_base + 0xf38), 0xf3c, INREG32(module_base + 0xf3c), 0xf40, INREG32(module_base + 0xf40), 0xf44, INREG32(module_base + 0xf44)); DDPDUMP("mmsys: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0xf48, INREG32(module_base + 0xf48), 0xf4c, INREG32(module_base + 0xf4c), 0xf50, INREG32(module_base + 0xf50), 0xf54, INREG32(module_base + 0xf54)); DDPDUMP("mmsys: 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x, 0x%04x=0x%08x\n", 0xf58, INREG32(module_base + 0xf58), 0xf5c, INREG32(module_base + 0xf5c), 0xf60, INREG32(module_base + 0xf60), 0xf64, INREG32(module_base + 0xf64)); DDPDUMP("mmsys:\n"); DDPDUMP("-- END: DISP %s REGS --\n", ddp_get_module_name(module)); } void disp_split_dump_regs(enum DISP_MODULE_ENUM module) { DDPDUMP("No support the mdoule: %s\n", __func__); } /*************************Module reg dump end *********************/ int ddp_dump_reg(enum DISP_MODULE_ENUM module) { switch (module) { case DISP_MODULE_WDMA0: disp_wdma_dump_reg(module); break; case DISP_MODULE_RDMA0: case DISP_MODULE_RDMA1: disp_rdma_dump_reg(module); break; case DISP_MODULE_OVL0: case DISP_MODULE_OVL0_2L: case DISP_MODULE_OVL1_2L: disp_ovl_dump_reg(module); break; case DISP_MODULE_CONFIG: mmsys_config_dump_reg(module); break; case DISP_MODULE_MUTEX: disp_mutex_dump_reg(module); break; case DISP_MODULE_SPLIT0: disp_split_dump_regs(module); break; case DISP_MODULE_DSI0: disp_dsi_dump_reg(module); #ifndef CONFIG_FPGA_EARLY_PORTING mipi_tx_config_dump_reg(DISP_MODULE_MIPI0); #endif break; case DISP_MODULE_DSI1: disp_dsi_dump_reg(module); #ifndef CONFIG_FPGA_EARLY_PORTING mipi_tx_config_dump_reg(DISP_MODULE_MIPI1); #endif break; case DISP_MODULE_DSIDUAL: disp_dsi_dump_reg(DISP_MODULE_DSI0); disp_dsi_dump_reg(DISP_MODULE_DSI1); #ifndef CONFIG_FPGA_EARLY_PORTING mipi_tx_config_dump_reg(DISP_MODULE_MIPI0); mipi_tx_config_dump_reg(DISP_MODULE_MIPI1); #endif break; case DISP_MODULE_PWM0: if (disp_helper_get_option(DISP_OPT_REG_PARSER_RAW_DUMP)) disp_pwm_dump_reg(module); break; /******PQ start****/ case DISP_MODULE_GAMMA0: if (disp_helper_get_option(DISP_OPT_REG_PARSER_RAW_DUMP)) disp_gamma_dump_reg(module); break; case DISP_MODULE_COLOR0: if (disp_helper_get_option(DISP_OPT_REG_PARSER_RAW_DUMP)) disp_color_dump_reg(module); break; case DISP_MODULE_AAL0: if (disp_helper_get_option(DISP_OPT_REG_PARSER_RAW_DUMP)) disp_aal_dump_reg(module); break; case DISP_MODULE_CCORR0: if (disp_helper_get_option(DISP_OPT_REG_PARSER_RAW_DUMP)) disp_ccorr_dump_reg(module); break; case DISP_MODULE_DITHER0: if (disp_helper_get_option(DISP_OPT_REG_PARSER_RAW_DUMP)) disp_dither_dump_reg(module); break; /******PQ end****/ default: DDPDUMP("no dump_reg for module %s(%d)\n", ddp_get_module_name(module), module); } return 0; } int ddp_dump_analysis(enum DISP_MODULE_ENUM module) { switch (module) { case DISP_MODULE_WDMA0: wdma_dump_analysis(module); break; case DISP_MODULE_RDMA0: case DISP_MODULE_RDMA1: rdma_dump_analysis(module); break; case DISP_MODULE_OVL0: case DISP_MODULE_OVL0_2L: case DISP_MODULE_OVL1_2L: ovl_dump_analysis(module); break; case DISP_MODULE_GAMMA0: gamma_dump_analysis(module); break; case DISP_MODULE_CONFIG: mmsys_config_dump_analysis(); break; case DISP_MODULE_MUTEX: mutex_dump_analysis(); break; case DISP_MODULE_SPLIT0: split_dump_analysis(DISP_MODULE_SPLIT0); break; case DISP_MODULE_COLOR0: color_dump_analysis(module); break; case DISP_MODULE_AAL0: aal_dump_analysis(module); break; case DISP_MODULE_PWM0: pwm_dump_analysis(module); break; case DISP_MODULE_DSI0: case DISP_MODULE_DSI1: case DISP_MODULE_DSIDUAL: dsi_analysis(module); break; case DISP_MODULE_CCORR0: ccorr_dump_analyze(module); break; case DISP_MODULE_DITHER0: dither_dump_analyze(module); break; default: DDPDUMP("no dump_analysis for module %s(%d)\n", ddp_get_module_name(module), module); } return 0; }