Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e8cd7143 authored by Mustamin B Mustaffa's avatar Mustamin B Mustaffa Committed by Rodrigo Vivi
Browse files

drm/i915: Enable VBT based BL control for DP



Currently, BXT_PP is hardcoded with value '0'.
It practically disabled eDP backlight on MRB (BXT) platform.

This patch will tell which BXT_PP registers (there are two set of
PP_CONTROL in the spec) to be used as defined in VBT (Video Bios Timing
table) and this will enabled eDP backlight controller on MRB (BXT)
platform.

v2:
 - Remove unnecessary information in commit message.
 - Assign vbt.backlight.controller to a backlight_controller variable and
   return the variable value.
v3:
 - Rebased to latest code base.
 - updated commit title.

Signed-off-by: default avatarMustamin B Mustaffa <mustamin.b.mustaffa@intel.com>
Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180227030734.37901-1-mustamin.b.mustaffa@intel.com


(cherry picked from commit 73c0fcac)
Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
parent 0c8efd61
Loading
Loading
Loading
Loading
+3 −7
Original line number Diff line number Diff line
@@ -620,19 +620,15 @@ static int
bxt_power_sequencer_idx(struct intel_dp *intel_dp)
{
	struct drm_i915_private *dev_priv = to_i915(intel_dp_to_dev(intel_dp));
	int backlight_controller = dev_priv->vbt.backlight.controller;

	lockdep_assert_held(&dev_priv->pps_mutex);

	/* We should never land here with regular DP ports */
	WARN_ON(!intel_dp_is_edp(intel_dp));

	/*
	 * TODO: BXT has 2 PPS instances. The correct port->PPS instance
	 * mapping needs to be retrieved from VBT, for now just hard-code to
	 * use instance #0 always.
	 */
	if (!intel_dp->pps_reset)
		return 0;
		return backlight_controller;

	intel_dp->pps_reset = false;

@@ -642,7 +638,7 @@ bxt_power_sequencer_idx(struct intel_dp *intel_dp)
	 */
	intel_dp_init_panel_power_sequencer_registers(intel_dp, false);

	return 0;
	return backlight_controller;
}

typedef bool (*vlv_pipe_check)(struct drm_i915_private *dev_priv,