diff --git a/msm/dsi/dsi_panel.c b/msm/dsi/dsi_panel.c index 510caeaef03a..766d9df9994b 100644 --- a/msm/dsi/dsi_panel.c +++ b/msm/dsi/dsi_panel.c @@ -2806,6 +2806,15 @@ static int dsi_panel_parse_bl_config(struct dsi_panel *panel) else DSI_ERR("bl-dsc-cmd-state command state unrecognized-%s\n", state); + rc = utils->read_u32(utils->data, "qcom,mdss-dsi-bl-default-level", &val); + if (rc) { + panel->bl_config.brightness_default_level = + panel->bl_config.brightness_max_level; + pr_debug("set default brightness to max level\n"); + } else { + panel->bl_config.brightness_default_level = val; + } + panel->bl_config.bl_2bytes_enable = utils->read_bool(utils->data, "qcom,bklt-dcs-2bytes-enabled"); diff --git a/msm/dsi/dsi_panel.h b/msm/dsi/dsi_panel.h index d922b3c9c768..b5a0c9178e9d 100644 --- a/msm/dsi/dsi_panel.h +++ b/msm/dsi/dsi_panel.h @@ -155,6 +155,7 @@ struct dsi_backlight_config { u32 bl_min_level; u32 bl_max_level; u32 brightness_max_level; + u32 brightness_default_level; u32 bl_level; u32 bl_scale; u32 bl_scale_sv; diff --git a/msm/sde/sde_connector.c b/msm/sde/sde_connector.c index b64ea3d346ac..bc40cc07172e 100644 --- a/msm/sde/sde_connector.c +++ b/msm/sde/sde_connector.c @@ -212,7 +212,7 @@ static int sde_backlight_setup(struct sde_connector *c_conn, props.type = BACKLIGHT_RAW; props.power = FB_BLANK_UNBLANK; props.max_brightness = bl_config->brightness_max_level; - props.brightness = bl_config->brightness_max_level; + props.brightness = bl_config->brightness_default_level; snprintf(bl_node_name, BL_NODE_NAME_SIZE, "panel%u-backlight", display_count); c_conn->bl_device = backlight_device_register(bl_node_name, dev->dev,