Commit e902dd7f authored by Joshua Aberback's avatar Joshua Aberback Committed by Alex Deucher

drm/amd/display: workaround for oled eDP not lighting up on DCN401

[Why]
Currently there's an issue on DCN401 that prevents oled eDP panels from
being lit up that is still under investigation. To unblock dev work
while investigating, we can work around the issue by skipping toggling
the enablement of the backlight.

[How]
 - new debug bit that will skip touching backlight enable DPCD for oled
Reviewed-by: default avatarAlvin Lee <alvin.lee2@amd.com>
Reviewed-by: default avatarWenjing Liu <wenjing.liu@amd.com>
Acked-by: default avatarZaeem Mohamed <zaeem.mohamed@amd.com>
Signed-off-by: default avatarJoshua Aberback <joshua.aberback@amd.com>
Tested-by: default avatarDaniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 1349db15
...@@ -1042,6 +1042,7 @@ struct dc_debug_options { ...@@ -1042,6 +1042,7 @@ struct dc_debug_options {
unsigned int force_easf; unsigned int force_easf;
unsigned int force_sharpness; unsigned int force_sharpness;
unsigned int force_lls; unsigned int force_lls;
bool edp_oled_no_backlight_enable;
}; };
......
...@@ -248,6 +248,9 @@ bool edp_backlight_enable_aux(struct dc_link *link, bool enable) ...@@ -248,6 +248,9 @@ bool edp_backlight_enable_aux(struct dc_link *link, bool enable)
link->connector_signal != SIGNAL_TYPE_DISPLAY_PORT)) link->connector_signal != SIGNAL_TYPE_DISPLAY_PORT))
return false; return false;
if (link->dc->debug.edp_oled_no_backlight_enable && link->dpcd_sink_ext_caps.bits.oled)
return true;
if (core_link_write_dpcd(link, DP_SOURCE_BACKLIGHT_ENABLE, if (core_link_write_dpcd(link, DP_SOURCE_BACKLIGHT_ENABLE,
&backlight_enable, 1) != DC_OK) &backlight_enable, 1) != DC_OK)
return false; return false;
......
...@@ -732,6 +732,7 @@ static const struct dc_debug_options debug_defaults_drv = { ...@@ -732,6 +732,7 @@ static const struct dc_debug_options debug_defaults_drv = {
}, },
.force_cositing = CHROMA_COSITING_TOPLEFT + 1, .force_cositing = CHROMA_COSITING_TOPLEFT + 1,
.disable_idle_power_optimizations = true, .disable_idle_power_optimizations = true,
.edp_oled_no_backlight_enable = true,
}; };
static struct dce_aux *dcn401_aux_engine_create( static struct dce_aux *dcn401_aux_engine_create(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment