Commit 1758cf3c authored by Derek Lai's avatar Derek Lai Committed by Alex Deucher
Browse files

drm/amd/display: revert "write default Vesa Aux backlight control in dmub"



This reverts commit 08f133e9.

Commit causing backlight darker when the system wakes up
from standby mode, and green screen w/ secondary screen only
when the system wakes up from standby mode.

Reviewed-by: default avatarCharlene Liu <charlene.liu@amd.com>
Signed-off-by: default avatarDerek Lai <Derek.Lai@amd.com>
Signed-off-by: default avatarMatthew Stewart <matthew.stewart2@amd.com>
Tested-by: default avatarDan Wheeler <daniel.wheeler@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent e7b09b76
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -995,7 +995,7 @@ static bool detect_link_and_local_sink(struct dc_link *link,
			(link->dpcd_sink_ext_caps.bits.oled == 1)) {
			dpcd_set_source_specific_data(link);
			msleep(post_oui_delay);
			set_default_brightness(link);
			set_default_brightness_aux(link);
		}

		return true;
+2 −2
Original line number Diff line number Diff line
@@ -2061,7 +2061,7 @@ static enum dc_status enable_link_dp(struct dc_state *state,
		skip_video_pattern = false;

	if (stream->sink_patches.oled_optimize_display_on)
		set_default_brightness(link);
		set_default_brightness_aux(link);

	if (perform_link_training_with_retries(link_settings,
					       skip_video_pattern,
@@ -2087,7 +2087,7 @@ static enum dc_status enable_link_dp(struct dc_state *state,
		link->dpcd_sink_ext_caps.bits.sdr_aux_backlight_control == 1 ||
		link->dpcd_sink_ext_caps.bits.hdr_aux_backlight_control == 1) {
		if (!stream->sink_patches.oled_optimize_display_on) {
			set_default_brightness(link);
			set_default_brightness_aux(link);
			if (link->dpcd_sink_ext_caps.bits.oled == 1)
				msleep(bl_oled_enable_delay);
			edp_backlight_enable_aux(link, true);
+1 −1
Original line number Diff line number Diff line
@@ -2210,7 +2210,7 @@ void detect_edp_sink_caps(struct dc_link *link)
	link->dpcd_caps.set_power_state_capable_edp =
				(general_edp_cap & DP_EDP_SET_POWER_CAP) ? true : false;

	set_default_brightness(link);
	set_default_brightness_aux(link);

	core_link_read_dpcd(link, DP_EDP_DPCD_REV,
		&link->dpcd_caps.edp_rev,
+3 −23
Original line number Diff line number Diff line
@@ -50,11 +50,6 @@ static const uint8_t DP_VGA_LVDS_CONVERTER_ID_2[] = "sivarT";
/* Nutmeg */
static const uint8_t DP_VGA_LVDS_CONVERTER_ID_3[] = "dnomlA";

static const unsigned int pwr_default_min_brightness_millinits = 1000;
static const unsigned int pwr_default_sdr_brightness_millinits = 270000;
static const unsigned int pwr_default_min_backlight_pwm = 0xC0C;
static const unsigned int pwr_default_max_backlight_pwm = 0xFFFF;

void dp_set_panel_mode(struct dc_link *link, enum dp_panel_mode panel_mode)
{
	union dpcd_edp_config edp_config_set;
@@ -313,7 +308,7 @@ static bool read_default_bl_aux(struct dc_link *link, uint32_t *backlight_millin
	return true;
}

bool set_default_brightness(struct dc_link *link)
bool set_default_brightness_aux(struct dc_link *link)
{
	uint32_t default_backlight;

@@ -324,21 +319,6 @@ bool set_default_brightness(struct dc_link *link)
		if (default_backlight < 1000 || default_backlight > 5000000)
			default_backlight = 150000;

		if (link->backlight_control_type == BACKLIGHT_CONTROL_VESA_AUX &&
			link->dc->caps.dmub_caps.aux_backlight_support) {
			struct set_backlight_level_params backlight_level_params = { 0 };

			backlight_level_params.aux_inst =  link->ddc->ddc_pin->hw_info.ddc_channel;
			backlight_level_params.control_type = BACKLIGHT_CONTROL_VESA_AUX;
			backlight_level_params.backlight_pwm_u16_16 = default_backlight;
			backlight_level_params.transition_time_in_ms = 0;
			// filled in the driver BL default values
			backlight_level_params.min_luminance = pwr_default_min_brightness_millinits;
			backlight_level_params.max_luminance = pwr_default_sdr_brightness_millinits;
			backlight_level_params.min_backlight_pwm = pwr_default_min_backlight_pwm;
			backlight_level_params.max_backlight_pwm = pwr_default_max_backlight_pwm;
			return edp_set_backlight_level(link, &backlight_level_params);
		} else
		return edp_set_backlight_level_nits(link, true,
				default_backlight, 0);
	}
+1 −1
Original line number Diff line number Diff line
@@ -29,7 +29,7 @@

enum dp_panel_mode dp_get_panel_mode(struct dc_link *link);
void dp_set_panel_mode(struct dc_link *link, enum dp_panel_mode panel_mode);
bool set_default_brightness(struct dc_link *link);
bool set_default_brightness_aux(struct dc_link *link);
bool is_smartmux_suported(struct dc_link *link);
void edp_panel_backlight_power_on(struct dc_link *link, bool wait_for_hpd);
int edp_get_backlight_level(const struct dc_link *link);