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

Commit bacd67d6 authored by Imre Deak's avatar Imre Deak Committed by Jani Nikula
Browse files

drm/i915: Ensure the HW is powered when disabling VGA



The assumption when adding the intel_display_power_is_enabled() checks
was that if it returns success the power can't be turned off afterwards
during the HW access, which is guaranteed by modeset locks. This isn't
always true, so make sure we hold a dedicated reference for the time of
the access.

Signed-off-by: default avatarImre Deak <imre.deak@intel.com>
Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1455296121-4742-5-git-send-email-imre.deak@intel.com


(cherry picked from commit 6392f847)
Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
parent 013ef6cf
Loading
Loading
Loading
Loading
+3 −1
Original line number Original line Diff line number Diff line
@@ -15599,10 +15599,12 @@ void i915_redisable_vga(struct drm_device *dev)
	 * level, just check if the power well is enabled instead of trying to
	 * level, just check if the power well is enabled instead of trying to
	 * follow the "don't touch the power well if we don't need it" policy
	 * follow the "don't touch the power well if we don't need it" policy
	 * the rest of the driver uses. */
	 * the rest of the driver uses. */
	if (!intel_display_power_is_enabled(dev_priv, POWER_DOMAIN_VGA))
	if (!intel_display_power_get_if_enabled(dev_priv, POWER_DOMAIN_VGA))
		return;
		return;


	i915_redisable_vga_power_on(dev);
	i915_redisable_vga_power_on(dev);

	intel_display_power_put(dev_priv, POWER_DOMAIN_VGA);
}
}


static bool primary_get_hw_state(struct intel_plane *plane)
static bool primary_get_hw_state(struct intel_plane *plane)