Skip to content

Commit

Permalink
drm/i915: get a runtime PM reference when the panel VDD is on
Browse files Browse the repository at this point in the history
And put it when it's off. Otherwise, when you run pm_pc8 from
intel-gpu-tools, and the delayed function that disables VDD runs,
we'll get some messages saying we're touching registers while the HW
is suspended.

Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
  • Loading branch information
Paulo Zanoni authored and Daniel Vetter committed Dec 10, 2013
1 parent c8c8fb3 commit e9cb81a
Showing 1 changed file with 7 additions and 0 deletions.
7 changes: 7 additions & 0 deletions drivers/gpu/drm/i915/intel_dp.c
Original file line number Diff line number Diff line change
Expand Up @@ -1094,6 +1094,8 @@ void ironlake_edp_panel_vdd_on(struct intel_dp *intel_dp)
if (ironlake_edp_have_panel_vdd(intel_dp))
return;

intel_runtime_pm_get(dev_priv);

DRM_DEBUG_KMS("Turning eDP VDD on\n");

if (!ironlake_edp_have_panel_power(intel_dp))
Expand Down Expand Up @@ -1143,6 +1145,8 @@ static void ironlake_panel_vdd_off_sync(struct intel_dp *intel_dp)
DRM_DEBUG_KMS("PP_STATUS: 0x%08x PP_CONTROL: 0x%08x\n",
I915_READ(pp_stat_reg), I915_READ(pp_ctrl_reg));
msleep(intel_dp->panel_power_down_delay);

intel_runtime_pm_put(dev_priv);
}
}

Expand Down Expand Up @@ -1250,6 +1254,9 @@ void ironlake_edp_panel_off(struct intel_dp *intel_dp)
intel_dp->want_panel_vdd = false;

ironlake_wait_panel_off(intel_dp);

/* We got a reference when we enabled the VDD. */
intel_runtime_pm_put(dev_priv);
}

void ironlake_edp_backlight_on(struct intel_dp *intel_dp)
Expand Down

0 comments on commit e9cb81a

Please sign in to comment.