disp: msm: sde: add hardware catalog support for VDC-m block

Add hardware catalog support for VDC-m block to parse
the register offsets and feature capabilities.

Change-Id: I1bfbc4b6e7e9f34738d49fecdef4b427a0ccded7
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
这个提交包含在:
Abhinav Kumar
2019-08-21 16:50:06 -07:00
提交者 Gerrit - the friendly Code Review server
父节点 3e0f65f882
当前提交 88a43f2441
修改 3 个文件,包含 158 行新增1 行删除

查看文件

@@ -404,6 +404,19 @@ enum {
SDE_DSC_MAX
};
/** VDC sub-blocks/features
* @SDE_VDC_HW_REV_1_1 vdc block supports vdc 1.1 only
* @SDE_VDC_ENC vdc encoder sub block
* @SDE_VDC_CTL vdc ctl sub block
* @SDE_VDC_MAX
*/
enum {
SDE_VDC_HW_REV_1_1,
SDE_VDC_ENC,
SDE_VDC_CTL,
SDE_VDC_MAX
};
/**
* CTL sub-blocks
* @SDE_CTL_SPLIT_DISPLAY CTL supports video mode split display
@@ -594,6 +607,14 @@ struct sde_dsc_blk {
SDE_HW_SUBBLK_INFO;
};
/**
* struct sde_vdc_blk : VDC Encoder sub-blk information
* @info: HW register and features supported by this sub-blk
*/
struct sde_vdc_blk {
SDE_HW_SUBBLK_INFO;
};
/**
* struct sde_format_extended - define sde specific pixel format+modifier
* @fourcc_format: Base FOURCC pixel format code
@@ -760,6 +781,15 @@ struct sde_dsc_sub_blks {
struct sde_dsc_blk ctl;
};
/**
* struct sde_vdc_sub_blks : VDC sub-blks
*
*/
struct sde_vdc_sub_blks {
struct sde_vdc_blk enc;
struct sde_vdc_blk ctl;
};
struct sde_wb_sub_blocks {
u32 maxlinewidth;
};
@@ -993,6 +1023,20 @@ struct sde_dsc_cfg {
struct sde_dsc_sub_blks *sblk;
};
/**
* struct sde_vdc_cfg - information of VDC blocks
* @id enum identifying this block
* @base register offset of this block
* @len: length of hardware block
* @features bit mask identifying sub-blocks/features
* @enc VDC encoder register offset(relative to VDC base)
* @ctl VDC Control register offset(relative to VDC base)
*/
struct sde_vdc_cfg {
SDE_HW_BLK_INFO;
struct sde_vdc_sub_blks *sblk;
};
/**
* struct sde_cdm_cfg - information of chroma down blocks
* @id enum identifying this block
@@ -1442,6 +1486,9 @@ struct sde_mdss_cfg {
u32 dsc_count;
struct sde_dsc_cfg dsc[MAX_BLOCKS];
u32 vdc_count;
struct sde_vdc_cfg vdc[MAX_BLOCKS];
u32 cdm_count;
struct sde_cdm_cfg cdm[MAX_BLOCKS];