drm/i915/vlv: WA to fix Voltage not getting dropped to Vmin when Gfx is power gated.
authorDeepak S <deepak.s@intel.com>
Thu, 30 Jan 2014 17:38:16 +0000 (23:08 +0530)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 4 Feb 2014 10:59:19 +0000 (11:59 +0100)
commit76c3552f9f65005f406cbffe95b981e30ef51428
tree3fd18f85d5b3ed1a3dfac1d9e025e6f2b40bea2d
parent939fd762083f988be271da8c96398178daf9baf0
drm/i915/vlv: WA to fix Voltage not getting dropped to Vmin when Gfx is power gated.

When we enter RC6 and GFX Clocks are off, the voltage remains higher
than Vmin. When we try to set the freq to RPn, it might fail since the
Gfx clocks are down. So to fix this in Gfx idle, Bring the GFX clock up
and set the freq to RPn then move GFx down.

v2: remove vlv_update_rps_cur_delay function. Update commit message (Daniel)

v3: Fix the timeout during wait for gfx clock (Jesse)

v4: addressed comments on set freq and punit wait (Ville)

v5: use wait_for while waiting for GFX clk to be up. (Daniel)
    update cur_delay before requesting min_delay. (Ville)

v6: use wait_for while waiting for punit. (Ville)

Signed-off-by: Deepak S <deepak.s@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/i915_irq.c
drivers/gpu/drm/i915/i915_reg.h
drivers/gpu/drm/i915/intel_pm.c