Commit e13af516 authored by Suraj Kandpal's avatar Suraj Kandpal
Browse files

drm/i915/backlight: Use drm helper to initialize edp backlight



Now that drm_edp_backlight init has been modified to take
into account the setup of lumininace based brightness manipulation
we can just use that.

--v2
-Fix commit message [Arun]

Signed-off-by: default avatarSuraj Kandpal <suraj.kandpal@intel.com>
Reviewed-by: default avatarArun R Murthy <arun.r.murthy@intel.com>
Link: https://lore.kernel.org/r/20250620063445.3603086-12-suraj.kandpal@intel.com
parent ba02bf8e
Loading
Loading
Loading
Loading
+48 −50
Original line number Diff line number Diff line
@@ -584,20 +584,6 @@ static int intel_dp_aux_vesa_setup_backlight(struct intel_connector *connector,
	u8 current_mode;
	int ret;

	if (panel->backlight.edp.vesa.luminance_control_support) {
		if (luminance_range->max_luminance) {
			panel->backlight.max = luminance_range->max_luminance;
			panel->backlight.min = luminance_range->min_luminance;
		} else {
			panel->backlight.max = 512;
			panel->backlight.min = 0;
		}
		panel->backlight.level = intel_dp_aux_vesa_get_backlight(connector, 0);
		panel->backlight.enabled = panel->backlight.level != 0;
		drm_dbg_kms(display->drm,
			    "[CONNECTOR:%d:%s] AUX VESA Nits backlight level is controlled through DPCD\n",
			    connector->base.base.id, connector->base.name);
	} else {
	ret = drm_edp_backlight_init(&intel_dp->aux, &panel->backlight.edp.vesa.info,
				     luminance_range->max_luminance,
				     panel->vbt.backlight.pwm_freq_hz,
@@ -626,7 +612,20 @@ static int intel_dp_aux_vesa_setup_backlight(struct intel_connector *connector,
		}
	}

		if (panel->backlight.edp.vesa.info.aux_set) {
	if (panel->backlight.edp.vesa.info.luminance_set) {
		if (luminance_range->max_luminance) {
			panel->backlight.max = panel->backlight.edp.vesa.info.max;
			panel->backlight.min = luminance_range->min_luminance;
		} else {
			panel->backlight.max = 512;
			panel->backlight.min = 0;
		}
		panel->backlight.level = intel_dp_aux_vesa_get_backlight(connector, 0);
		panel->backlight.enabled = panel->backlight.level != 0;
		drm_dbg_kms(display->drm,
			    "[CONNECTOR:%d:%s] AUX VESA Nits backlight level is controlled through DPCD\n",
			    connector->base.base.id, connector->base.name);
	} else if (panel->backlight.edp.vesa.info.aux_set) {
		panel->backlight.max = panel->backlight.edp.vesa.info.max;
		panel->backlight.min = 0;
		if (current_mode == DP_EDP_BACKLIGHT_CONTROL_MODE_DPCD) {
@@ -648,7 +647,6 @@ static int intel_dp_aux_vesa_setup_backlight(struct intel_connector *connector,
			panel->backlight.enabled = false;
		}
	}
	}

	drm_dbg_kms(display->drm,
		    "[CONNECTOR:%d:%s] Using AUX VESA interface for backlight control\n",