linux/drivers/gpu/drm/i915
Imre Deak 671952a2a2 drm/i915: fix rps.vlv_work initialization
During driver loading we are initializing rps.vlv_work in
valleyview_enable_rps() via the rps.delayed_resume_work delayed work.
This is too late since we are using vlv_work already via
i915_driver_load()->intel_uncore_sanitize()->
intel_disable_gt_powersave(). This at least leads to the following
kernel warning:

 INFO: trying to register non-static key.
 the code is fine but needs lockdep annotation.
 turning off the locking correctness validator.

Fix this by initialzing vlv_work before we call intel_uncore_sanitize().

The regression was introduced in

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

though there was no good reason to initialize the static vlv_work from
another delayed work to begin with (especially since this will happen
multiple times).

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=69397
Tested-by: shui yangwei <yangweix.shui@intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
Cc: stable@vger.kernel.org
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-10-01 21:10:41 +02:00
..
dvo_ch7xxx.c drm/i915: dvo_ch7xxx: fix vsync polarity setting 2013-07-25 16:10:22 +02:00
dvo_ch7017.c drm/i915/dvo: implement get_hw_state 2012-09-06 07:58:52 +02:00
dvo_ivch.c drm/i915/dvo: implement get_hw_state 2012-09-06 07:58:52 +02:00
dvo_ns2501.c drm/i915/dvo: implement get_hw_state 2012-09-06 07:58:52 +02:00
dvo_sil164.c drm/i915/dvo: implement get_hw_state 2012-09-06 07:58:52 +02:00
dvo_tfp410.c drm/i915/dvo: implement get_hw_state 2012-09-06 07:58:52 +02:00
dvo.h Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07:00
i915_debugfs.c drm/i915: Report requested frequency alongside current frequency in debugfs 2013-09-03 11:12:28 +02:00
i915_dma.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2013-09-12 15:01:38 -07:00
i915_drv.c drm/i915: split PCI IDs out into i915_drm.h v4 2013-09-03 19:17:56 +02:00
i915_drv.h drm/i915: fix hpd work vs. flush_work in the pageflip code deadlock 2013-09-04 17:34:02 +02:00
i915_gem_context.c drm/i915: mm_list is per VMA 2013-08-08 14:06:58 +02:00
i915_gem_debug.c drm/i915: Fix #endif comment 2013-08-09 10:45:52 +02:00
i915_gem_dmabuf.c drm/i915: Pin pages whilst mapping the dma-buf 2013-09-03 19:17:58 +02:00
i915_gem_evict.c drm/i915/vma: Correct use after free in eviction 2013-08-23 14:52:21 +02:00
i915_gem_execbuffer.c drm/i915: fix up the relocate_entry refactoring 2013-09-03 19:18:01 +02:00
i915_gem_gtt.c drm/i915: Use Write-Through cacheing for the display plane on Iris 2013-08-22 13:31:38 +02:00
i915_gem_stolen.c drm/i915: Skip stolen region initialisation if none is reserved 2013-09-05 14:49:50 +02:00
i915_gem_tiling.c drm/i915: plumb VM into bind/unbind code 2013-08-08 14:04:20 +02:00
i915_gem.c drm/i915: Fix up usage of SHRINK_STOP 2013-09-26 00:31:51 +02:00
i915_gpu_error.c drm/i915: Use a temporary va_list for two-pass string handling 2013-09-24 09:36:40 +02:00
i915_ioc32.c UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
i915_irq.c drm/i915: fix wait_for_pending_flips vs gpu hang deadlock 2013-09-09 11:26:03 +02:00
i915_reg.h drm/i915: enable trickle feed on Haswell 2013-09-03 19:17:57 +02:00
i915_suspend.c Linux 3.10 2013-07-18 12:03:29 +02:00
i915_sysfs.c drm/i915: Adjust available RPS information through sysfs for vlv 2013-09-03 11:10:55 +02:00
i915_trace_points.c
i915_trace.h drm/i915: plumb VM into bind/unbind code 2013-08-08 14:04:20 +02:00
i915_ums.c drm/i915: scrap register address storage 2013-06-10 19:54:14 +02:00
intel_acpi.c i915: fix ACPI _DSM warning 2013-08-05 19:04:05 +02:00
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: Apply the force-detect VGA w/a to Valleyview 2013-09-03 11:10:55 +02:00
intel_ddi.c drm/i915: Track pfit enable state separately from size 2013-09-08 21:59:13 +02:00
intel_display.c drm/i915: preserve pipe A quirk in i9xx_set_pipeconf 2013-09-24 20:39:00 +02:00
intel_dp.c drm/i915/dp: increase i2c-over-aux retry interval on AUX DEFER 2013-09-24 20:38:54 +02:00
intel_drv.h drm/i915: Track pfit enable state separately from size 2013-09-08 21:59:13 +02:00
intel_dvo.c drm/i915/dvo: set crtc timings again for panel fixed modes 2013-09-12 00:37:00 +02:00
intel_fb.c drm/i915: Export intel_framebuffer_fini 2013-08-06 20:08:50 +02:00
intel_hdmi.c Merge tag 'drm-intel-next-2013-08-23' of git://people.freedesktop.org/~danvet/drm-intel into drm-next 2013-08-30 09:47:41 +10:00
intel_i2c.c drm/i915: allow package C8+ states on Haswell (disabled) 2013-08-23 14:52:33 +02:00
intel_lvds.c drm/i915: Fix pipe config warnings when dealing with LVDS fixed mode 2013-09-03 19:18:00 +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: try not to lose backlight CBLV precision 2013-09-06 09:41:20 +02:00
intel_overlay.c drm/i915: Add VM to pin 2013-08-05 19:04:09 +02:00
intel_panel.c drm/i915: Track pfit enable state separately from size 2013-09-08 21:59:13 +02:00
intel_pm.c drm/i915: fix rps.vlv_work initialization 2013-10-01 21:10:41 +02:00
intel_ringbuffer.c drm/i915: Embed the ring->private within the struct intel_ring_buffer 2013-09-03 19:17:55 +02:00
intel_ringbuffer.h drm/i915: Embed the ring->private within the struct intel_ring_buffer 2013-09-03 19:17:55 +02:00
intel_sdvo_regs.h drm/i915: clear the entire sdvo infoframe buffer 2012-10-24 15:12:48 +02:00
intel_sdvo.c drm/i915/sdvo: Robustify the dtd<->drm_mode conversions 2013-09-12 00:36:59 +02: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: enable trickle feed on Haswell 2013-09-03 19:17:57 +02:00
intel_tv.c drm/i915/tv: clear adjusted_mode.flags 2013-09-24 20:38:59 +02:00
intel_uncore.c drm/i915: sanitize forcewake registers on reset 2013-09-03 11:10:54 +02:00
Makefile drm/i915: Colocate all GT access routines in the same file 2013-07-25 15:21:50 +02:00