[Intel-gfx] [PATCH 4/5] drm/i915: Do vlv cmnlane toggle w/a in more cases
Jesse Barnes
jbarnes at virtuousgeek.org
Tue Oct 28 18:57:38 CET 2014
On Thu, 16 Oct 2014 20:52:33 +0300
ville.syrjala at linux.intel.com wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>
> In case the cmnlane power well is down but cmnreset isn't asserted we
> would currently skip the off+on toggle for the power well. That could
> leave cmnreset deasserted while cmnlane is powered down which might
> lead to problems with the PHY.
>
> To avoid such issues skip the cmnlane toggle only if both cmnlane and
> disp2d wells are up and cmnreset is already deasserted. In all other
> cases power down the cmnlane well which will also make sure cmnreset
> gets asserted correctly while cmnlane is powered down.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> ---
> drivers/gpu/drm/i915/intel_runtime_pm.c | 7 ++-----
> 1 file changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c
> b/drivers/gpu/drm/i915/intel_runtime_pm.c index 36749b9..f6b4e8d
> 100644 --- a/drivers/gpu/drm/i915/intel_runtime_pm.c
> +++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
> @@ -1137,12 +1137,9 @@ static void vlv_cmnlane_wa(struct
> drm_i915_private *dev_priv) struct i915_power_well *disp2d =
> lookup_power_well(dev_priv, PUNIT_POWER_WELL_DISP2D);
>
> - /* nothing to do if common lane is already off */
> - if (!cmn->ops->is_enabled(dev_priv, cmn))
> - return;
> -
> /* If the display might be already active skip this */
> - if (disp2d->ops->is_enabled(dev_priv, disp2d) &&
> + if (cmn->ops->is_enabled(dev_priv, cmn) &&
> + disp2d->ops->is_enabled(dev_priv, disp2d) &&
> I915_READ(DPIO_CTL) & DPIO_CMNRST)
> return;
>
Yeah looks ok. Do we have any bugs we know this fixes? I'm hoping the
remaining VLV DP training failures are fixed either by something like
this or your panel power sequencer fixes.
Reviewed-by: Jesse Barnes <jbarnes at virtuousgeek.org>
More information about the Intel-gfx
mailing list