platform/upstream/libdrm.git
16 years agoDRM_INFO -> DRM_DEBUG
Alan Hourihane [Tue, 26 Feb 2008 15:21:44 +0000 (15:21 +0000)]
DRM_INFO  -> DRM_DEBUG

16 years agoDRM_INFO -> DRM_DEBUG
Alan Hourihane [Tue, 26 Feb 2008 15:20:59 +0000 (15:20 +0000)]
DRM_INFO -> DRM_DEBUG

16 years agodefine PRETHAW
Alan Hourihane [Tue, 26 Feb 2008 15:20:29 +0000 (15:20 +0000)]
define PRETHAW

16 years agoImplement short circuit for base change only
Alan Hourihane [Fri, 22 Feb 2008 11:46:22 +0000 (11:46 +0000)]
Implement short circuit for base change only

Allow mode to be set with fb_id set to -1, meaning set
the mode with the current fb (if we have one bound).

Allow intelfb to hook back up it's fb if modesetting
clears it (maybe temporary).

Move any crtc->fb related register changes to set_base
in intel_fb.

General intelfb cleanups.

16 years agoi915: fix typos
Dave Airlie [Tue, 26 Feb 2008 06:19:54 +0000 (16:19 +1000)]
i915: fix typos

16 years agoi915_mmio: add overlay regs
Dave Airlie [Tue, 26 Feb 2008 06:11:39 +0000 (16:11 +1000)]
i915_mmio: add overlay regs

16 years agodrm: fix pick crtcs mode selection code
Dave Airlie [Tue, 26 Feb 2008 06:11:03 +0000 (17:11 +1100)]
drm: fix pick crtcs mode selection code

16 years agosilence warning
Alan Hourihane [Fri, 22 Feb 2008 11:38:08 +0000 (11:38 +0000)]
silence warning

16 years agomodesetting: fix memory leak and misallocation
Dave Airlie [Thu, 21 Feb 2008 05:58:56 +0000 (15:58 +1000)]
modesetting: fix memory leak and misallocation

16 years agoadd ioctl to get back memory managed area sized - used for kernel inited areas
Dave Airlie [Wed, 20 Feb 2008 03:27:10 +0000 (13:27 +1000)]
add ioctl to get back memory managed area sized - used for kernel inited areas

16 years agohopefully shit works now without this...
Dave Airlie [Wed, 20 Feb 2008 03:26:40 +0000 (13:26 +1000)]
hopefully shit works now without this...

16 years agoMerge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into modesetting-101
Alan Hourihane [Thu, 21 Feb 2008 23:56:27 +0000 (23:56 +0000)]
Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into modesetting-101

16 years agoDon't free irq resources until after we've unregistered the handler.
Kristian Høgsberg [Thu, 21 Feb 2008 20:31:48 +0000 (15:31 -0500)]
Don't free irq resources until after we've unregistered the handler.

16 years agoMerge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into modesetting-101
Alan Hourihane [Thu, 21 Feb 2008 11:37:07 +0000 (11:37 +0000)]
Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into modesetting-101

Conflicts:

linux-core/drm_sysfs.c

16 years agolinux: Clean up vblank related resources from drm_irq_uninstall().
Michel Dänzer [Thu, 21 Feb 2008 10:49:38 +0000 (11:49 +0100)]
linux: Clean up vblank related resources from drm_irq_uninstall().

This fixes at least two problems:

* The vblank_disable_fn timer callback could get called after the DRM was
  de-initialized, e.g. on X server shutdown.
* Leak of vblank related resources when disabling and re-enabling the IRQ, e.g.
  on an X server reset.

16 years agofix SAREA
Alan Hourihane [Wed, 20 Feb 2008 22:22:49 +0000 (22:22 +0000)]
fix SAREA

16 years agofix SAREA
Alan Hourihane [Wed, 20 Feb 2008 22:22:49 +0000 (22:22 +0000)]
fix SAREA

16 years agominor test fixes
Alan Hourihane [Wed, 20 Feb 2008 19:54:36 +0000 (19:54 +0000)]
minor test fixes

16 years agocompatibility code for pci_get_bus_and_slot()
Alan Hourihane [Tue, 19 Feb 2008 15:32:00 +0000 (15:32 +0000)]
compatibility code for  pci_get_bus_and_slot()

16 years agoremove more offset
Dave Airlie [Wed, 20 Feb 2008 01:44:10 +0000 (11:44 +1000)]
remove more offset

16 years agodrm/fb: get rid of offset from structure use bo offset
Dave Airlie [Wed, 20 Feb 2008 00:51:19 +0000 (10:51 +1000)]
drm/fb: get rid of offset from structure use bo offset

16 years agottm: make sure userspace can't destroy kernel create memory managers
Dave Airlie [Mon, 18 Feb 2008 00:39:21 +0000 (10:39 +1000)]
ttm: make sure userspace can't destroy kernel create memory managers

16 years agodrm: add support for passing state into the suspend hooks.
Dave Airlie [Wed, 20 Feb 2008 00:02:20 +0000 (10:02 +1000)]
drm: add support for passing state into the suspend hooks.

fix i915 driver to use state for hibernate save avoidance.

Signed-off-by: Dave Airlie <airlied@redhat.com>
16 years agoFix up conflicts for DRI2 (untested)
Alan Hourihane [Tue, 19 Feb 2008 15:17:24 +0000 (15:17 +0000)]
Fix up conflicts for DRI2 (untested)

16 years agoMerge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into modesetting-101
Alan Hourihane [Mon, 18 Feb 2008 22:35:46 +0000 (22:35 +0000)]
Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into modesetting-101

Conflicts:

linux-core/i915_fence.c
linux-core/via_fence.c
shared-core/i915_dma.c
shared-core/i915_drv.h
shared-core/i915_irq.c

16 years ago[915]: more registers for S3 (DSPCLK_GATE_D, CACHE_MODE_0, MI_ARB_STATE)
Keith Packard [Sun, 17 Feb 2008 03:19:29 +0000 (19:19 -0800)]
[915]: more registers for S3 (DSPCLK_GATE_D, CACHE_MODE_0, MI_ARB_STATE)

Failing to preserve the MI_ARB_STATE register was causing FIFO underruns on
the VGA output on my HP 2510p after resume.

16 years agonouveau: no GART on ia64 either.
Stephane Marchesin [Sat, 16 Feb 2008 02:50:10 +0000 (03:50 +0100)]
nouveau: no GART on ia64 either.

16 years agoi915: initial (and untested) TV out support
Jesse Barnes [Sat, 16 Feb 2008 00:13:21 +0000 (16:13 -0800)]
i915: initial (and untested) TV out support

Ported from xf86-video-intel.  Still need to tie in TV modes somehow, though
preferably w/o using the properties mechanism.

16 years agonv40: actually init all tile regs.
Ben Skeggs [Fri, 15 Feb 2008 17:33:27 +0000 (04:33 +1100)]
nv40: actually init all tile regs.

16 years agofb: fixup the offset by getting it from the right place
Dave Airlie [Fri, 15 Feb 2008 06:42:44 +0000 (16:42 +1000)]
fb: fixup the offset by getting it from the right place

16 years agovarious fixes from trying to get userspace started
Dave Airlie [Fri, 15 Feb 2008 06:15:04 +0000 (16:15 +1000)]
various fixes from trying to get userspace started

16 years agoswitch naming to new proposed scheme
Dave Airlie [Fri, 15 Feb 2008 00:04:28 +0000 (10:04 +1000)]
switch naming to new proposed scheme

16 years agoremove drm_minors_limit
Dave Airlie [Thu, 14 Feb 2008 23:57:30 +0000 (09:57 +1000)]
remove drm_minors_limit

16 years agomissing bits
Dave Airlie [Wed, 13 Feb 2008 21:37:34 +0000 (07:37 +1000)]
missing bits

16 years agoi915: Add a dri2 init path that gets the lock from the dri2 sarea.
Kristian Høgsberg [Tue, 5 Feb 2008 18:27:16 +0000 (13:27 -0500)]
i915: Add a dri2 init path that gets the lock from the dri2 sarea.

16 years agoi915: Only look up dev_priv->mmio_map if it's not already set up
Kristian Høgsberg [Tue, 12 Feb 2008 21:08:18 +0000 (16:08 -0500)]
i915: Only look up dev_priv->mmio_map if it's not already set up

16 years agoi915: Add I915_PARAM_CHIPSET_ID param to get chipset ID.
Kristian Høgsberg [Tue, 5 Feb 2008 17:27:48 +0000 (12:27 -0500)]
i915: Add I915_PARAM_CHIPSET_ID param to get chipset ID.

16 years agoi915: Make sarea_priv setup optional.
Kristian Høgsberg [Tue, 5 Feb 2008 17:25:22 +0000 (12:25 -0500)]
i915: Make sarea_priv setup optional.

16 years agostart moving over to proper hierarchy wrt master accesses
Dave Airlie [Wed, 13 Feb 2008 06:30:15 +0000 (16:30 +1000)]
start moving over to proper hierarchy wrt master accesses

16 years agomajor port of multi-master ideas into modesetting
Dave Airlie [Wed, 13 Feb 2008 05:19:42 +0000 (15:19 +1000)]
major port of multi-master ideas into modesetting

16 years agoRevert "After the previous revert fix libdrm to start at minor 1"
Dave Airlie [Wed, 13 Feb 2008 02:20:02 +0000 (12:20 +1000)]
Revert "After the previous revert fix libdrm to start at minor 1"

This reverts commit f51dc37d75b0b1b8e5636f8f2c201e29986517ea.

Conflicts:

tests/modedemo/demo.c

16 years agodrm: re-write minor number allocation to use an idr.
Dave Airlie [Wed, 13 Feb 2008 02:12:52 +0000 (12:12 +1000)]
drm: re-write minor number allocation to use an idr.

Fixup the minor number allocation scheme to use an idr and move the control
nodes up higher.

16 years agoradeon_ms: bring radeon_ms up to date with lastest changes
Jerome Glisse [Sat, 9 Feb 2008 17:23:35 +0000 (18:23 +0100)]
radeon_ms: bring radeon_ms up to date with lastest changes

16 years agoRestore pipeconf regs unconditionally
Jesse Barnes [Fri, 8 Feb 2008 01:33:28 +0000 (17:33 -0800)]
Restore pipeconf regs unconditionally

On many chipsets, the checks for DPLL enable or VGA mode will prevent the
pipeconf regs from being restored, which could result in a blank display or X
failing to come back after resume.  So restore them unconditionally along with
actually restoring pipe B's palette correctly.

16 years agoAdded you can now clone displays in modedemo
Jakob Bornecrantz [Thu, 7 Feb 2008 22:32:59 +0000 (23:32 +0100)]
Added you can now clone displays in modedemo

16 years agoAfter the previous revert fix libdrm to start at minor 1
Alan Hourihane [Thu, 7 Feb 2008 22:21:50 +0000 (22:21 +0000)]
After the previous revert fix libdrm to start at minor 1
and fixup the demos

16 years agoRevert "DRM_CONTROL_ALLOW logic was reversed"
Alan Hourihane [Thu, 7 Feb 2008 21:13:36 +0000 (21:13 +0000)]
Revert "DRM_CONTROL_ALLOW logic was reversed"

This reverts commit 7af1bb874d9b8b1b8760ad200cee587c41c23434.

16 years agoFix saveGR array size
Jesse Barnes [Thu, 7 Feb 2008 19:21:09 +0000 (11:21 -0800)]
Fix saveGR array size

Make sure we have enough room for all the GR registers or we'll end up
clobbering the AR index register (which should actually be harmless
unless the BIOS is making an assumption about it).

16 years agoi915: save/restore interrupt state
Jesse Barnes [Thu, 7 Feb 2008 18:48:08 +0000 (10:48 -0800)]
i915: save/restore interrupt state

On resume, if the interrupt state isn't restored correctly, we may end
up with a flood of unexpected or ill-timed interrupts, which could cause
the kernel to disable the interrupt or vblank events to happen at the
wrong time.  So save/restore them properly.

16 years agoFix vblank enable/disable callbacks
Jesse Barnes [Thu, 7 Feb 2008 18:40:06 +0000 (10:40 -0800)]
Fix vblank enable/disable callbacks

There were two problems with the existing callback code:  the vblank
enable callback happened multiple times per disable, making drivers more
complex than they had to be, and there was a race between the final
decrement of the vblank usage counter and the next enable call, which
could have resulted in a put->schedule disable->get->enable->disable
sequence, which would be bad.

So add a new vblank_enabled array to track vblank enable on per-pipe
basis, and add a lock to protect it along with the refcount +
enable/disable calls to fix the race.

16 years agoWrong open call
Jakob Bornecrantz [Thu, 7 Feb 2008 18:32:20 +0000 (19:32 +0100)]
Wrong open call

16 years agoAdded userspace part of hotplug ioctl and demo
Jakob Bornecrantz [Thu, 7 Feb 2008 18:25:52 +0000 (19:25 +0100)]
Added userspace part of hotplug ioctl and demo

16 years agoAdded kernel part of hotplug ioctl
Jakob Bornecrantz [Thu, 7 Feb 2008 18:24:58 +0000 (19:24 +0100)]
Added kernel part of hotplug ioctl

16 years agoAdded hotplug ioctl
Jakob Bornecrantz [Thu, 7 Feb 2008 18:23:27 +0000 (19:23 +0100)]
Added hotplug ioctl

16 years agoSmall update to modedemo
Jakob Bornecrantz [Thu, 7 Feb 2008 18:22:38 +0000 (19:22 +0100)]
Small update to modedemo

16 years agoupdate app to cycle through 4 fbdev's
Alan Hourihane [Tue, 5 Feb 2008 15:30:28 +0000 (15:30 +0000)]
update app to cycle through 4 fbdev's

16 years agotweak it
Alan Hourihane [Tue, 5 Feb 2008 15:24:29 +0000 (15:24 +0000)]
tweak it

16 years agomake modefb/modedemo match each others test output.
Alan Hourihane [Tue, 5 Feb 2008 15:18:05 +0000 (15:18 +0000)]
make modefb/modedemo match each others test output.

16 years agoconsistency
Alan Hourihane [Tue, 5 Feb 2008 15:15:13 +0000 (15:15 +0000)]
consistency

16 years agoDRM_CONTROL_ALLOW logic was reversed
Alan Hourihane [Tue, 5 Feb 2008 15:12:46 +0000 (15:12 +0000)]
DRM_CONTROL_ALLOW logic was reversed

16 years agobuild fix for older kernels
Alan Hourihane [Tue, 5 Feb 2008 10:12:21 +0000 (10:12 +0000)]
build fix for older kernels

16 years agofix some warnings
Alan Hourihane [Tue, 5 Feb 2008 10:11:46 +0000 (10:11 +0000)]
fix some warnings

16 years agobuild fix for older kernels
Alan Hourihane [Tue, 5 Feb 2008 10:11:24 +0000 (10:11 +0000)]
build fix for older kernels

16 years agoFix function declaration
Alan Hourihane [Tue, 5 Feb 2008 10:11:01 +0000 (10:11 +0000)]
Fix function declaration

16 years agoAdd missing round_jiffies_relative() for older kernels
Alan Hourihane [Tue, 5 Feb 2008 10:10:36 +0000 (10:10 +0000)]
Add missing round_jiffies_relative() for older kernels

16 years agoi915: Re-report breadcrumbs on poll to the fence manager,
Thomas Hellstrom [Tue, 5 Feb 2008 09:35:56 +0000 (10:35 +0100)]
i915: Re-report breadcrumbs on poll to the fence manager,

since a breadcrumb may actually turn up before a corresponding fence object
has been placed on the fence ring.

16 years agoconsistency
Alan Hourihane [Tue, 5 Feb 2008 09:28:51 +0000 (09:28 +0000)]
consistency

16 years agoRemove duplicate
Alan Hourihane [Tue, 5 Feb 2008 09:28:32 +0000 (09:28 +0000)]
Remove duplicate

16 years agoModedemo now uses two crtc and output pairs
Jakob Bornecrantz [Mon, 4 Feb 2008 19:51:59 +0000 (20:51 +0100)]
Modedemo now uses two crtc and output pairs

16 years agonouveau: make nv34 work every time, not just every 2nd time
Stuart Bennett [Mon, 28 Jan 2008 22:59:26 +0000 (22:59 +0000)]
nouveau: make nv34 work every time, not just every 2nd time

And make nv30_graph_init a bit more like mmio-traces

16 years agonouveau: NV40 can/should now be able to run after the blob.
Maarten Maathuis [Sat, 2 Feb 2008 11:46:31 +0000 (12:46 +0100)]
nouveau: NV40 can/should now be able to run after the blob.

- Moved the fix from the ddx to drm, because it seemed more appropriate.
- Don't be shy, report if it works for you or not.

16 years agoAdd an fence_class_manager::last_queued_sequence member, since a
Thomas Hellstrom [Thu, 31 Jan 2008 13:11:12 +0000 (14:11 +0100)]
Add an fence_class_manager::last_queued_sequence member, since a
sequence number may actually turn up before the corresponding fence
object has been queued on the ring.

Fence drivers can use this member to determine whether a
sequence number must be re-reported.

16 years agoi915: Avoid calling drm_fence_flush_old excessively.
Thomas Hellstrom [Wed, 30 Jan 2008 21:14:02 +0000 (22:14 +0100)]
i915: Avoid calling drm_fence_flush_old excessively.

16 years agoSimplify the fencing code and differentiate between flushes and
Thomas Hellstrom [Wed, 30 Jan 2008 21:06:02 +0000 (22:06 +0100)]
Simplify the fencing code and differentiate between flushes and
waiting types.
Add a "command_stream_barrier" method to the bo driver.

16 years agoFix for cursor off
Jakob Bornecrantz [Wed, 30 Jan 2008 15:16:10 +0000 (16:16 +0100)]
Fix for cursor off

16 years agoModeFB demo now display cursor
Jakob Bornecrantz [Wed, 30 Jan 2008 14:47:26 +0000 (15:47 +0100)]
ModeFB demo now display cursor

16 years agonv40: some more nv67 changes
Ben Skeggs [Wed, 30 Jan 2008 00:40:13 +0000 (11:40 +1100)]
nv40: some more nv67 changes

With some luck the drm-side will be OK now for this chipset.

16 years agoAdd new RV380 pci id
Mirko [Tue, 29 Jan 2008 15:11:27 +0000 (10:11 -0500)]
Add new RV380 pci id

bug 14289

16 years agoFix hibernate save/restore of VGA attribute regs
Jesse Barnes [Tue, 29 Jan 2008 05:05:22 +0000 (21:05 -0800)]
Fix hibernate save/restore of VGA attribute regs

In hibernate, we may end up calling the VGA save regs function twice, so we
need to make sure it's idempotent.  That means leaving ARX in index mode after
the first save operation.  Fixes hibernate on 965.

16 years agoMisc panning fixes for intel_fb
Jakob Bornecrantz [Mon, 28 Jan 2008 21:06:09 +0000 (22:06 +0100)]
Misc panning fixes for intel_fb

16 years agoAdded cursor support
Jakob Bornecrantz [Mon, 28 Jan 2008 02:12:29 +0000 (03:12 +0100)]
Added cursor support

16 years agodrm: add initial rs690 support for drm.
Maciej Cencora [Sun, 27 Jan 2008 02:50:31 +0000 (12:50 +1000)]
drm: add initial rs690 support for drm.

This adds support for configuring the RS690 GART.

16 years agomach64: fix after vblank-rework
George Sapountzis [Fri, 25 Jan 2008 14:54:29 +0000 (16:54 +0200)]
mach64: fix after vblank-rework

don't disable vblank interrupts (similar to r128)

16 years agoif irq already enabled well just keep trucking
Dave Airlie [Fri, 25 Jan 2008 06:34:05 +0000 (16:34 +1000)]
if irq already enabled well just keep trucking

16 years agodon't reinit ring if already initialised
Dave Airlie [Fri, 25 Jan 2008 06:32:09 +0000 (16:32 +1000)]
don't reinit ring if already initialised

16 years agoMerge remote branch 'origin/master' into modesetting-101
Dave Airlie [Fri, 25 Jan 2008 05:27:53 +0000 (15:27 +1000)]
Merge remote branch 'origin/master' into modesetting-101

Conflicts:

linux-core/drm_bo.c
linux-core/drm_drv.c
shared-core/drm.h
shared-core/i915_dma.c
shared-core/i915_drv.h
shared-core/i915_irq.c
shared-core/radeon_irq.c

16 years agoFixup modeset ioctl number & typedef usage
Jesse Barnes [Fri, 25 Jan 2008 04:59:51 +0000 (20:59 -0800)]
Fixup modeset ioctl number & typedef usage

Should be 0x08 rather than 0xa0, and shouldn't use typedefs.

16 years agoMerge commit 'airlied/i915-ttm-cfu'
Eric Anholt [Thu, 24 Jan 2008 20:32:08 +0000 (12:32 -0800)]
Merge commit 'airlied/i915-ttm-cfu'

This requires updated Mesa to handle the new relocation format.

16 years agoRemove broken 'in vblank' accounting
Jesse Barnes [Thu, 24 Jan 2008 16:57:04 +0000 (08:57 -0800)]
Remove broken 'in vblank' accounting

We need to return an accurate vblank count to the callers of
->get_vblank_counter, and in the Intel case the actual frame count
register isn't udpated until the next active line is displayed, so we
need to return one more than the frame count register if we're currently
in a vblank period.

However, none of the various ways of doing this is working yet, so
disable the logic for now.  This may result in a few missed events, but
should fix the hangs some people have seen due to the current code
tripping the wraparound logic in drm_update_vblank_count.

16 years agoi915: fix missing header when copying data from userspace
Dave Airlie [Thu, 24 Jan 2008 05:18:09 +0000 (15:18 +1000)]
i915: fix missing header when copying data from userspace

16 years agoi915 make relocs use copy from user
Dave Airlie [Thu, 24 Jan 2008 04:37:40 +0000 (14:37 +1000)]
i915 make relocs use copy from user

Switch relocs to using copy from user and remove index and pass buffer
handles in instead.

16 years agoFix thinko in get_vblank_counter
Jesse Barnes [Wed, 23 Jan 2008 16:39:57 +0000 (08:39 -0800)]
Fix thinko in get_vblank_counter

Should use vtotal not htotal to figure out if we're in a vblank period.

16 years agoFix IS_I915G macro
Jesse Barnes [Wed, 23 Jan 2008 16:38:01 +0000 (08:38 -0800)]
Fix IS_I915G macro

One to many parantheses...

16 years agonouveau: Fix warning in nouveau_mem.c
Maarten Maathuis [Wed, 23 Jan 2008 15:40:19 +0000 (16:40 +0100)]
nouveau: Fix warning in nouveau_mem.c

16 years agoi915/flush: get the ret the right way around
Dave Airlie [Wed, 23 Jan 2008 06:45:09 +0000 (16:45 +1000)]
i915/flush: get the ret the right way around

16 years agodrm/i915: add support for E7221
Dave Airlie [Wed, 23 Jan 2008 06:44:51 +0000 (16:44 +1000)]
drm/i915: add support for E7221

16 years agoCorrect vblank count value
Jesse Barnes [Tue, 22 Jan 2008 23:16:01 +0000 (15:16 -0800)]
Correct vblank count value

The frame count registers don't increment until the start of the next
frame, so make sure we return an incremented count if called during the
actual vblank period.

16 years agoi915 irq fixes
Jesse Barnes [Tue, 22 Jan 2008 21:11:29 +0000 (13:11 -0800)]
i915 irq fixes

Ack the IRQs correctly (PIPExSTAT first followed by IIR).  Don't read
vblank counter registers on disabled pipes (might hang otherwise).  And
deal with flipped pipe/plane mappings if present.

16 years agoMerge branch 'master' into vblank-rework, including mach64 support
Jesse Barnes [Tue, 22 Jan 2008 17:42:37 +0000 (09:42 -0800)]
Merge branch 'master' into vblank-rework, including mach64 support

Conflicts:

linux-core/drmP.h
linux-core/drm_drv.c
shared-core/i915_drv.h
shared-core/i915_irq.c
shared-core/mga_irq.c
shared-core/radeon_irq.c
shared-core/via_irq.c

Mostly trivial conflicts.

mach64 support from Mathieu Bérard.

16 years agoRevert "Fix pipe<->plane mapping vs. vblank handling (again)"
Dave Airlie [Tue, 22 Jan 2008 03:39:28 +0000 (14:39 +1100)]
Revert "Fix pipe<->plane mapping vs. vblank handling (again)"

This reverts commit bfc29606e4a818897eebca46a5e23bbe7bc3ce25.

This regresses i915 here for me I can't get greater than 0.333 fps with gears