Loading drivers/gpu/drm/msm/sde/sde_hw_catalog.c +11 −4 Original line number Diff line number Diff line Loading @@ -1768,7 +1768,7 @@ static int sde_intf_parse_dt(struct device_node *np, if (IS_SDE_CTL_REV_100(sde_cfg->ctl_rev)) set_bit(SDE_INTF_INPUT_CTRL, &intf->features); if (IS_SDE_MAJOR_MINOR_SAME((sde_cfg->hwversion), if (IS_SDE_MAJOR_SAME((sde_cfg->hwversion), SDE_HW_VER_500)) set_bit(SDE_INTF_TE, &intf->features); } Loading Loading @@ -3430,7 +3430,7 @@ static int sde_hardware_format_caps(struct sde_mdss_cfg *sde_cfg, virt_vig_list_size += ARRAY_SIZE(rgb_10bit_formats); if (IS_SDE_MAJOR_MINOR_SAME((hw_rev), SDE_HW_VER_400) || (IS_SDE_MAJOR_MINOR_SAME((hw_rev), SDE_HW_VER_410)) || (IS_SDE_MAJOR_MINOR_SAME((hw_rev), SDE_HW_VER_500))) (IS_SDE_MAJOR_SAME((hw_rev), SDE_HW_VER_500))) vig_list_size += ARRAY_SIZE(p010_ubwc_formats); wb2_list_size += ARRAY_SIZE(rgb_10bit_formats) Loading Loading @@ -3468,7 +3468,7 @@ static int sde_hardware_format_caps(struct sde_mdss_cfg *sde_cfg, if (IS_SDE_MAJOR_MINOR_SAME((hw_rev), SDE_HW_VER_300) || IS_SDE_MAJOR_MINOR_SAME((hw_rev), SDE_HW_VER_400) || IS_SDE_MAJOR_MINOR_SAME((hw_rev), SDE_HW_VER_410) || IS_SDE_MAJOR_MINOR_SAME((hw_rev), SDE_HW_VER_500)) IS_SDE_MAJOR_SAME((hw_rev), SDE_HW_VER_500)) sde_cfg->has_hdr = true; index = sde_copy_formats(sde_cfg->dma_formats, dma_list_size, Loading @@ -3486,7 +3486,7 @@ static int sde_hardware_format_caps(struct sde_mdss_cfg *sde_cfg, index, p010_formats, ARRAY_SIZE(p010_formats)); if (IS_SDE_MAJOR_MINOR_SAME((hw_rev), SDE_HW_VER_400) || (IS_SDE_MAJOR_MINOR_SAME((hw_rev), SDE_HW_VER_410)) || (IS_SDE_MAJOR_MINOR_SAME((hw_rev), SDE_HW_VER_500))) (IS_SDE_MAJOR_SAME((hw_rev), SDE_HW_VER_500))) index += sde_copy_formats(sde_cfg->vig_formats, vig_list_size, index, p010_ubwc_formats, ARRAY_SIZE(p010_ubwc_formats)); Loading Loading @@ -3544,6 +3544,13 @@ static int _sde_hardware_pre_caps(struct sde_mdss_cfg *sde_cfg, uint32_t hw_rev) sde_cfg->ctl_rev = SDE_CTL_CFG_VERSION_1_0_0; sde_cfg->delay_prg_fetch_start = true; sde_cfg->sui_ns_allowed = true; } else if (IS_SDMSHRIKE_TARGET(hw_rev)) { sde_cfg->has_wb_ubwc = 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; } else { SDE_ERROR("unsupported chipset id:%X\n", hw_rev); sde_cfg->perf.min_prefill_lines = 0xffff; Loading drivers/gpu/drm/msm/sde/sde_hw_catalog.h +5 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,9 @@ #define SDE_HW_STEP(rev) ((rev) & 0xFFFF) #define SDE_HW_MAJOR_MINOR(rev) ((rev) >> 16) #define IS_SDE_MAJOR_SAME(rev1, rev2) \ (SDE_HW_MAJOR((rev1)) == SDE_HW_MAJOR((rev2))) #define IS_SDE_MAJOR_MINOR_SAME(rev1, rev2) \ (SDE_HW_MAJOR_MINOR((rev1)) == SDE_HW_MAJOR_MINOR((rev2))) Loading @@ -49,12 +52,14 @@ #define SDE_HW_VER_410 SDE_HW_VER(4, 1, 0) /* sdm670 v1.0 */ #define SDE_HW_VER_500 SDE_HW_VER(5, 0, 0) /* sm8150 v1.0 */ #define SDE_HW_VER_501 SDE_HW_VER(5, 0, 1) /* sm8150 v2.0 */ #define SDE_HW_VER_510 SDE_HW_VER(5, 1, 0) /* sdmshrike v1.0 */ #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) #define IS_SDM845_TARGET(rev) IS_SDE_MAJOR_MINOR_SAME((rev), SDE_HW_VER_400) #define IS_SDM670_TARGET(rev) IS_SDE_MAJOR_MINOR_SAME((rev), SDE_HW_VER_410) #define IS_SM8150_TARGET(rev) IS_SDE_MAJOR_MINOR_SAME((rev), SDE_HW_VER_500) #define IS_SDMSHRIKE_TARGET(rev) IS_SDE_MAJOR_MINOR_SAME((rev), SDE_HW_VER_510) #define SDE_HW_BLK_NAME_LEN 16 Loading drivers/gpu/drm/msm/sde/sde_hw_lm.c +2 −1 Original line number Diff line number Diff line Loading @@ -263,7 +263,8 @@ static void _setup_mixer_ops(struct sde_mdss_cfg *m, { ops->setup_mixer_out = sde_hw_lm_setup_out; if (IS_SDM845_TARGET(m->hwversion) || IS_SDM670_TARGET(m->hwversion) || IS_SM8150_TARGET(m->hwversion)) IS_SM8150_TARGET(m->hwversion) || IS_SDMSHRIKE_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; Loading Loading
drivers/gpu/drm/msm/sde/sde_hw_catalog.c +11 −4 Original line number Diff line number Diff line Loading @@ -1768,7 +1768,7 @@ static int sde_intf_parse_dt(struct device_node *np, if (IS_SDE_CTL_REV_100(sde_cfg->ctl_rev)) set_bit(SDE_INTF_INPUT_CTRL, &intf->features); if (IS_SDE_MAJOR_MINOR_SAME((sde_cfg->hwversion), if (IS_SDE_MAJOR_SAME((sde_cfg->hwversion), SDE_HW_VER_500)) set_bit(SDE_INTF_TE, &intf->features); } Loading Loading @@ -3430,7 +3430,7 @@ static int sde_hardware_format_caps(struct sde_mdss_cfg *sde_cfg, virt_vig_list_size += ARRAY_SIZE(rgb_10bit_formats); if (IS_SDE_MAJOR_MINOR_SAME((hw_rev), SDE_HW_VER_400) || (IS_SDE_MAJOR_MINOR_SAME((hw_rev), SDE_HW_VER_410)) || (IS_SDE_MAJOR_MINOR_SAME((hw_rev), SDE_HW_VER_500))) (IS_SDE_MAJOR_SAME((hw_rev), SDE_HW_VER_500))) vig_list_size += ARRAY_SIZE(p010_ubwc_formats); wb2_list_size += ARRAY_SIZE(rgb_10bit_formats) Loading Loading @@ -3468,7 +3468,7 @@ static int sde_hardware_format_caps(struct sde_mdss_cfg *sde_cfg, if (IS_SDE_MAJOR_MINOR_SAME((hw_rev), SDE_HW_VER_300) || IS_SDE_MAJOR_MINOR_SAME((hw_rev), SDE_HW_VER_400) || IS_SDE_MAJOR_MINOR_SAME((hw_rev), SDE_HW_VER_410) || IS_SDE_MAJOR_MINOR_SAME((hw_rev), SDE_HW_VER_500)) IS_SDE_MAJOR_SAME((hw_rev), SDE_HW_VER_500)) sde_cfg->has_hdr = true; index = sde_copy_formats(sde_cfg->dma_formats, dma_list_size, Loading @@ -3486,7 +3486,7 @@ static int sde_hardware_format_caps(struct sde_mdss_cfg *sde_cfg, index, p010_formats, ARRAY_SIZE(p010_formats)); if (IS_SDE_MAJOR_MINOR_SAME((hw_rev), SDE_HW_VER_400) || (IS_SDE_MAJOR_MINOR_SAME((hw_rev), SDE_HW_VER_410)) || (IS_SDE_MAJOR_MINOR_SAME((hw_rev), SDE_HW_VER_500))) (IS_SDE_MAJOR_SAME((hw_rev), SDE_HW_VER_500))) index += sde_copy_formats(sde_cfg->vig_formats, vig_list_size, index, p010_ubwc_formats, ARRAY_SIZE(p010_ubwc_formats)); Loading Loading @@ -3544,6 +3544,13 @@ static int _sde_hardware_pre_caps(struct sde_mdss_cfg *sde_cfg, uint32_t hw_rev) sde_cfg->ctl_rev = SDE_CTL_CFG_VERSION_1_0_0; sde_cfg->delay_prg_fetch_start = true; sde_cfg->sui_ns_allowed = true; } else if (IS_SDMSHRIKE_TARGET(hw_rev)) { sde_cfg->has_wb_ubwc = 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; } else { SDE_ERROR("unsupported chipset id:%X\n", hw_rev); sde_cfg->perf.min_prefill_lines = 0xffff; Loading
drivers/gpu/drm/msm/sde/sde_hw_catalog.h +5 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,9 @@ #define SDE_HW_STEP(rev) ((rev) & 0xFFFF) #define SDE_HW_MAJOR_MINOR(rev) ((rev) >> 16) #define IS_SDE_MAJOR_SAME(rev1, rev2) \ (SDE_HW_MAJOR((rev1)) == SDE_HW_MAJOR((rev2))) #define IS_SDE_MAJOR_MINOR_SAME(rev1, rev2) \ (SDE_HW_MAJOR_MINOR((rev1)) == SDE_HW_MAJOR_MINOR((rev2))) Loading @@ -49,12 +52,14 @@ #define SDE_HW_VER_410 SDE_HW_VER(4, 1, 0) /* sdm670 v1.0 */ #define SDE_HW_VER_500 SDE_HW_VER(5, 0, 0) /* sm8150 v1.0 */ #define SDE_HW_VER_501 SDE_HW_VER(5, 0, 1) /* sm8150 v2.0 */ #define SDE_HW_VER_510 SDE_HW_VER(5, 1, 0) /* sdmshrike v1.0 */ #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) #define IS_SDM845_TARGET(rev) IS_SDE_MAJOR_MINOR_SAME((rev), SDE_HW_VER_400) #define IS_SDM670_TARGET(rev) IS_SDE_MAJOR_MINOR_SAME((rev), SDE_HW_VER_410) #define IS_SM8150_TARGET(rev) IS_SDE_MAJOR_MINOR_SAME((rev), SDE_HW_VER_500) #define IS_SDMSHRIKE_TARGET(rev) IS_SDE_MAJOR_MINOR_SAME((rev), SDE_HW_VER_510) #define SDE_HW_BLK_NAME_LEN 16 Loading
drivers/gpu/drm/msm/sde/sde_hw_lm.c +2 −1 Original line number Diff line number Diff line Loading @@ -263,7 +263,8 @@ static void _setup_mixer_ops(struct sde_mdss_cfg *m, { ops->setup_mixer_out = sde_hw_lm_setup_out; if (IS_SDM845_TARGET(m->hwversion) || IS_SDM670_TARGET(m->hwversion) || IS_SM8150_TARGET(m->hwversion)) IS_SM8150_TARGET(m->hwversion) || IS_SDMSHRIKE_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; Loading