profile/ivi/libdrm.git
16 years ago[gem-intel] Don't clear write_domain until flush completes
Keith Packard [Tue, 5 Aug 2008 21:44:53 +0000 (14:44 -0700)]
[gem-intel] Don't clear write_domain until flush completes

In i915_gem_object_wait_rendering, if the object write domain is being
written by the GPU, the appropriate flushing commands are written to the
device and an additional request queued to mark that flush. Finally, the
function blocks on that new request.

The bug was that the write_domain in the object was cleared before the
function blocked.

If the wait is interrupted by a signal, the flushing commands may still be
pending. With the current write_domain information lost, the restarted
syscall will drop right through the write_domain test as that value was
lost, and so the function will not block at all. Oops.

Fixed by simply moving the write_domain clear until after the wait_request
succeeds. Note that the restarted system call will generate an additional
flush sequence and request, but that should be 'harmless', aside from a
slight performance impact.

Someday we'll track flushing more accurately and clear write_domains more
efficiently, but for now, this should suffice.

This bug was discovered in the 2d gem development by running x11perf
-copypixwin500 and noticing that the window got cleared accidentally.

16 years agoExpose pin/unpin/set_tiling/flink APIs
Keith Packard [Mon, 4 Aug 2008 07:34:08 +0000 (00:34 -0700)]
Expose pin/unpin/set_tiling/flink APIs

16 years agoradeon: fix blit due to registers wrong
Dave Airlie [Tue, 5 Aug 2008 01:36:20 +0000 (11:36 +1000)]
radeon: fix blit due to registers wrong

16 years agodrm: finish bo after lastclose
Dave Airlie [Mon, 4 Aug 2008 04:59:49 +0000 (14:59 +1000)]
drm: finish bo after lastclose

16 years agoradeon: add userspace mm enable switch
Dave Airlie [Mon, 4 Aug 2008 04:59:17 +0000 (14:59 +1000)]
radeon: add userspace mm enable switch

16 years agoradeon: don't use ring if cp not going
Dave Airlie [Mon, 4 Aug 2008 04:56:08 +0000 (14:56 +1000)]
radeon: don't use ring if cp not going

16 years agodrm: remove unused types
Dave Airlie [Mon, 4 Aug 2008 04:55:12 +0000 (14:55 +1000)]
drm: remove unused types

16 years agodrm: fixup master code to use krefs
Dave Airlie [Mon, 4 Aug 2008 04:54:32 +0000 (14:54 +1000)]
drm: fixup master code to use krefs

16 years agoi915/radeon: use rmmap locked
Dave Airlie [Mon, 4 Aug 2008 04:53:45 +0000 (14:53 +1000)]
i915/radeon: use rmmap locked

16 years agomodesetting: pick_crtcs can't be static
Dave Airlie [Mon, 4 Aug 2008 04:53:14 +0000 (14:53 +1000)]
modesetting: pick_crtcs can't be static

16 years agodrm: remove unneeded debugging
Dave Airlie [Mon, 4 Aug 2008 04:52:58 +0000 (14:52 +1000)]
drm: remove unneeded debugging

16 years agoMerge commit 'origin/drm-gem' into modesetting-gem
Kristian Høgsberg [Fri, 1 Aug 2008 17:35:56 +0000 (13:35 -0400)]
Merge commit 'origin/drm-gem' into modesetting-gem

Conflicts:
linux-core/Makefile.kernel
linux-core/drmP.h
linux-core/drm_mm.c
linux-core/drm_stub.c
linux-core/i915_gem.c
linux-core/i915_opregion.c
shared-core/i915_dma.c
shared-core/i915_drv.h
shared-core/i915_irq.c

16 years agoRevert "i915: Move all of the irq install/uninstall to load time."
Dave Airlie [Thu, 31 Jul 2008 21:43:58 +0000 (07:43 +1000)]
Revert "i915: Move all of the irq install/uninstall to load time."

This reverts commit 965a72202b439068e62ac341990f51953457b202.

Please re-do over properly

16 years agoMerge commit 'origin/master' into modesetting-gem
Kristian Høgsberg [Thu, 31 Jul 2008 19:18:32 +0000 (15:18 -0400)]
Merge commit 'origin/master' into modesetting-gem

Conflicts:
linux-core/Makefile.kernel
linux-core/ati_pcigart.c
linux-core/drm_compat.h
linux-core/drm_irq.c
linux-core/drm_lock.c
linux-core/i915_drv.c
shared-core/i915_dma.c
shared-core/i915_drv.h
shared-core/i915_irq.c
shared-core/nouveau_mem.c
shared-core/radeon_cp.c
shared-core/radeon_drv.h

16 years agodrm: remove object hash
Dave Airlie [Thu, 31 Jul 2008 04:39:25 +0000 (14:39 +1000)]
drm: remove object hash

16 years agodrm: userspace rip out TTM API
Dave Airlie [Thu, 31 Jul 2008 03:13:21 +0000 (13:13 +1000)]
drm: userspace rip out TTM API

16 years agodrm: add fault handler support so as to be more like possible upstream
Dave Airlie [Thu, 31 Jul 2008 03:12:36 +0000 (13:12 +1000)]
drm: add fault handler support so as to be more like possible upstream

16 years agodrm: add fault handler support so as to be more like possible upstream
Dave Airlie [Thu, 31 Jul 2008 03:12:36 +0000 (13:12 +1000)]
drm: add fault handler support so as to be more like possible upstream
(cherry picked from commit 10d5b037b85706037df89bf0275436797e4eb559)

16 years agoTTM: remove API and userspace objects.
Dave Airlie [Thu, 31 Jul 2008 02:54:48 +0000 (12:54 +1000)]
TTM: remove API and userspace objects.

This removes all the TTM userspace API and all userspace objects.

It also removes the drm_bo_lock.c code

16 years agointel-gem: Replace version bump signalling GEM with I915_PARAM_HAS_GEM.
Eric Anholt [Wed, 30 Jul 2008 21:10:36 +0000 (14:10 -0700)]
intel-gem: Replace version bump signalling GEM with I915_PARAM_HAS_GEM.

16 years agoMake it compile again.
Kristian Høgsberg [Tue, 22 Jul 2008 18:24:32 +0000 (14:24 -0400)]
Make it compile again.

16 years agointel-gem: Remove dead field from reverted changes.
Eric Anholt [Wed, 30 Jul 2008 18:29:32 +0000 (11:29 -0700)]
intel-gem: Remove dead field from reverted changes.

16 years agoRevert "Rename drm_mm.c and its fuctions to drm_memrange."
Eric Anholt [Wed, 30 Jul 2008 18:22:48 +0000 (11:22 -0700)]
Revert "Rename drm_mm.c and its fuctions to drm_memrange."

This reverts commit 3ad8db2071d30c198403e605f2726fc5c3e46bfd.

We ended up not needing that namespace, and I'd rather not have the churn
for producing diffs.

16 years agoradeon: hack gem to get an offset back for Mesa.
Dave Airlie [Wed, 30 Jul 2008 07:06:11 +0000 (17:06 +1000)]
radeon: hack gem to get an offset back for Mesa.

16 years agoradeon: add some handles to the sarea + kernel mm available check
Dave Airlie [Wed, 30 Jul 2008 07:05:50 +0000 (17:05 +1000)]
radeon: add some handles to the sarea + kernel mm available check

16 years agoi915: more version checks
Dave Airlie [Wed, 30 Jul 2008 06:52:13 +0000 (16:52 +1000)]
i915: more version checks

16 years agoi915: add version checks for opregion on old kernels
Dave Airlie [Wed, 30 Jul 2008 06:26:51 +0000 (16:26 +1000)]
i915: add version checks for opregion on old kernels

16 years agointel-gem: actually add i915_gem_debug.c.
Eric Anholt [Wed, 30 Jul 2008 03:26:38 +0000 (20:26 -0700)]
intel-gem: actually add i915_gem_debug.c.

16 years agointel-gem: Check return value of pci_read_base.
Eric Anholt [Tue, 29 Jul 2008 18:10:47 +0000 (11:10 -0700)]
intel-gem: Check return value of pci_read_base.

16 years agor300: Fix cliprect emit
Nicolai Haehnle [Tue, 29 Jul 2008 17:56:51 +0000 (19:56 +0200)]
r300: Fix cliprect emit

This makes our handling of cliprects sane. drm_clip_rect always has exclusive
bottom-right corners, but the hardware expects inclusive bottom-right corners,
so we adjust this here.

This complements Michel Daenzer's commit 57aea290e1e0a26d1e74df6cff777eb9f038f1f8
to Mesa. See also http://bugs.freedesktop.org/show_bug.cgi?id=16123 .

16 years agoradeon: move code around putting emit into cs
Dave Airlie [Tue, 29 Jul 2008 08:05:11 +0000 (18:05 +1000)]
radeon: move code around putting emit into cs

16 years agoradeon_cs: add relocate hook for mm and non-mm relocations
Dave Airlie [Tue, 29 Jul 2008 06:51:47 +0000 (16:51 +1000)]
radeon_cs: add relocate hook for mm and non-mm relocations

16 years agointel: Fix typo in unused register definition name.
Eric Anholt [Tue, 29 Jul 2008 06:14:11 +0000 (23:14 -0700)]
intel: Fix typo in unused register definition name.

16 years agointel-gem: checkpatch.pl on drm_proc.c new contents.
Eric Anholt [Mon, 28 Jul 2008 23:33:50 +0000 (16:33 -0700)]
intel-gem: checkpatch.pl on drm_proc.c new contents.

16 years agoMerge commit 'origin/master' into drm-gem
Eric Anholt [Mon, 28 Jul 2008 22:17:21 +0000 (15:17 -0700)]
Merge commit 'origin/master' into drm-gem

Conflicts:

linux-core/Makefile.kernel
shared-core/i915_dma.c
shared-core/i915_drv.h
shared-core/i915_irq.c

16 years agonouveau: fix nv04 fifo context save to save reg contents, not reg offset
Stuart Bennett [Tue, 29 Jul 2008 01:32:13 +0000 (02:32 +0100)]
nouveau: fix nv04 fifo context save to save reg contents, not reg offset

clearly the function had never been used :)

16 years agonouveau: fix bad rename from 5a072f32c8f941d1ef301811881e8c89c8d8a5f1
Stuart Bennett [Tue, 29 Jul 2008 01:26:34 +0000 (02:26 +0100)]
nouveau: fix bad rename from 5a072f32c8f941d1ef301811881e8c89c8d8a5f1

16 years agointel-gem: Another checkpatch.pl pass.
Eric Anholt [Mon, 28 Jul 2008 18:45:22 +0000 (11:45 -0700)]
intel-gem: Another checkpatch.pl pass.

16 years agointel-gem: Fix regression tests.
Eric Anholt [Mon, 28 Jul 2008 18:24:00 +0000 (11:24 -0700)]
intel-gem: Fix regression tests.

Main fix is an oops that was triggered by the gtt pwrite path when we don't
have the gtt initialized.  Also, settle on -EBADF for "bad object handle",
and -EINVAL for "reading/writing beyond object boundary".

16 years agointel-gem: Speed up tiled readpixels by tracking which pages have been flushed.
Eric Anholt [Sun, 27 Jul 2008 02:28:14 +0000 (19:28 -0700)]
intel-gem: Speed up tiled readpixels by tracking which pages have been flushed.

This is around 3x or so speedup, since we would read wide rows at a time, and
clflush each tile 8 times as a result.  We'll want code related to this anyway
when we do fault-based per-page clflushing for sw fallbacks.

16 years agoset to 2.4.0
Alan Hourihane [Mon, 28 Jul 2008 14:16:45 +0000 (15:16 +0100)]
set to 2.4.0

16 years agoradeon_cs: extract some offsets from packet data
Dave Airlie [Mon, 28 Jul 2008 08:18:28 +0000 (18:18 +1000)]
radeon_cs: extract some offsets from packet data

16 years agor300: add some packet 3 decodes
Dave Airlie [Mon, 28 Jul 2008 07:42:53 +0000 (17:42 +1000)]
r300: add some packet 3 decodes

16 years agor300: initial command stream parser for packet 0.
Dave Airlie [Mon, 28 Jul 2008 07:27:24 +0000 (17:27 +1000)]
r300: initial command stream parser for packet 0.

this at least parses the DDX stream and lets me run gnome-terminal/metacity

16 years agoradeon command submission start
Dave Airlie [Mon, 28 Jul 2008 05:21:13 +0000 (15:21 +1000)]
radeon command submission start

take code from Jerome munge into a TTM IB re-use

16 years agointel-gem: Move debug-only functions to a separate file.
Eric Anholt [Sun, 27 Jul 2008 02:51:58 +0000 (19:51 -0700)]
intel-gem: Move debug-only functions to a separate file.

16 years agoNV50: s/FALSE/false/
Alex Deucher [Sat, 26 Jul 2008 20:57:02 +0000 (16:57 -0400)]
NV50: s/FALSE/false/

16 years agoradeon: Add suspend/resume hooks for saving/clearing/restoring interrupts.
Stefan Becker [Sat, 26 Jul 2008 14:49:14 +0000 (16:49 +0200)]
radeon: Add suspend/resume hooks for saving/clearing/restoring interrupts.

Fixes http://bugs.freedesktop.org/show_bug.cgi?id=16799 .

16 years agor300_cmdbuf: Always emit INDX_BUFFER immediately after DRAW_INDEX
Nicolai Haehnle [Sat, 26 Jul 2008 09:39:10 +0000 (11:39 +0200)]
r300_cmdbuf: Always emit INDX_BUFFER immediately after DRAW_INDEX

DRAW_INDEX writes a vertex count to VAP_VF_CNTL. Docs say that behaviour
is undefined (i.e. lockups happen) when this write is not followed by the
right number of vertex indices.

Thus we used to do the wrong thing when drawing across many cliprects was
necessary, because we emitted a sequence
 DRAW_INDEX, DRAW_INDEX, INDX_BUFFER, INDX_BUFFER
instead of
 DRAW_INDEX, INDX_BUFFER, DRAW_INDEX, INDX_BUFFER
The latter is what we're doing now and which ought to be correct.

16 years agotests: add some basic radeon gem tests
Dave Airlie [Fri, 25 Jul 2008 22:56:43 +0000 (08:56 +1000)]
tests: add some basic radeon gem tests

16 years agoradeon: add initial atombios modesetting and GEM -> TTM translation layer.
Dave Airlie [Fri, 25 Jul 2008 22:56:23 +0000 (08:56 +1000)]
radeon: add initial atombios modesetting and GEM -> TTM translation layer.

This is an initial import of the atom bios parser with modesetting support
for r500 hw using atombios. It also includes a simple memory manager
layer that translates a radeon GEM style interface onto TTM internally.

So far this memory manager has only been used for pinned object allocation
for the DDX to test modesetting.

16 years agoMerge remote branch 'origin/modesetting-101' into modesetting-gem
Dave Airlie [Fri, 25 Jul 2008 22:46:38 +0000 (08:46 +1000)]
Merge remote branch 'origin/modesetting-101' into modesetting-gem

16 years agodrm: don't set the signal blocker on the master process.
Dave Airlie [Fri, 25 Jul 2008 03:30:08 +0000 (13:30 +1000)]
drm: don't set the signal blocker on the master process.

this lets us debug the X server through xkb startup.

Not sure what the correct answer is, probably X needs to drop
the lock when execing stuff, with input hotplug it can get
xkb stuff at any time I believe.

16 years agomodesetting: pass file priv to cursor
Dave Airlie [Fri, 25 Jul 2008 22:43:59 +0000 (08:43 +1000)]
modesetting: pass file priv to cursor

16 years agonv50: remove TRUE/FALSE
Dave Airlie [Fri, 25 Jul 2008 22:43:01 +0000 (08:43 +1000)]
nv50: remove TRUE/FALSE

16 years agomodesetting: pass file_priv into cursor set functions
Dave Airlie [Fri, 25 Jul 2008 22:41:01 +0000 (08:41 +1000)]
modesetting: pass file_priv into cursor set functions

16 years agoMerge remote branch 'origin/modesetting-101' into modesetting-gem
Dave Airlie [Fri, 25 Jul 2008 22:38:59 +0000 (08:38 +1000)]
Merge remote branch 'origin/modesetting-101' into modesetting-gem

16 years ago[FreeBSD] Duh, we need to actually define the drm_modeset_ctl...
Robert Noland [Fri, 25 Jul 2008 17:46:28 +0000 (13:46 -0400)]
[FreeBSD] Duh, we need to actually define the drm_modeset_ctl...

16 years agodrm: don't set the signal blocker on the master process.
Dave Airlie [Fri, 25 Jul 2008 03:30:08 +0000 (13:30 +1000)]
drm: don't set the signal blocker on the master process.

this lets us debug the X server through xkb startup.

Not sure what the correct answer is, probably X needs to drop
the lock when execing stuff, with input hotplug it can get
xkb stuff at any time I believe.

16 years agodrm: use correct mode destructor
Dave Airlie [Thu, 24 Jul 2008 05:22:44 +0000 (15:22 +1000)]
drm: use correct mode destructor

16 years ago[FreeBSD] Catch up to linux on vblank-rework
Robert Noland [Thu, 24 Jul 2008 04:21:00 +0000 (00:21 -0400)]
[FreeBSD] Catch up to linux on vblank-rework

16 years agoi915: Move all of the irq install/uninstall to load time.
Robert Noland [Wed, 23 Jul 2008 23:55:06 +0000 (19:55 -0400)]
i915: Move all of the irq install/uninstall to load time.

This resolves a panic on FreeBSD which was caused by trying
to re-initialize the swap lock.  It's just much easier to
initialize all of the locks at load time.  It should also
ensure that the vblank structures are available earlier.

16 years agointel-gem: Fix pread math and logic errors.
Eric Anholt [Wed, 23 Jul 2008 18:49:25 +0000 (11:49 -0700)]
intel-gem: Fix pread math and logic errors.

Fixes an oops in fbotexture from walking off the end of the page list.

16 years agointel-gem: Add a quick hack to reduce clflushing on pread.
Eric Anholt [Wed, 23 Jul 2008 17:07:16 +0000 (10:07 -0700)]
intel-gem: Add a quick hack to reduce clflushing on pread.

This increases overhead for the large-readpixels case due to the repeated
page cache accessing, but greatly reduces overhead for the small-readpixels
case.

16 years agointel-gem: Don't do the GTT-pwrite shortcut on tiled buffers.
Eric Anholt [Wed, 23 Jul 2008 15:36:54 +0000 (08:36 -0700)]
intel-gem: Don't do the GTT-pwrite shortcut on tiled buffers.

These will be covered by the fence, while pread/pwrite are supposed to be
CPU-perspective writes, with manual detiling done by the client.

16 years agointel-gem: Move /proc debugging to a separate file.
Eric Anholt [Mon, 21 Jul 2008 21:33:55 +0000 (14:33 -0700)]
intel-gem: Move /proc debugging to a separate file.

16 years agoradeon: fix typo with a better typo
Dave Airlie [Tue, 22 Jul 2008 08:47:27 +0000 (18:47 +1000)]
radeon: fix typo with a better typo

16 years agoradeon: fix type DST vs Z cache flush
Dave Airlie [Tue, 22 Jul 2008 08:10:03 +0000 (18:10 +1000)]
radeon: fix type DST vs Z cache flush

16 years ago[FreeBSD] Improve upper_32_bits define.
Robert Noland [Mon, 21 Jul 2008 22:04:02 +0000 (18:04 -0400)]
[FreeBSD] Improve upper_32_bits define.

Thanks to airlied.

16 years agointel-gem: Remove recently added pci_read_base prototype.
Eric Anholt [Mon, 21 Jul 2008 21:21:16 +0000 (14:21 -0700)]
intel-gem: Remove recently added pci_read_base prototype.

This is in pci.h in the fixed patch to the kernel.

16 years agointel-gem: Set up HWS when it needs a vaddr during GEM init.
Eric Anholt [Tue, 1 Jul 2008 19:31:37 +0000 (12:31 -0700)]
intel-gem: Set up HWS when it needs a vaddr during GEM init.

This requires an updated 2D driver to not try to set it up as well.

16 years agoNV50: Don't create a "native" mode for LVDS when there is none.
Maarten Maathuis [Mon, 21 Jul 2008 14:57:25 +0000 (16:57 +0200)]
NV50: Don't create a "native" mode for LVDS when there is none.

16 years agoNV50: don't fail on LVDS by default
Maarten Maathuis [Mon, 21 Jul 2008 14:40:55 +0000 (16:40 +0200)]
NV50: don't fail on LVDS by default

16 years agoNV50: Use bios table for load pattern when possible.
Maarten Maathuis [Mon, 21 Jul 2008 12:50:07 +0000 (14:50 +0200)]
NV50: Use bios table for load pattern when possible.

16 years agoNV50: Do detect with hpd and load detect if possible.
Maarten Maathuis [Mon, 21 Jul 2008 12:29:13 +0000 (14:29 +0200)]
NV50: Do detect with hpd and load detect if possible.

- Appropriate error messages when an unknown situation is encountered are included.
- Fallback to i2c will occur when needed.

16 years agoRemove accidental leftover tests.
Michel Dänzer [Mon, 21 Jul 2008 11:43:12 +0000 (13:43 +0200)]
Remove accidental leftover tests.

Thanks to Nicolai Haehnle for pointing this out on IRC.

16 years agoReinstate dev->vblank_enabled[].
Michel Dänzer [Mon, 21 Jul 2008 09:48:04 +0000 (11:48 +0200)]
Reinstate dev->vblank_enabled[].

I incorrectly thought it was obsolete.

16 years agoDrop workaround for driver vblank counter going backwards.
Michel Dänzer [Mon, 21 Jul 2008 06:16:59 +0000 (08:16 +0200)]
Drop workaround for driver vblank counter going backwards.

The driver code that caused this is no longer necessary and has been dropped.

16 years agoradeon: Post-vblank-rework-rework cleanups.
Michel Dänzer [Mon, 21 Jul 2008 06:16:59 +0000 (08:16 +0200)]
radeon: Post-vblank-rework-rework cleanups.

Thanks to the reworked vblank-rework, we can just use the hardware frame
counter directly, and make the RADEON_PARAM_VBLANK_CRTC getparam just return
what was set by the corresponding setparam.

16 years agovblank-rework rework cleanups.
Michel Dänzer [Mon, 21 Jul 2008 06:16:55 +0000 (08:16 +0200)]
vblank-rework rework cleanups.

Remove some dead/obsolete code and make drm_update_vblank_count() static.

16 years agoRemove obsolete dev->vblank_suspend[crtc] tests.
Michel Dänzer [Mon, 21 Jul 2008 06:13:45 +0000 (08:13 +0200)]
Remove obsolete dev->vblank_suspend[crtc] tests.

Caused drm_update_vblank_count() not to do its thing when called from
drm_modeset_ctl() -> drm_vblank_get().

The vblank functionality no longer needs to be suspended during a modeset, so
rename the field to vblank_inmodeset.

16 years agoNV50: delay changing gpu<->non-gpu scaling modes until next modeset
Maarten Maathuis [Sun, 20 Jul 2008 13:40:40 +0000 (15:40 +0200)]
NV50: delay changing gpu<->non-gpu scaling modes until next modeset

16 years agomodesetting-101: Only store property value when set_property was successful.
Maarten Maathuis [Sun, 20 Jul 2008 12:58:46 +0000 (14:58 +0200)]
modesetting-101: Only store property value when set_property was successful.

16 years agoNV50: LVDS always needs some kind of gpu scaling
Maarten Maathuis [Sun, 20 Jul 2008 12:55:59 +0000 (14:55 +0200)]
NV50: LVDS always needs some kind of gpu scaling

16 years agomodesetting-101: set_property should return an int, not a bool
Maarten Maathuis [Sun, 20 Jul 2008 12:51:22 +0000 (14:51 +0200)]
modesetting-101: set_property should return an int, not a bool

16 years agomodesetting-101: implement optional scaling and dithering properties
Maarten Maathuis [Sun, 20 Jul 2008 11:49:18 +0000 (13:49 +0200)]
modesetting-101: implement optional scaling and dithering properties

16 years agodrm: As a workaround don't tear down sg with a modesetting driver.
Maarten Maathuis [Sat, 19 Jul 2008 22:09:06 +0000 (00:09 +0200)]
drm: As a workaround don't tear down sg with a modesetting driver.

- This allows me to maintain a useful prototype driver.

16 years agoi915: convert to using drm_vblank_get/put around vblank counter usage
Jesse Barnes [Sat, 19 Jul 2008 17:18:02 +0000 (13:18 -0400)]
i915: convert to using drm_vblank_get/put around vblank counter usage

All interrupt off vblank count updates are done in drm_vblank_get/put
now, so convert users of the vblank counter over to that interface.

16 years agoUpdate vblank code to new API
Jesse Barnes [Sat, 19 Jul 2008 17:15:23 +0000 (13:15 -0400)]
Update vblank code to new API

In my last push I forgot to convert users of drm_update_vblank_count
over to drm_vblank_get/put, since that's where any interrupt off->on
update accounting is done now.  Since the modeset ioctl did something
similar (an open coded update of the counter) convert it over to using
get/put too, which saves us from having to deal with every combination
of interrupt off & on between calls.

16 years agodrm-gem: Fix build
Ian Romanick [Fri, 18 Jul 2008 19:42:43 +0000 (12:42 -0700)]
drm-gem: Fix build

On some distros missing prototypes cause kernel builds to fail.  These
are hack to make the code build.

16 years agointel-gem: Leave 8xx tiling on until we find any issues.
Eric Anholt [Thu, 17 Jul 2008 23:56:42 +0000 (16:56 -0700)]
intel-gem: Leave 8xx tiling on until we find any issues.

16 years agonv50: use same dma object for fb/tt access
Ben Skeggs [Sun, 22 Jun 2008 15:24:11 +0000 (01:24 +1000)]
nv50: use same dma object for fb/tt access

We depend on the VM fully now for memory protection, separate DMA objects
for VRAM and GART are unneccesary.  However, until the next interface break
(soon) a client can't depend on the objects being the same and must still
call NV_OBJ_SET_DMA_* methods appropriately.

16 years agonouveau: interface changes for nv5x 3d
Ben Skeggs [Tue, 24 Jun 2008 18:39:32 +0000 (04:39 +1000)]
nouveau: interface changes for nv5x 3d

16 years agoradeon: remove microcode version
Dave Airlie [Fri, 18 Jul 2008 04:30:57 +0000 (14:30 +1000)]
radeon: remove microcode version

16 years agodrm/radeon: fixup 0 vs NULL
Dave Airlie [Thu, 19 Jun 2008 01:38:43 +0000 (11:38 +1000)]
drm/radeon: fixup 0 vs NULL

16 years ago[FreeBSD] drm_irq.c updates for vblank fixes.
Robert Noland [Thu, 17 Jul 2008 18:01:04 +0000 (14:01 -0400)]
[FreeBSD] drm_irq.c updates for vblank fixes.

16 years agoi915: remove old broken vblank code
Jesse Barnes [Thu, 17 Jul 2008 17:51:24 +0000 (13:51 -0400)]
i915: remove old broken vblank code

Remove the unused (and broken) "in vblank" code now that the core has
been fixed to use a counter while interrupts are enabled.  Also make the
vblank pipe get/set ioctls into dumb stub functions, since with the new
code we can no longer let userspace control whether vblank interrupts
are enabled, or the core code will misbehave.

16 years agoAvoid incorrect vblank wakeups
Jesse Barnes [Thu, 17 Jul 2008 17:48:14 +0000 (13:48 -0400)]
Avoid incorrect vblank wakeups

The current code uses the hw vblank counter exclusively, which can lead
to wakeups during the active period rather than during the vblank period
if the hw counter counts displayed frames rather than vblank periods.

This change coverts the code over to using the counter while interrupts
are enabled, fixing that issue.  It also includes a couple of related
changes:  one to not enable the new enable/disable behavior until the
modeset ioctl is called (to preserve old client behavior) and another to
account for lost events due to mode setting with the new counter scheme.

BSD will require similar changes to its drm_irq.c code, but they should
be straightforward.

16 years agoFreeBSD: Fix radeon build
Robert Noland [Thu, 17 Jul 2008 03:39:25 +0000 (23:39 -0400)]
FreeBSD: Fix radeon build

16 years agoBSD: change drm_locked_task*() to use the same scheme as linux.
Owain Gordon Ainsworth [Mon, 7 Jul 2008 16:23:48 +0000 (17:23 +0100)]
BSD: change drm_locked_task*() to use the same scheme as linux.

The current code can sleep in an interrupt handler, that is bad. So
instead if we can't grab the lock, flag it and run the tasklet on
unlock.

Signed-off-by: Robert Noland <rnoland@2hip.net>