From: Roman Li <[email protected]>

[WHY]
For some eDP panels VESA aux backlight control is necessary,
otherwise they stay black.

[HOW]
When AUX backlight control is used, select BACKLIGHT_CONTROL_VESA_AUX for
panels that advertise panel_luminance_control.

Reviewed-by: Hansen Dsouza <[email protected]>
Signed-off-by: Roman Li <[email protected]>
Signed-off-by: Alex Hung <[email protected]>
---
 .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_backlight.c   | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_backlight.c 
b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_backlight.c
index a5ad59ec3e81..45e1732a5b04 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_backlight.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_backlight.c
@@ -543,8 +543,12 @@ void amdgpu_dm_update_connector_ext_caps(struct 
amdgpu_dm_connector *aconnector)
        else if (!IS_ERR_OR_NULL(panel_backlight_quirk) &&
                 panel_backlight_quirk->force_pwm)
                caps->aux_support = false;
-       if (caps->aux_support)
-               aconnector->dc_link->backlight_control_type = 
BACKLIGHT_CONTROL_AMD_AUX;
+       if (caps->aux_support) {
+               if (aconnector->dc_link->dpcd_caps.panel_luminance_control)
+                       aconnector->dc_link->backlight_control_type = 
BACKLIGHT_CONTROL_VESA_AUX;
+               else
+                       aconnector->dc_link->backlight_control_type = 
BACKLIGHT_CONTROL_AMD_AUX;
+       }
 
        luminance_range = &conn_base->display_info.luminance_range;
 
-- 
2.43.0

Reply via email to