alistair23-linux/drivers/gpu/drm/i915
Daniel Vetter cc889e0f6c drm/i915: disable flushing_list/gpu_write_list
This is just the minimal patch to disable all this code so that we can
do decent amounts of QA before we rip it all out.

The complicating thing is that we need to flush the gpu caches after
the batchbuffer is emitted. Which is past the point of no return where
execbuffer can't fail any more (otherwise we risk submitting the same
batch multiple times).

Hence we need to add a flag to track whether any caches associated
with that ring are dirty. And emit the flush in add_request if that's
the case.

Note that this has a quite a few behaviour changes:
- Caches get flushed/invalidated unconditionally.
- Invalidation now happens after potential inter-ring sync.

I've bantered around a bit with Chris on irc whether this fixes
anything, and it might or might not. The only thing clear is that with
these changes it's much easier to reason about correctness.

Also rip out a lone get_next_request_seqno in the execbuffer
retire_commands function. I've dug around and I couldn't figure out
why that is still there, with the outstanding lazy request stuff it
shouldn't be necessary.

v2: Chris Wilson complained that I also invalidate the read caches
when flushing after a batchbuffer. Now optimized.

v3: Added some comments to explain the new flushing behaviour.

Cc: Eric Anholt <eric@anholt.net>
Cc: 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>
2012-06-20 13:54:28 +02:00
..
dvo.h
dvo_ch7xxx.c
dvo_ch7017.c
dvo_ivch.c
dvo_sil164.c
dvo_tfp410.c
i915_debugfs.c drm/i915: add ccid to error state 2012-06-14 17:36:19 +02:00
i915_dma.c drm/i915: initialize the context idr unconditionally 2012-06-20 11:15:37 +02:00
i915_drv.c drm/i915: don't call modeset_init_hw in i915_reset 2012-06-20 11:31:44 +02:00
i915_drv.h drm/i915: initialize the context idr unconditionally 2012-06-20 11:15:37 +02:00
i915_gem.c drm/i915: disable flushing_list/gpu_write_list 2012-06-20 13:54:28 +02:00
i915_gem_context.c drm/i915: return -ENODEV if hw context are not supported 2012-06-20 11:19:20 +02:00
i915_gem_debug.c drm/i915: stop using dev->agp->base 2012-06-12 22:18:06 +02:00
i915_gem_dmabuf.c i915: add dma-buf vmap support for exporting vmapped buffer 2012-05-31 14:13:57 +01:00
i915_gem_evict.c drm/i915: Introduce for_each_ring() macro 2012-05-19 22:39:53 +02:00
i915_gem_execbuffer.c drm/i915: disable flushing_list/gpu_write_list 2012-06-20 13:54:28 +02:00
i915_gem_gtt.c i915: add dmabuf/prime buffer sharing support. 2012-05-23 10:47:10 +01:00
i915_gem_stolen.c
i915_gem_tiling.c
i915_ioc32.c
i915_irq.c drm/i915: add ccid to error state 2012-06-14 17:36:19 +02:00
i915_reg.h drm/i915: add L3 bank clock gating disable on VLV 2012-06-18 18:41:47 +02:00
i915_suspend.c drm/i915: gen6_enable_rps() wants to be called after ring initialisation 2012-05-19 22:38:29 +02:00
i915_sysfs.c drm/i915: simplify sysfs setup code 2012-06-01 10:00:57 +02:00
i915_trace.h drm/i915: improve i915_wait_request_begin trace 2012-05-25 09:55:15 +02:00
i915_trace_points.c
intel_acpi.c
intel_bios.c
intel_bios.h
intel_crt.c drm/i915/crt: Do not rely upon the HPD presence pin 2012-06-16 15:30:32 +02:00
intel_ddi.c drm/i915: add set_infoframes to struct intel_hdmi 2012-05-30 21:36:58 +02:00
intel_display.c drm/i915: properly wait for SBI status 2012-06-18 09:57:07 +02:00
intel_dp.c drm/i915: don't chnage the original mode in dp_mode_fixup 2012-06-04 21:29:47 +02:00
intel_drv.h drm/i915: Switch off FBC when disabling the primary plane when obscured 2012-06-13 20:10:00 +02:00
intel_dvo.c
intel_fb.c drm/i915: stop using dev->agp->base 2012-06-12 22:18:06 +02:00
intel_hdmi.c drm/i915: ensure HDMI port is disabled inside set_infoframes 2012-06-12 19:19:52 +02:00
intel_i2c.c drm/i915: be more careful when returning -ENXIO in gmbus transfer 2012-05-21 21:04:21 +02:00
intel_lvds.c drm/i915: allow pipe A for lvds on gen4 2012-06-12 19:28:40 +02:00
intel_modes.c
intel_opregion.c
intel_overlay.c drm/i915: s/i915_wait_request/i915_wait_seqno/g 2012-05-25 14:18:42 +02:00
intel_panel.c drm/i915: properly enable the blc controller on the right pipe 2012-06-12 19:27:58 +02:00
intel_pm.c drm/i915: add L3 bank clock gating disable on VLV 2012-06-18 18:41:47 +02:00
intel_ringbuffer.c drm/i915: possibly invalidate TLB before context switch 2012-06-14 17:36:19 +02:00
intel_ringbuffer.h drm/i915: disable flushing_list/gpu_write_list 2012-06-20 13:54:28 +02:00
intel_sdvo.c Merge remote-tracking branch 'airlied/drm-prime-vmap' into drm-intel-next-queued 2012-06-01 10:52:54 +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: Switch off FBC when disabling the primary plane when obscured 2012-06-13 20:10:00 +02:00
intel_tv.c drm/i915: Adding TV Out Missing modes. 2012-05-24 17:54:08 +02:00
Makefile drm/i915: preliminary context support 2012-06-14 17:36:16 +02:00