linux/drivers/gpu/drm/i915
Chris Wilson e59f2bac15 drm/i915: Wait for pending flips on the GPU
Currently, if a batch buffer refers to an object with a pending flip,
then we sleep until that pending flip is completed (unpinned and
signalled). This is so that a flip can be queued and the user can
continue rendering to the backbuffer oblivious to whether the buffer is
still pinned as the scan out. (The kernel arbitrating at the last moment
to stall the batch and wait until the buffer is unpinned and replaced as
the front buffer.)

As we only have a queue depth of 1, we can simply wait for the current
pending flip to complete and continue rendering. We can achieve this
with a single WAIT_FOR_EVENT command inserted into the ring buffer prior
to executing the batch, *without* stalling the client.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-10-07 19:10:09 +01: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: Tidy dvo_ch7017 and print out which chip we detect 2010-09-28 23:33:17 +01: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 drm: Move the GTT accounting to i915 2010-10-01 14:45:20 +01:00
i915_dma.c drm/i915: Free hardware status page on unload when physically mapped 2010-10-07 10:00:18 +01:00
i915_drv.c drm/i915: If the GPU hangs twice within 5 seconds, declare it wedged. 2010-10-01 14:57:56 +01:00
i915_drv.h drm/i915: If the GPU hangs twice within 5 seconds, declare it wedged. 2010-10-01 14:57:56 +01:00
i915_gem_debug.c drm/i915/debug: Convert i915_verify_active() to scan all lists 2010-09-30 09:30:11 +01:00
i915_gem_evict.c Merge branch 'drm-intel-fixes' into drm-intel-next 2010-10-03 10:56:11 +01:00
i915_gem_tiling.c drm/i915: Adjust hangcheck EIO semantics 2010-09-25 12:23:12 +01:00
i915_gem.c drm/i915: Wait for pending flips on the GPU 2010-10-07 19:10:09 +01:00
i915_ioc32.c drm: convert drm_ioctl to unlocked_ioctl 2009-12-18 11:22:31 +10:00
i915_irq.c drm/i915: Only print 'generating error event' if we actually are 2010-10-01 14:48:20 +01:00
i915_mem.c drm: Remove memory debugging infrastructure. 2009-06-18 13:00:33 -07:00
i915_reg.h Merge branch 'drm-intel-fixes' into drm-intel-next 2010-10-03 10:56:11 +01:00
i915_suspend.c drm/i915: INTEL_INFO->gen supercedes i8xx, i9xx, i965g 2010-09-21 11:19:45 +01:00
i915_trace_points.c drm/i915: Add tracepoints 2009-09-23 01:05:21 +01:00
i915_trace.h drm/i915: add tracepoints for flip requests & completions 2010-07-02 14:04:14 +10:00
intel_bios.c i915: Added function to initialize VBT settings 2010-09-30 09:46:58 +01:00
intel_bios.h drm/i915/sdvo: Fix GMBUSification 2010-09-28 13:29:10 +01:00
intel_crt.c drm/i915/crt: Use a DDC probe on 0xA0 before load-detect 2010-09-22 18:32:55 +01:00
intel_display.c drm/i915: Wait for pending flips on the GPU 2010-10-07 19:10:09 +01:00
intel_dp.c drm/i915: mark display port DPMS state as 'ON' when enabling output 2010-10-04 10:16:09 +01:00
intel_drv.h Merge branch 'drm-intel-fixes' into drm-intel-next 2010-10-03 10:56:11 +01:00
intel_dvo.c drm/i915/dvo: Fix panel and DDC i2c pins 2010-09-28 23:34:44 +01:00
intel_fb.c Merge remote branch 'korg/drm-fixes' into drm-vmware-next 2010-10-06 11:10:48 +10:00
intel_hdmi.c Merge branch 'drm-intel-fixes' into HEAD 2010-09-21 11:19:32 +01:00
intel_i2c.c drm/i915: Use i2c bit banging instead of GMBUS 2010-09-28 13:35:47 +01:00
intel_lvds.c drm/i915: Disable LVDS i2c probing when using GPIO bit banging 2010-09-28 16:47:00 +01:00
intel_modes.c drm/i915: use GMBUS to manage i2c links 2010-09-18 15:46:19 +01:00
intel_opregion.c drm/i915: Refactor panel backlight controls 2010-09-08 10:23:58 +01:00
intel_overlay.c drm/i915: INTEL_INFO->gen supercedes i8xx, i9xx, i965g 2010-09-21 11:19:45 +01:00
intel_panel.c drm/i915: INTEL_INFO->gen supercedes i8xx, i9xx, i965g 2010-09-21 11:19:45 +01:00
intel_ringbuffer.c drm/i915/debug: Convert i915_verify_active() to scan all lists 2010-09-30 09:30:11 +01:00
intel_ringbuffer.h Revert "drm/i915: Drop ring->lazy_request" 2010-09-28 11:30:52 +01:00
intel_sdvo_regs.h drm/i915/sdvo: Add missing TV filters 2010-08-09 11:24:29 -07:00
intel_sdvo.c Merge branch 'drm-intel-fixes' into drm-intel-next 2010-09-28 15:48:38 +01:00
intel_tv.c Merge branch 'drm-intel-fixes' into drm-intel-next 2010-10-03 10:56:11 +01:00
Makefile drm/i915: Use the VBT from OpRegion when available (v3) 2010-09-08 10:13:32 +01:00