disp: msm: sde: fix dsc/vdc register dump
DSC and VDC-M sub-block registers are not on contiguous address range. This change allows dumping the registers for each individual sub-block. Change-Id: I06dfc64562211370a0e29f6fc1134351c47722f6 Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
这个提交包含在:
@@ -240,8 +240,50 @@ struct sde_hw_dsc *sde_hw_dsc_init(enum sde_dsc idx,
|
||||
c->caps = cfg;
|
||||
if (test_bit(SDE_DSC_HW_REV_1_1, &c->caps->features)) {
|
||||
_setup_dsc_ops(&c->ops, c->caps->features);
|
||||
sde_dbg_reg_register_dump_range(SDE_DBG_NAME, cfg->name,
|
||||
c->hw.blk_off,
|
||||
c->hw.blk_off + c->hw.length,
|
||||
c->hw.xin_id);
|
||||
|
||||
if ((c->idx == DSC_0) &&
|
||||
test_bit(SDE_DSC_OUTPUT_CTRL, &cfg->features)) {
|
||||
dsc_ctl_offset = DSC_CTL(c->idx);
|
||||
sde_dbg_reg_register_dump_range(SDE_DBG_NAME,
|
||||
"dsc_ctl",
|
||||
c->hw.blk_off + dsc_ctl_offset,
|
||||
c->hw.blk_off + dsc_ctl_offset +
|
||||
DSC_CTL_BLOCK_SIZE,
|
||||
c->hw.xin_id);
|
||||
}
|
||||
} else if (test_bit(SDE_DSC_HW_REV_1_2, &c->caps->features)) {
|
||||
char blk_name[32];
|
||||
|
||||
sde_dsc1_2_setup_ops(&c->ops, c->caps->features);
|
||||
|
||||
sde_dbg_reg_register_dump_range(SDE_DBG_NAME, cfg->name,
|
||||
c->hw.blk_off,
|
||||
c->hw.blk_off + c->hw.length,
|
||||
c->hw.xin_id);
|
||||
|
||||
snprintf(blk_name, sizeof(blk_name), "dsc_enc_%u",
|
||||
c->idx - DSC_0);
|
||||
|
||||
sde_dbg_reg_register_dump_range(SDE_DBG_NAME,
|
||||
blk_name,
|
||||
c->hw.blk_off + c->caps->sblk->enc.base,
|
||||
c->hw.blk_off + c->caps->sblk->enc.base +
|
||||
c->caps->sblk->enc.len,
|
||||
c->hw.xin_id);
|
||||
|
||||
snprintf(blk_name, sizeof(blk_name), "dsc_ctl_%u",
|
||||
c->idx - DSC_0);
|
||||
|
||||
sde_dbg_reg_register_dump_range(SDE_DBG_NAME,
|
||||
blk_name,
|
||||
c->hw.blk_off + c->caps->sblk->ctl.base,
|
||||
c->hw.blk_off + c->caps->sblk->ctl.base +
|
||||
c->caps->sblk->ctl.len,
|
||||
c->hw.xin_id);
|
||||
} else {
|
||||
SDE_ERROR("failed to setup ops\n");
|
||||
goto blk_init_error;
|
||||
@@ -253,17 +295,7 @@ struct sde_hw_dsc *sde_hw_dsc_init(enum sde_dsc idx,
|
||||
goto blk_init_error;
|
||||
}
|
||||
|
||||
sde_dbg_reg_register_dump_range(SDE_DBG_NAME, cfg->name, c->hw.blk_off,
|
||||
c->hw.blk_off + c->hw.length, c->hw.xin_id);
|
||||
|
||||
if ((c->idx == DSC_0) &&
|
||||
test_bit(SDE_DSC_OUTPUT_CTRL, &cfg->features)) {
|
||||
dsc_ctl_offset = DSC_CTL(c->idx);
|
||||
sde_dbg_reg_register_dump_range(SDE_DBG_NAME, "dsc_ctl",
|
||||
c->hw.blk_off + dsc_ctl_offset,
|
||||
c->hw.blk_off + dsc_ctl_offset + DSC_CTL_BLOCK_SIZE,
|
||||
c->hw.xin_id);
|
||||
}
|
||||
|
||||
return c;
|
||||
|
||||
|
在新工单中引用
屏蔽一个用户