From 45f02bb102ceb20416be4383261c923f6835c442 Mon Sep 17 00:00:00 2001 From: Prashant Singh Date: Tue, 16 Jul 2019 19:30:07 +0530 Subject: [PATCH] disp: msm: sde: correct the highest bank bit configuration. Highest bank bit property is read from device-tree, else set to default value based on DDR type. Change-Id: I8b31d957e29071b599a7f983cbf8300e293e9e36 Signed-off-by: Prashant Singh --- msm/sde/sde_hw_catalog.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/msm/sde/sde_hw_catalog.c b/msm/sde/sde_hw_catalog.c index 4aaf597597aa..0c5beed6fca3 100644 --- a/msm/sde/sde_hw_catalog.c +++ b/msm/sde/sde_hw_catalog.c @@ -41,8 +41,11 @@ /* max mixer blend stages */ #define DEFAULT_SDE_MIXER_BLENDSTAGES 7 -/* max bank bit for macro tile and ubwc format */ -#define DEFAULT_SDE_HIGHEST_BANK_BIT 15 +/* + * max bank bit for macro tile and ubwc format. + * this value is left shifted and written to register + */ +#define DEFAULT_SDE_HIGHEST_BANK_BIT 0x02 /* default ubwc version */ #define DEFAULT_SDE_UBWC_VERSION SDE_HW_UBWC_VER_10 @@ -3071,19 +3074,20 @@ static int _sde_parse_prop_check(struct sde_mdss_cfg *cfg, if (!prop_exists[WB_LINEWIDTH]) cfg->max_wb_linewidth = DEFAULT_SDE_LINE_WIDTH; + cfg->ubwc_version = SDE_HW_UBWC_VER(PROP_VALUE_ACCESS(prop_value, + UBWC_VERSION, 0)); + if (!prop_exists[UBWC_VERSION]) + cfg->ubwc_version = DEFAULT_SDE_UBWC_VERSION; + cfg->mdp[0].highest_bank_bit = PROP_VALUE_ACCESS(prop_value, BANK_BIT, 0); if (!prop_exists[BANK_BIT]) cfg->mdp[0].highest_bank_bit = DEFAULT_SDE_HIGHEST_BANK_BIT; - if (of_fdt_get_ddrtype() == LP_DDR4_TYPE) + if (cfg->ubwc_version == SDE_HW_UBWC_VER_40 && + of_fdt_get_ddrtype() == LP_DDR4_TYPE) cfg->mdp[0].highest_bank_bit = 0x02; - cfg->ubwc_version = SDE_HW_UBWC_VER(PROP_VALUE_ACCESS(prop_value, - UBWC_VERSION, 0)); - if (!prop_exists[UBWC_VERSION]) - cfg->ubwc_version = DEFAULT_SDE_UBWC_VERSION; - cfg->macrotile_mode = PROP_VALUE_ACCESS(prop_value, MACROTILE_MODE, 0); if (!prop_exists[MACROTILE_MODE]) cfg->macrotile_mode = DEFAULT_SDE_UBWC_MACROTILE_MODE;