profile/ivi/libdrm.git
16 years agoMerge branch 'master' of ../../drm into modesetting-101
Dave Airlie [Fri, 7 Mar 2008 00:59:21 +0000 (11:59 +1100)]
Merge branch 'master' of ../../drm into modesetting-101

16 years agoflush_agp_mappings commit
Dave Airlie [Thu, 6 Mar 2008 23:29:35 +0000 (09:29 +1000)]
flush_agp_mappings commit

16 years agoI really screwed up that merge somehow
Dave Airlie [Thu, 6 Mar 2008 22:58:24 +0000 (08:58 +1000)]
I really screwed up that merge somehow

16 years agodrm: fixup for new sysfs API
Dave Airlie [Thu, 6 Mar 2008 22:56:20 +0000 (08:56 +1000)]
drm: fixup for new sysfs API

16 years agowoah somehow got these upstream
Dave Airlie [Thu, 6 Mar 2008 22:49:27 +0000 (08:49 +1000)]
woah somehow got these upstream

16 years agodrm/bo: allow non-suser priv to add kernel BOs.
Dave Airlie [Thu, 6 Mar 2008 04:43:23 +0000 (14:43 +1000)]
drm/bo: allow non-suser priv to add kernel BOs.

modprobe can be run with dropped capabilities we still want the kernel bos
to work.

16 years agobuild fix
Alan Hourihane [Wed, 5 Mar 2008 10:33:57 +0000 (10:33 +0000)]
build fix

16 years agoAdd property info.
Alan Hourihane [Wed, 5 Mar 2008 10:33:16 +0000 (10:33 +0000)]
Add property info.

fix bo handle

16 years agoCheck mode before adding to EDID
Alan Hourihane [Tue, 4 Mar 2008 17:53:04 +0000 (17:53 +0000)]
Check mode before adding to EDID

16 years agoUse ARRAY_SIZE
Alan Hourihane [Tue, 4 Mar 2008 17:52:37 +0000 (17:52 +0000)]
Use ARRAY_SIZE

16 years agopropogate failed fixups back up
Alan Hourihane [Tue, 4 Mar 2008 17:51:56 +0000 (17:51 +0000)]
propogate failed fixups back up

16 years agoFix connector description table
Alan Hourihane [Tue, 4 Mar 2008 17:50:59 +0000 (17:50 +0000)]
Fix connector description table

16 years agoMerge branch 'master' of ../../drm into modesetting-101
Dave Airlie [Wed, 5 Mar 2008 19:39:07 +0000 (05:39 +1000)]
Merge branch 'master' of ../../drm into modesetting-101

Conflicts:

shared-core/drm.h

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

this adds something to say the kernel initialised the memory region not
the userspace. and blocks userspace from deallocating kernel areas

16 years agodrm/ttm: add ioctl to get back memory managed area sized
Dave Airlie [Wed, 20 Feb 2008 03:27:10 +0000 (13:27 +1000)]
drm/ttm: add ioctl to get back memory managed area sized

taken from modesetting branch but could be useful outside it.

16 years agoMerge branch 'master' of ../../drm into modesetting-101
Dave Airlie [Wed, 5 Mar 2008 19:26:23 +0000 (05:26 +1000)]
Merge branch 'master' of ../../drm into modesetting-101

Conflicts:

linux-core/drmP.h
linux-core/drm_drv.c
linux-core/drm_proc.c
linux-core/drm_stub.c
linux-core/drm_sysfs.c

16 years agodrm: reorganise minor number handling using code from modesetting branch
Dave Airlie [Wed, 5 Mar 2008 19:21:50 +0000 (05:21 +1000)]
drm: reorganise minor number handling using code from modesetting branch

Rip out the whole head thing and replace it with an idr and drm_minor
structure.

16 years agodrm: Fix for non-coherent DMA PowerPC
Benjamin Herrenschmidt [Wed, 5 Mar 2008 09:25:03 +0000 (19:25 +1000)]
drm: Fix for non-coherent DMA PowerPC

This patch fixes bits of the DRM so to make the radeon DRI work on
non-cache coherent PCI DMA variants of the PowerPC processors.

It moves the few places that needs change to wrappers to that
other architectures with similar issues can easily add their
own changes to those wrappers, at least until we have more useful
generic kernel API.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
16 years agoi915: Evict if relocatee buffer is CACHED_MAPPED before
Xiang, Haihao [Wed, 5 Mar 2008 07:08:46 +0000 (15:08 +0800)]
i915: Evict if relocatee buffer is CACHED_MAPPED before
writting relocations, otherwise the GPU probably sees some
inconsistent data. Fix fd.o bug#14656

16 years agofixup previous merge
Dave Airlie [Wed, 5 Mar 2008 05:28:59 +0000 (15:28 +1000)]
fixup previous merge

16 years agodrm: fixup compat with old x.org drivers
Dave Airlie [Wed, 5 Mar 2008 05:28:38 +0000 (15:28 +1000)]
drm: fixup compat with old x.org drivers

16 years agolibdrm: fix warnings in mode code
Dave Airlie [Wed, 5 Mar 2008 00:41:54 +0000 (10:41 +1000)]
libdrm: fix warnings in mode code

16 years agoMerge remote branch 'origin/master' into modesetting-101
Dave Airlie [Wed, 5 Mar 2008 00:37:02 +0000 (10:37 +1000)]
Merge remote branch 'origin/master' into modesetting-101

Conflicts:

linux-core/drm_compat.c

16 years agoremove unused functions + include header file
Dave Airlie [Wed, 5 Mar 2008 00:31:43 +0000 (10:31 +1000)]
remove unused functions + include header file

16 years agoClarify when WAIT_LAZY is relevant to users.
Eric Anholt [Tue, 4 Mar 2008 21:45:41 +0000 (13:45 -0800)]
Clarify when WAIT_LAZY is relevant to users.

16 years agoRemove unused DRM_FENCE_FLAG_WAIT_IGNORE_SIGNALS.
Eric Anholt [Thu, 31 Jan 2008 03:02:56 +0000 (19:02 -0800)]
Remove unused DRM_FENCE_FLAG_WAIT_IGNORE_SIGNALS.

16 years agoClarify through the names what drm_ttm_alloc_pages() and friend actually did.
Eric Anholt [Tue, 4 Mar 2008 21:35:23 +0000 (13:35 -0800)]
Clarify through the names what drm_ttm_alloc_pages() and friend actually did.

These are all about the page directory (pointers to pages) rather than the
actual pages backing the allocation.

16 years agoDon't shortcut the info syscall for drmBOBusy on nonshareable objects.
Eric Anholt [Tue, 4 Mar 2008 20:16:51 +0000 (12:16 -0800)]
Don't shortcut the info syscall for drmBOBusy on nonshareable objects.

This broke the results when you're trying to check if a buffer you dispatched
some time ago is done being rendered from.

16 years ago [i915] 2D driver may reset Frame count value, this may lead driver
Zou Nan hai [Mon, 3 Mar 2008 06:49:49 +0000 (14:49 +0800)]
  [i915] 2D driver may reset Frame count value, this may lead driver
  to leap it's vblank count a huge value.
  This will stall some applications that switch video mode if vblank_mode is set to a non zero value in drirc.

16 years agoAdd FENCE registers to MMIO list
Alan Hourihane [Sun, 2 Mar 2008 21:48:40 +0000 (21:48 +0000)]
Add FENCE registers to MMIO list

16 years agoFIX_KMAP_BEGIN requires CONFIG_HIMEM (see include/asm-i386.h/fixmap.h)
Patrice Mandin [Fri, 29 Feb 2008 20:57:40 +0000 (21:57 +0100)]
FIX_KMAP_BEGIN requires CONFIG_HIMEM (see include/asm-i386.h/fixmap.h)

16 years agoFix compilation breakage on x86-64.
Thomas Hellstrom [Fri, 29 Feb 2008 12:31:14 +0000 (13:31 +0100)]
Fix compilation breakage on x86-64.

16 years agodrm: change fb api to take a bo handle not the bo pointer.
Dave Airlie [Fri, 29 Feb 2008 04:07:29 +0000 (14:07 +1000)]
drm: change fb api to take a bo handle not the bo pointer.

16 years agoagp: export the correct symbol
Dave Airlie [Fri, 29 Feb 2008 00:16:24 +0000 (10:16 +1000)]
agp: export the correct symbol

16 years agoAdd a compat kmap_atomic_prot_pfn to do quick kernel map / unmaps of
Thomas Hellstrom [Thu, 28 Feb 2008 12:47:15 +0000 (13:47 +0100)]
Add a compat kmap_atomic_prot_pfn to do quick kernel map / unmaps of

PCI- or high memory.
This is substantially more efficient than drm_bo_kmap,
since the mapping only lives on a single processor.
Unmapping is done use kunmap_atomic(). Flushes only a single tlb() entry.

Add a support utility int drm_bo_pfn_prot() that returns the
pfn and desired page protection for a given bo offset.

This is all intended for relocations in bound TTMS or vram.
Mapping-accessing-unmapping must be atomic, either using preempt_xx() macros
or a spinlock.

16 years agodrm: add modesetting as a driver feature.
Dave Airlie [Thu, 28 Feb 2008 06:24:17 +0000 (16:24 +1000)]
drm: add modesetting as a driver feature.

This change adds a driver feature that for i915 is controlled by a module
parameter. You now need to do insmod i915.ko modeset=1 to enable it the
modesetting paths.

It also fixes up lots of X paths. I can run my new DDX driver on this code
with and without modesetting enabled

16 years agodrm: add a check for if modesetting is supported.
Dave Airlie [Thu, 28 Feb 2008 02:59:39 +0000 (12:59 +1000)]
drm: add a check for if modesetting is supported.

This is Linux only code, it just uses sysfs to see if a control
device has been registered on the requested PCI ID

16 years agoReinstate buffer idle before applying relocations.
Thomas Hellstrom [Wed, 27 Feb 2008 20:44:40 +0000 (21:44 +0100)]
Reinstate buffer idle before applying relocations.

16 years agoDon't wait for buffer idle before applying relocations.
Thomas Hellstrom [Wed, 27 Feb 2008 18:46:28 +0000 (19:46 +0100)]
Don't wait for buffer idle before applying relocations.

16 years agoradeon: remove TTM from an earlier merge
Jerome Glisse [Tue, 26 Feb 2008 22:30:45 +0000 (23:30 +0100)]
radeon: remove TTM from an earlier merge

16 years agoMerge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into modesetting-101
Alan Hourihane [Tue, 26 Feb 2008 15:42:41 +0000 (15:42 +0000)]
Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into modesetting-101

Conflicts:

shared-core/i915_dma.c

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 ago[i915] Relocation fixes.
Thomas Hellstrom [Tue, 26 Feb 2008 09:47:05 +0000 (10:47 +0100)]
[i915] Relocation fixes.

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 agoMake the execbuffer code reasonably safe against errors.
Thomas Hellstrom [Mon, 25 Feb 2008 23:01:09 +0000 (00:01 +0100)]
Make the execbuffer code reasonably safe against errors.

In particular -EAGAINs, which should be common during Xserver operation.
Also handle the fence creation failure case.

16 years agofix texture uploads with large 3d textures (bug 13980)
Roland Scheidegger [Sat, 23 Feb 2008 10:01:36 +0000 (11:01 +0100)]
fix texture uploads with large 3d textures (bug 13980)

Texture uploads could hit the blitter coordinate limit, adjust the texture
offset when uploading the pieces. Make sure to check the end address of the
upload too.

16 years agoi915: put ARX back into index mode before doing restore
Jesse Barnes [Fri, 22 Feb 2008 21:57:38 +0000 (13:57 -0800)]
i915: put ARX back into index mode before doing restore

Fixes resume from hibernate in some configurations.

16 years agonouveau: Remove some random (french) comment.
Maarten Maathuis [Fri, 22 Feb 2008 12:41:05 +0000 (13:41 +0100)]
nouveau: Remove some random (french) comment.

16 years agonouveau: A single define of dma skips is more than enough.
Maarten Maathuis [Fri, 22 Feb 2008 12:35:13 +0000 (13:35 +0100)]
nouveau: A single define of dma skips is more than enough.

16 years agoFix one last occurance of struct _drm_i915_batchbuffer.
Kristian Høgsberg [Fri, 22 Feb 2008 16:22:52 +0000 (11:22 -0500)]
Fix one last occurance of struct _drm_i915_batchbuffer.

Thanks to Todd Merrill for pointing it out.

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

16 years agoi915: Remove leading underscore from struct tags.
Kristian Høgsberg [Fri, 22 Feb 2008 05:12:39 +0000 (00:12 -0500)]
i915: Remove leading underscore from struct tags.

This matches the changes in mesa to use the system drm includes
for the definitions of the drm ioctl structs.

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