linux/drivers/gpu/drm/i915
Daniel Vetter 181d1b9e31 drm/i915: fix up gt init sequence fallout
The regression fix for gen6+ rps fallout

commit 7dcd2677ea
Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
Date:   Wed Jul 17 10:22:58 2013 +0400

    drm/i915: fix long-standing SNB regression in power consumption after resume

unintentionally also changed the init sequence ordering between
gt_init and gt_reset - we need to reset BIOS damage like leftover
forcewake references before we run our own code. Otherwise we can get
nasty dmesg noise like

[drm:__gen6_gt_force_wake_mt_get] *ERROR* Timed out waiting for forcewake old ack to clear.

again. Since _reset suggests that we first need to have stuff
initialized (which isn't the case here) call it sanitze instead.

While at it also block out the rps disable introduced by the above
commit on ilk: We don't have any knowledge of ilk rps being broken in
similar ways. And the disable functions uses the default hw state
which is only read out when we're enabling rps. So essentially we've
been writing random grabage into that register.

Reported-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Konstantin Khlebnikov <khlebnikov@openvz.org>
Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
Cc: stable@vger.kernel.org
Tested-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-07-21 15:37:02 +02:00
..
dvo_ch7xxx.c drm/i915: add support for dvo Chrontel 7010B 2013-05-20 22:02:49 +02:00
dvo_ch7017.c
dvo_ivch.c
dvo_ns2501.c
dvo_sil164.c
dvo_tfp410.c
dvo.h
i915_debugfs.c drm/i915: Break up the large vsnprintf() in print_error_buffers() 2013-07-01 11:15:01 +02:00
i915_dma.c drm/i915: fix up gt init sequence fallout 2013-07-21 15:37:02 +02:00
i915_drv.c drm/i915: fix up gt init sequence fallout 2013-07-21 15:37:02 +02:00
i915_drv.h drm/i915: fix up gt init sequence fallout 2013-07-21 15:37:02 +02:00
i915_gem_context.c drm/i915: Fix context sizes on HSW 2013-07-01 11:14:54 +02:00
i915_gem_debug.c
i915_gem_dmabuf.c drm/i915: fix dmabuf vmap support 2013-05-01 16:09:31 +10:00
i915_gem_evict.c
i915_gem_execbuffer.c drm/i915: add batch bo to i915_add_request() 2013-06-13 17:42:16 +02:00
i915_gem_gtt.c drm/i915: Rename the gtt_list to global_list 2013-06-03 10:51:14 +02:00
i915_gem_stolen.c drm/i915: Don't try to tear down the stolen drm_mm if it's not there 2013-07-02 11:47:19 +02:00
i915_gem_tiling.c drm/i915: Increase max fence pitch limit to 256KB on IVB+ 2013-04-18 09:43:20 +02:00
i915_gem.c drm/i915: correctly restore fences with objects attached 2013-07-19 00:08:16 +02:00
i915_ioc32.c
i915_irq.c drm/i915: fix hpd interrupt register locking 2013-07-01 11:14:59 +02:00
i915_reg.h drm/i915: Fix context sizes on HSW 2013-07-01 11:14:54 +02:00
i915_suspend.c Linux 3.10 2013-07-18 12:03:29 +02:00
i915_sysfs.c drm/i915: change VLV IOSF sideband accessors to not return error code 2013-05-23 23:25:42 +02:00
i915_trace_points.c
i915_trace.h
i915_ums.c drm/i915: scrap register address storage 2013-06-10 19:54:14 +02:00
intel_acpi.c
intel_bios.c drm/i915: Organize VBT stuff inside drm_i915_private 2013-05-10 21:56:46 +02:00
intel_bios.h drm/i915: set CPT FDI RX polarity bits based on VBT 2013-04-18 09:43:31 +02:00
intel_crt.c drm/i915: document why dvo/sdvo/crt need a special dpms function 2013-05-31 20:54:04 +02:00
intel_ddi.c drm/i915: Preserve the DDI_A_4_LANES bit from the bios 2013-07-13 10:44:32 +02:00
intel_display.c drm/i915: quirk no PCH_PWM_ENABLE for Dell XPS13 backlight 2013-07-20 10:52:53 +02:00
intel_dp.c drm/i915: fix lane bandwidth capping for DP 1.2 sinks 2013-07-09 16:35:50 +02:00
intel_drv.h drm/i915: Preserve the DDI_A_4_LANES bit from the bios 2013-07-13 10:44:32 +02:00
intel_dvo.c drm/i915: document why dvo/sdvo/crt need a special dpms function 2013-05-31 20:54:04 +02:00
intel_fb.c Merge tag 'drm-intel-next-2013-06-18' of git://people.freedesktop.org/~danvet/drm-intel into drm-next 2013-06-28 09:50:34 +10:00
intel_hdmi.c Revert "drm/i915: Don't use the HDMI port color range bit on Valleyview" 2013-07-01 11:14:53 +02:00
intel_i2c.c drm/i915: avoid premature DP AUX timeouts 2013-05-22 13:51:26 +02:00
intel_lvds.c drm/i915: fix pfit regression for non-autoscaled resolutions 2013-07-12 18:55:08 +02:00
intel_modes.c drm/i915: Add "Automatic" mode for the "Broadcast RGB" property 2013-01-20 13:09:44 +01:00
intel_opregion.c drm/i915: tune down DIDL warning about too many outputs 2013-07-01 11:14:42 +02:00
intel_overlay.c drm/i915: change i915_add_request to macro 2013-06-13 17:42:15 +02:00
intel_panel.c drm/i915: quirk no PCH_PWM_ENABLE for Dell XPS13 backlight 2013-07-20 10:52:53 +02:00
intel_pm.c drm/i915: fix up gt init sequence fallout 2013-07-21 15:37:02 +02:00
intel_ringbuffer.c drm/i915: fix up ring cleanup for the i830/i845 CS tlb w/a 2013-07-09 16:31:49 +02:00
intel_ringbuffer.h drm/i915: store ring hangcheck action 2013-06-13 17:42:17 +02:00
intel_sdvo_regs.h
intel_sdvo.c Merge tag 'drm-intel-next-2013-06-18' of git://people.freedesktop.org/~danvet/drm-intel into drm-next 2013-06-28 09:50:34 +10:00
intel_sideband.c drm/i915: change VLV IOSF sideband accessors to not return error code 2013-05-23 23:25:42 +02:00
intel_sprite.c drm/i915: Disable/restore all sprite planes around modeset 2013-06-06 13:47:39 +02:00
intel_tv.c drm/i915: consolidate and tighten encoder cloning checks 2013-06-05 12:33:14 +02:00
Makefile drm/i915: group sideband register accessors to a new file 2013-05-23 23:24:03 +02:00