linux/drivers/gpu/drm/i915
Eric Anholt ae662d3126 drm/i915: Add support for resetting the SO write pointers on gen7.
These registers are automatically incremented by the hardware during
transform feedback to track where the next streamed vertex output
should go.  Unlike the previous generation, which had a packet for
setting the corresponding registers to a defined value, gen7 only has
MI_LOAD_REGISTER_IMM to do so.  That's a secure packet (since it loads
an arbitrary register), so we need to do it from the kernel, and it
needs to be settable atomically with the batchbuffer execution so that
two clients doing transform feedback don't stomp on each others'
state.

Instead of building a more complicated interface involcing setting the
registers to a specific value, just set them to 0 when asked and
userland can tweak its pointers accordingly.

Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Signed-off-by: Keith Packard <keithp@keithp.com>
2012-01-03 09:31:18 -08:00
..
dvo_ch7xxx.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
dvo_ch7017.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
dvo_ivch.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
dvo_sil164.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
dvo_tfp410.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
dvo.h drm/i915: Subclass intel_encoder. 2010-08-09 11:24:28 -07:00
i915_debugfs.c drm/i915: drpc debugfs update for gen6 2012-01-03 09:09:45 -08:00
i915_dma.c drm/i915: Add support for resetting the SO write pointers on gen7. 2012-01-03 09:31:18 -08:00
i915_drv.c drm/i915: Clean up multi-threaded forcewake patch 2012-01-03 09:09:45 -08:00
i915_drv.h drm/i915: add SNB and IVB video sprite support v6 2012-01-03 09:31:09 -08:00
i915_gem_debug.c drm/i915: drop KM_USER0 argument to k(un)map_atomic 2011-10-20 15:26:37 -07:00
i915_gem_evict.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
i915_gem_execbuffer.c drm/i915: Add support for resetting the SO write pointers on gen7. 2012-01-03 09:31:18 -08:00
i915_gem_gtt.c drm/i915: ILK + VT-d workaround 2011-10-20 15:26:39 -07:00
i915_gem_tiling.c drm/i915: simplify swapin/out swizzle checking a bit 2011-10-20 14:11:18 -07:00
i915_gem.c drm/i915: Make the fallback IRQ wait not sleep. 2012-01-03 09:31:16 -08: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-next' of git://people.freedesktop.org/~keithp/linux into drm-core-next 2012-01-03 09:34:43 +00:00
i915_mem.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
i915_reg.h drm/i915: Add support for resetting the SO write pointers on gen7. 2012-01-03 09:31:18 -08:00
i915_suspend.c drm/i915: Ivybridge still has fences! 2011-11-03 09:20:00 -07:00
i915_trace_points.c drm/i915: Add tracepoints 2009-09-23 01:05:21 +01:00
i915_trace.h Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
intel_acpi.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
intel_bios.c drm/i915: Remove "i2c_speed" nonsense from child device table 2011-10-20 14:11:15 -07:00
intel_bios.h drm/i915: Remove "i2c_speed" nonsense from child device table 2011-10-20 14:11:15 -07:00
intel_crt.c drm/i915: use transcoder select bits on VGA and HDMI on CPT 2011-10-20 15:26:43 -07:00
intel_display.c drm/i915: Set two chicken bits implicated in missed IRQs on Ivybridge. 2012-01-03 09:31:13 -08:00
intel_dp.c drm/i915: DisplayPort hot remove notification to audio driver 2011-12-19 19:15:48 -08:00
intel_drv.h drm/i915: add color key support v4 2012-01-03 09:31:12 -08:00
intel_dvo.c drm/i915: cleanup per-pipe reg usage 2011-02-07 21:17:15 +00:00
intel_fb.c drm/i915: add SNB and IVB video sprite support v6 2012-01-03 09:31:09 -08:00
intel_hdmi.c drm/i915: HDMI hot remove notification to audio driver 2011-12-19 19:15:48 -08:00
intel_i2c.c gpu: Add export.h as required to drivers/gpu files. 2011-10-31 19:32:03 -04:00
intel_lvds.c drm/i915: no-lvds quirk for ASUS AT5NM10T-I 2011-12-16 08:49:54 -08:00
intel_modes.c drm/i915: pass ELD to HDMI/DP audio driver 2011-09-21 14:52:41 -07:00
intel_opregion.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
intel_overlay.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
intel_panel.c drm/i915: Treat pre-gen4 backlight duty cycle value consistently 2011-11-23 13:07:13 -08:00
intel_ringbuffer.c drm/i915: Work around gen7 BLT ring synchronization issues. 2012-01-03 09:31:15 -08:00
intel_ringbuffer.h drm/i915: Dumb down the semaphore logic 2011-09-21 14:52:41 -07:00
intel_sdvo_regs.h Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
intel_sdvo.c drm/i915/sdvo: Include LVDS panels for the IS_DIGITAL check 2011-12-16 08:49:56 -08:00
intel_sprite.c drm/i915: add color key support v4 2012-01-03 09:31:12 -08:00
intel_tv.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
Makefile drm/i915: add SNB and IVB video sprite support v6 2012-01-03 09:31:09 -08:00