linux-sg2042/drivers/gpu/drm/i915
Jesse Barnes 1a01ab3b2d drm/i915: put ring frequency and turbo setup into a work queue v5
Communicating via the mailbox registers with the PCU can take quite
awhile.  And updating the ring frequency or enabling turbo is not
something that needs to happen synchronously, so take it out of our init
and resume paths to speed things up (~200ms on my T420).

v2: add comment about why we use a work queue (Daniel)
    make sure work queue is idle on suspend (Daniel)
    use a delayed work queue since there's no hurry (Daniel)
v3: make cleanup symmetric and just call cancel work directly (Daniel)
v4: schedule the work using round_jiffies_up to batch work better (Chris)
v5: fix the right schedule_delayed_work call (Chris)

References: https://bugs.freedesktop.org/show_bug.cgi?id=54089

Signed-of-by: Jesse Barnes <jbarnes@virtuougseek.org>
[danvet: bikeshed the placement of the new delayed work, move it to
all the other gen6 power mgmt stuff.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-11-11 23:51:41 +01:00
..
Makefile drm/i915: Support for ns2501-DVO 2012-07-25 18:23:48 +02:00
dvo.h Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07:00
dvo_ch7xxx.c drm/i915/dvo-ch7xxx: fix get_hw_state 2012-10-12 10:59:11 +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
i915_debugfs.c drm/i915: move pwrctx/renderctx to the other ilk power state 2012-11-11 23:51:39 +01:00
i915_dma.c drm/i915: don't block resume on fb console resume v2 2012-11-11 23:51:40 +01:00
i915_drv.c drm/i915: put ring frequency and turbo setup into a work queue v5 2012-11-11 23:51:41 +01:00
i915_drv.h drm/i915: put ring frequency and turbo setup into a work queue v5 2012-11-11 23:51:41 +01:00
i915_gem.c drm/i915: extract l3_parity substruct from dev_priv 2012-11-11 23:51:40 +01:00
i915_gem_context.c Merge branch 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel into drm-next 2012-10-07 21:13:54 +10:00
i915_gem_debug.c UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
i915_gem_dmabuf.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07:00
i915_gem_evict.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07:00
i915_gem_execbuffer.c Linux 3.7-rc2 2012-10-22 14:34:51 +02:00
i915_gem_gtt.c drm/i915: move more pte encoding to pte encode 2012-11-11 23:51:11 +01:00
i915_gem_stolen.c UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
i915_gem_tiling.c Merge branch 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel into drm-next 2012-10-07 21:13:54 +10: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: extract l3_parity substruct from dev_priv 2012-11-11 23:51:40 +01:00
i915_reg.h drm/i915: TLB invalidation with MI_FLUSH_DW requires a post-sync op v3 2012-11-11 23:51:36 +01:00
i915_suspend.c drm/i915: move the suspend/resume register file out of dev_priv 2012-11-11 23:51:38 +01:00
i915_sysfs.c drm/i915: extract l3_parity substruct from dev_priv 2012-11-11 23:51:40 +01:00
i915_trace.h drm/i915: Allow DRM_ROOT_ONLY|DRM_MASTER to submit privileged batchbuffers 2012-10-17 21:06:59 +02:00
i915_trace_points.c drm/i915: [sparse] trivial sparse fixes 2012-04-18 10:34:49 +02:00
intel_acpi.c UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
intel_bios.c UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
intel_bios.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
intel_crt.c drm/i915: use intel_ddi_get_hw_state on CRT encoder too 2012-11-11 23:51:16 +01:00
intel_ddi.c drm/i915: fix Haswell FDI link disable path 2012-11-11 23:51:33 +01:00
intel_display.c drm/i915: fix Haswell FDI link disable path 2012-11-11 23:51:33 +01:00
intel_dp.c drm/i915: create the DDI encoder 2012-11-11 23:51:08 +01:00
intel_drv.h drm/i915: fix Haswell FDI link disable path 2012-11-11 23:51:33 +01:00
intel_dvo.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07:00
intel_fb.c UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
intel_hdmi.c drm/i915: create the DDI encoder 2012-11-11 23:51:08 +01:00
intel_i2c.c UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
intel_lvds.c drm/i915/lvds: move fitting mode from intel_lvds_connector to intel_panel 2012-10-26 20:50:57 +02:00
intel_modes.c drm/i915: Do not free the passed EDID in intel_connector_update_modes() 2012-10-22 19:33:46 +02:00
intel_opregion.c Linux 3.7-rc2 2012-10-22 14:34:51 +02:00
intel_overlay.c Merge branch 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel into drm-fixes 2012-10-16 10:11:59 +10:00
intel_panel.c drm/i915: move the suspend/resume register file out of dev_priv 2012-11-11 23:51:38 +01:00
intel_pm.c drm/i915: put ring frequency and turbo setup into a work queue v5 2012-11-11 23:51:41 +01:00
intel_ringbuffer.c drm/i915: PIPE_CONTROL TLB invalidate requires CS stall 2012-11-11 23:51:37 +01:00
intel_ringbuffer.h drm/i915: TLB invalidation with MI_FLUSH_DW requires a post-sync op v3 2012-11-11 23:51:36 +01:00
intel_sdvo.c drm/i915/sdvo: restore i2c adapter config on intel_sdvo_init() failures 2012-10-26 10:26:43 +02:00
intel_sdvo_regs.h drm/i915: properly handle interlaced bit for sdvo dtd conversion 2012-05-24 17:53:52 +02:00
intel_sprite.c drm/i915: Bad pixel formats can't reach the sprite code 2012-11-11 23:51:14 +01:00
intel_tv.c drm/i915/tv: Use intel_flush_display_plane() to flush the primary plane 2012-11-11 23:51:00 +01:00