linux/drivers/gpu/drm/i915
Chris Wilson 016b9b61ed drm/i915: Share the common work of disabling active FBC before updating
Upon review, all path share the same dependencies for updating the
registers and so we can benefit from sharing the code and checking
early.

This removes the unsightly intel_wait_for_vblank() from the lowlevel
functions and upon further analysis the only path that will require a
wait is if we are performing an instantaneous transition between two
valid FBC configurations. The page-flip path itself will have disabled
FBC registers and will have waited for at least one vblank before
finishing the flip and attempting to re-enable FBC. This wait can be
accomplished simply by delaying the enable until after we are sure that
a vblank will have passed, which we are already doing to make sure that
the display is settled before enabling FBC.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2011-07-08 10:23:20 -07:00
..
dvo_ch7xxx.c drm/i915: use GMBUS to manage i2c links 2010-09-18 15:46:19 +01:00
dvo_ch7017.c drm/i915/dvo: Report LVDS attached to ch701x as connected 2010-12-30 13:50:43 +00:00
dvo_ivch.c drm/i915: use GMBUS to manage i2c links 2010-09-18 15:46:19 +01:00
dvo_sil164.c drm/i915: use GMBUS to manage i2c links 2010-09-18 15:46:19 +01:00
dvo_tfp410.c drm/i915: use GMBUS to manage i2c links 2010-09-18 15:46:19 +01:00
dvo.h drm/i915: Subclass intel_encoder. 2010-08-09 11:24:28 -07:00
i915_debugfs.c Merge branch 'drm-intel-fixes' into drm-intel-next 2011-06-29 13:47:53 -07:00
i915_dma.c drm/i915: Only export the generic intel_disable_fbc() interface 2011-07-08 10:22:51 -07:00
i915_drv.c Merge branch 'drm-intel-fixes' into drm-intel-next 2011-07-07 15:39:51 -07:00
i915_drv.h drm/i915: Share the common work of disabling active FBC before updating 2011-07-08 10:23:20 -07:00
i915_gem_debug.c drm/i915: Refine tracepoints 2011-02-07 14:59:18 +00:00
i915_gem_evict.c drm/i915: Refine tracepoints 2011-02-07 14:59:18 +00:00
i915_gem_execbuffer.c Revert "drm/i915: Kill GTT mappings when moving from GTT domain" 2011-06-21 11:11:02 -07:00
i915_gem_gtt.c drm/i915: Add an interface to dynamically change the cache level 2011-06-09 21:51:16 -07:00
i915_gem_tiling.c drm/i915: add swizzle/tiling support for Ivy Bridge 2011-05-13 17:05:43 -07:00
i915_gem.c Merge branch 'drm-intel-fixes' into drm-intel-next 2011-06-29 10:34:54 -07:00
i915_ioc32.c drm: convert drm_ioctl to unlocked_ioctl 2009-12-18 11:22:31 +10:00
i915_irq.c Merge branch 'drm-intel-fixes' into drm-intel-next 2011-07-01 13:33:49 -07:00
i915_mem.c drm: Remove memory debugging infrastructure. 2009-06-18 13:00:33 -07:00
i915_reg.h drm/i915: Set persistent-mode for ILK/SNB framebuffer compression 2011-07-08 10:23:12 -07:00
i915_suspend.c drm/i915: Only export the generic intel_disable_fbc() interface 2011-07-08 10:22:51 -07:00
i915_trace_points.c drm/i915: Add tracepoints 2009-09-23 01:05:21 +01:00
i915_trace.h drm/i915: Refine tracepoints 2011-02-07 14:59:18 +00:00
intel_acpi.c drm/i915: i915 cannot provide switcher services. 2010-12-08 15:40:44 +10:00
intel_bios.c drm: Verify debug message arguments 2011-04-28 14:53:21 +10:00
intel_bios.h Revert "drm/i915: Disable SSC for outputs other than LVDS or DP" 2011-02-22 15:55:28 +00:00
intel_crt.c drm/i915/crt: Explicitly return false if connected to a digital monitor 2011-06-04 10:41:06 -07:00
intel_display.c drm/i915: Share the common work of disabling active FBC before updating 2011-07-08 10:23:20 -07:00
intel_dp.c Merge branch 'drm-intel-fixes' into drm-intel-next 2011-07-07 13:39:38 -07:00
intel_drv.h drm/i915: Perform intel_enable_fbc() from a delayed task 2011-07-08 10:23:17 -07:00
intel_dvo.c drm/i915: cleanup per-pipe reg usage 2011-02-07 21:17:15 +00:00
intel_fb.c drm/i915: restore only the mode of this driver on lastclose (v2) 2011-04-27 17:51:59 +10:00
intel_hdmi.c drm/i915: use pipe bpp when setting HDMI bpc 2011-07-07 13:20:46 -07:00
intel_i2c.c Revert "drm/i915: Enable GMBUS for post-gen2 chipsets" 2011-06-17 09:22:01 +10:00
intel_lvds.c drm/i915: Add a no lvds quirk for the Asus EeeBox PC EB1007 2011-06-04 10:48:45 -07:00
intel_modes.c drm/i915: Share the common force-audio property between connectors 2011-06-04 10:41:25 -07:00
intel_opregion.c drm/i915: Use a symbolic constant for OpRegion lid state 2011-02-24 18:13:42 +00:00
intel_overlay.c Merge branch 'drm-intel-fixes' into drm-intel-next 2011-06-29 20:38:41 -07:00
intel_panel.c Merge commit '5359533801e3dd3abca5b7d3d985b0b33fd9fe8b' into drm-core-next 2011-03-16 11:34:41 +10:00
intel_ringbuffer.c drm/i915: Add an interface to dynamically change the cache level 2011-06-09 21:51:16 -07:00
intel_ringbuffer.h drm/i915: proper use of forcewake 2011-05-10 13:56:45 -07:00
intel_sdvo_regs.h Fix common misspellings 2011-03-31 11:26:23 -03:00
intel_sdvo.c drm/i915: Share the common force-audio property between connectors 2011-06-04 10:41:25 -07:00
intel_tv.c drm/i915: Don't store temporary load-detect variables in the generic encoder 2011-05-10 13:19:15 -07:00
Makefile drm/i915: Split i915_gem_execbuffer into its own file. 2010-11-25 21:19:25 +00:00