]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/amd/display: workaround for oled eDP not lighting up on DCN401
authorJoshua Aberback <joshua.aberback@amd.com>
Mon, 13 May 2024 22:14:59 +0000 (18:14 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 5 Jun 2024 15:05:33 +0000 (11:05 -0400)
[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: Alvin Lee <alvin.lee2@amd.com>
Reviewed-by: Wenjing Liu <wenjing.liu@amd.com>
Acked-by: Zaeem Mohamed <zaeem.mohamed@amd.com>
Signed-off-by: Joshua Aberback <joshua.aberback@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/dc.h
drivers/gpu/drm/amd/display/dc/link/protocols/link_edp_panel_control.c
drivers/gpu/drm/amd/display/dc/resource/dcn401/dcn401_resource.c

index d0ed01ac460d3ea49d3fa80c86548c916bc189cc..a06015165a61b5e5fa20ee5f922a94f13c632b08 100644 (file)
@@ -1042,6 +1042,7 @@ struct dc_debug_options {
        unsigned int force_easf;
        unsigned int force_sharpness;
        unsigned int force_lls;
+       bool edp_oled_no_backlight_enable;
 };
 
 
index ad9aca790dd729ce7b5e1c9131cf126928f52b8f..89f66d88c3b078dad2e00db60804e83f56485cab 100644 (file)
@@ -248,6 +248,9 @@ bool edp_backlight_enable_aux(struct dc_link *link, bool enable)
                link->connector_signal != SIGNAL_TYPE_DISPLAY_PORT))
                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,
                &backlight_enable, 1) != DC_OK)
                return false;
index 8dfb0a3d21cb82a8d920536d908b4fa8bf3a78e7..49a8d7048194324a8a208ee9fb2396bfd91ff5a2 100644 (file)
@@ -732,6 +732,7 @@ static const struct dc_debug_options debug_defaults_drv = {
        },
        .force_cositing = CHROMA_COSITING_TOPLEFT + 1,
        .disable_idle_power_optimizations = true,
+       .edp_oled_no_backlight_enable = true,
 };
 
 static struct dce_aux *dcn401_aux_engine_create(