1
linux/drivers/gpu/drm/i915
Eric Anholt bd95e0a4a6 i915: Remove racy delayed vblank swap ioctl.
When userland detected that this ioctl was supported (by version number check),
it used it in a racy way -- dispatch delayed swap, wait for vblank, continue
rendering. As there was no mechanism for it to wait for the swap to finish,
sometimes it would render before the swap and garbage would be displayed on
the screen.

By removing the ioctl and returning -EINVAL, userland returns to its previous,
correct rendering path of waiting for a vblank then dispatching a swap.  The
only path that could have used this ioctl correctly was page flipping, which
relied on only one client running and emitting wait-for-vblank-before-rendering
in the command stream.  That path also falls back correctly, at the performance
cost of not being able to queue up rendering before the flip occurs.

Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Dave Airlie <airlied@linux.ie>
2008-11-11 17:44:22 +10:00
..
i915_dma.c i915: Don't whine when pci_enable_msi() fails. 2008-11-11 17:44:04 +10:00
i915_drv.c drm: Add GEM ("graphics execution manager") to i915 driver. 2008-10-18 07:10:12 +10:00
i915_drv.h i915: Remove racy delayed vblank swap ioctl. 2008-11-11 17:44:22 +10:00
i915_gem_debug.c drm: Add GEM ("graphics execution manager") to i915 driver. 2008-10-18 07:10:12 +10:00
i915_gem_proc.c i915: Don't dereference HWS in /proc debug files when it isn't initialized. 2008-10-23 13:42:27 +10:00
i915_gem_tiling.c i915: GM45 has GM965-style MCH setup. 2008-10-18 07:10:53 +10:00
i915_gem.c i915: Don't attempt to short-circuit object_wait_rendering by checking domains. 2008-11-11 17:43:26 +10:00
i915_ioc32.c
i915_irq.c i915: Remove racy delayed vblank swap ioctl. 2008-11-11 17:44:22 +10:00
i915_mem.c
i915_opregion.c Add Intel ACPI IGD OpRegion support 2008-10-18 07:10:10 +10:00
i915_reg.h i915: Save/restore MCHBAR_RENDER_STANDBY on GM965/GM45 2008-11-11 17:42:19 +10:00
i915_suspend.c i915: Save/restore MCHBAR_RENDER_STANDBY on GM965/GM45 2008-11-11 17:42:19 +10:00
Makefile build fix: CONFIG_DRM_I915=y && CONFIG_ACPI=n 2008-10-28 07:46:06 +10:00