disp: add rev checks for bengal target
Add revision checks to support bengal target for dpu and rotation driver. Change-Id: I7eb8bd2943b94ab246889b1f74cd9613aeee2b2f Signed-off-by: Yashwanth <yvulapu@codeaurora.org>
This commit is contained in:
@@ -4235,6 +4235,19 @@ static int _sde_hardware_pre_caps(struct sde_mdss_cfg *sde_cfg, uint32_t hw_rev)
|
||||
sde_cfg->sui_block_xin_mask = 0xC61;
|
||||
sde_cfg->has_hdr = false;
|
||||
sde_cfg->has_sui_blendstage = true;
|
||||
} else if (IS_BENGAL_TARGET(hw_rev)) {
|
||||
sde_cfg->has_cwb_support = false;
|
||||
sde_cfg->has_qsync = true;
|
||||
sde_cfg->perf.min_prefill_lines = 24;
|
||||
sde_cfg->vbif_qos_nlvl = 8;
|
||||
sde_cfg->ts_prefill_rev = 2;
|
||||
sde_cfg->ctl_rev = SDE_CTL_CFG_VERSION_1_0_0;
|
||||
sde_cfg->delay_prg_fetch_start = true;
|
||||
sde_cfg->sui_ns_allowed = true;
|
||||
sde_cfg->sui_misr_supported = true;
|
||||
sde_cfg->sui_block_xin_mask = 0xC01;
|
||||
sde_cfg->has_hdr = false;
|
||||
sde_cfg->has_sui_blendstage = true;
|
||||
} else {
|
||||
SDE_ERROR("unsupported chipset id:%X\n", hw_rev);
|
||||
sde_cfg->perf.min_prefill_lines = 0xffff;
|
||||
|
@@ -53,6 +53,7 @@
|
||||
#define SDE_HW_VER_540 SDE_HW_VER(5, 4, 0) /* sdmtrinket v1.0 */
|
||||
#define SDE_HW_VER_600 SDE_HW_VER(6, 0, 0) /* kona */
|
||||
#define SDE_HW_VER_610 SDE_HW_VER(6, 1, 0) /* sm7250 */
|
||||
#define SDE_HW_VER_630 SDE_HW_VER(6, 3, 0) /* bengal */
|
||||
|
||||
#define IS_MSM8996_TARGET(rev) IS_SDE_MAJOR_MINOR_SAME((rev), SDE_HW_VER_170)
|
||||
#define IS_MSM8998_TARGET(rev) IS_SDE_MAJOR_MINOR_SAME((rev), SDE_HW_VER_300)
|
||||
@@ -65,6 +66,7 @@
|
||||
#define IS_SDMTRINKET_TARGET(rev) IS_SDE_MAJOR_MINOR_SAME((rev), SDE_HW_VER_540)
|
||||
#define IS_KONA_TARGET(rev) IS_SDE_MAJOR_MINOR_SAME((rev), SDE_HW_VER_600)
|
||||
#define IS_SAIPAN_TARGET(rev) IS_SDE_MAJOR_MINOR_SAME((rev), SDE_HW_VER_610)
|
||||
#define IS_BENGAL_TARGET(rev) IS_SDE_MAJOR_MINOR_SAME((rev), SDE_HW_VER_630)
|
||||
|
||||
#define SDE_HW_BLK_NAME_LEN 16
|
||||
|
||||
|
@@ -287,7 +287,8 @@ static void _setup_mixer_ops(struct sde_mdss_cfg *m,
|
||||
IS_SDMMAGPIE_TARGET(m->hwversion) ||
|
||||
IS_KONA_TARGET(m->hwversion) ||
|
||||
IS_SAIPAN_TARGET(m->hwversion) ||
|
||||
IS_SDMTRINKET_TARGET(m->hwversion))
|
||||
IS_SDMTRINKET_TARGET(m->hwversion) ||
|
||||
IS_BENGAL_TARGET(m->hwversion))
|
||||
ops->setup_blend_config = sde_hw_lm_setup_blend_config_sdm845;
|
||||
else
|
||||
ops->setup_blend_config = sde_hw_lm_setup_blend_config;
|
||||
|
@@ -236,7 +236,8 @@ static void _setup_vbif_ops(const struct sde_mdss_cfg *m,
|
||||
ops->set_qos_remap = sde_hw_set_qos_remap;
|
||||
if (IS_SM8150_TARGET(m->hwversion) || IS_SM6150_TARGET(m->hwversion) ||
|
||||
IS_SDMMAGPIE_TARGET(m->hwversion) ||
|
||||
IS_SDMTRINKET_TARGET(m->hwversion))
|
||||
IS_SDMTRINKET_TARGET(m->hwversion) ||
|
||||
IS_BENGAL_TARGET(m->hwversion))
|
||||
ops->set_mem_type = sde_hw_set_mem_type_v1;
|
||||
else
|
||||
ops->set_mem_type = sde_hw_set_mem_type;
|
||||
|
@@ -45,6 +45,7 @@
|
||||
#define SDE_MDP_HW_REV_530 SDE_MDP_REV(5, 3, 0) /* sm6150 v1.0 */
|
||||
#define SDE_MDP_HW_REV_540 SDE_MDP_REV(5, 4, 0) /* sdmtrinket v1.0 */
|
||||
#define SDE_MDP_HW_REV_600 SDE_MDP_REV(6, 0, 0) /* msmnile+ v1.0 */
|
||||
#define SDE_MDP_HW_REV_630 SDE_MDP_REV(6, 3, 0) /* bengal v1.0 */
|
||||
|
||||
#define SDE_MDP_VBIF_4_LEVEL_REMAPPER 4
|
||||
#define SDE_MDP_VBIF_8_LEVEL_REMAPPER 8
|
||||
|
@@ -3271,6 +3271,21 @@ static int sde_rotator_hw_rev_init(struct sde_hw_rotator *rot)
|
||||
ARRAY_SIZE(sde_hw_rotator_v4_outpixfmts_sbuf);
|
||||
rot->downscale_caps =
|
||||
"LINEAR/1.5/2/4/8/16/32/64 TILE/1.5/2/4 TP10/1.5/2";
|
||||
} else if (IS_SDE_MAJOR_MINOR_SAME(mdata->mdss_version,
|
||||
SDE_MDP_HW_REV_630)) {
|
||||
SDEROT_DBG("Sys cache inline rotation not supported\n");
|
||||
set_bit(SDE_CAPS_PARTIALWR, mdata->sde_caps_map);
|
||||
set_bit(SDE_CAPS_HW_TIMESTAMP, mdata->sde_caps_map);
|
||||
rot->inpixfmts[SDE_ROTATOR_MODE_OFFLINE] =
|
||||
sde_hw_rotator_v4_inpixfmts;
|
||||
rot->num_inpixfmt[SDE_ROTATOR_MODE_OFFLINE] =
|
||||
ARRAY_SIZE(sde_hw_rotator_v4_inpixfmts);
|
||||
rot->outpixfmts[SDE_ROTATOR_MODE_OFFLINE] =
|
||||
sde_hw_rotator_v4_outpixfmts;
|
||||
rot->num_outpixfmt[SDE_ROTATOR_MODE_OFFLINE] =
|
||||
ARRAY_SIZE(sde_hw_rotator_v4_outpixfmts);
|
||||
rot->downscale_caps =
|
||||
"LINEAR/1.5/2/4/8/16/32/64 TILE/1.5/2/4 TP10/1.5/2";
|
||||
} else {
|
||||
rot->inpixfmts[SDE_ROTATOR_MODE_OFFLINE] =
|
||||
sde_hw_rotator_v3_inpixfmts;
|
||||
|
Reference in New Issue
Block a user