Commit 7c209847 authored by Takashi Iwai's avatar Takashi Iwai Committed by Alex Deucher

drm/amd/display: Add a backlight module option

There seem devices that don't work with the aux channel backlight
control.  For allowing such users to test with the other backlight
control method, provide a new module option, aux_backlight, to specify
enabling or disabling the aux backport support explicitly.  As
default, the aux support is detected by the hardware capability.

v2: make the backlight option generic in case we add future
backlight types (Alex)

BugLink: https://bugzilla.opensuse.org/show_bug.cgi?id=1180749
BugLink: https://gitlab.freedesktop.org/drm/amd/-/issues/1438Reviewed-by: default avatarNicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent f275e875
...@@ -181,6 +181,7 @@ extern uint amdgpu_dc_feature_mask; ...@@ -181,6 +181,7 @@ extern uint amdgpu_dc_feature_mask;
extern uint amdgpu_freesync_vid_mode; extern uint amdgpu_freesync_vid_mode;
extern uint amdgpu_dc_debug_mask; extern uint amdgpu_dc_debug_mask;
extern uint amdgpu_dm_abm_level; extern uint amdgpu_dm_abm_level;
extern int amdgpu_backlight;
extern struct amdgpu_mgpu_info mgpu_info; extern struct amdgpu_mgpu_info mgpu_info;
extern int amdgpu_ras_enable; extern int amdgpu_ras_enable;
extern uint amdgpu_ras_mask; extern uint amdgpu_ras_mask;
......
...@@ -783,6 +783,10 @@ uint amdgpu_dm_abm_level; ...@@ -783,6 +783,10 @@ uint amdgpu_dm_abm_level;
MODULE_PARM_DESC(abmlevel, "ABM level (0 = off (default), 1-4 = backlight reduction level) "); MODULE_PARM_DESC(abmlevel, "ABM level (0 = off (default), 1-4 = backlight reduction level) ");
module_param_named(abmlevel, amdgpu_dm_abm_level, uint, 0444); module_param_named(abmlevel, amdgpu_dm_abm_level, uint, 0444);
int amdgpu_backlight = -1;
MODULE_PARM_DESC(backlight, "Backlight control (0 = pwm, 1 = aux, -1 auto (default))");
module_param_named(backlight, amdgpu_backlight, bint, 0444);
/** /**
* DOC: tmz (int) * DOC: tmz (int)
* Trusted Memory Zone (TMZ) is a method to protect data being written * Trusted Memory Zone (TMZ) is a method to protect data being written
......
...@@ -2324,6 +2324,11 @@ static void update_connector_ext_caps(struct amdgpu_dm_connector *aconnector) ...@@ -2324,6 +2324,11 @@ static void update_connector_ext_caps(struct amdgpu_dm_connector *aconnector)
caps->ext_caps->bits.hdr_aux_backlight_control == 1) caps->ext_caps->bits.hdr_aux_backlight_control == 1)
caps->aux_support = true; caps->aux_support = true;
if (amdgpu_backlight == 0)
caps->aux_support = false;
else if (amdgpu_backlight == 1)
caps->aux_support = true;
/* From the specification (CTA-861-G), for calculating the maximum /* From the specification (CTA-861-G), for calculating the maximum
* luminance we need to use: * luminance we need to use:
* Luminance = 50*2**(CV/32) * Luminance = 50*2**(CV/32)
......
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