Commit Graph

647 Commits (95486bbde05ae51975c4d51fd194111788edee9a)

Author SHA1 Message Date
Stephane Marchesin 93fee5cf22 Merge branch 'master' of git://anongit.freedesktop.org/git/mesa/drm into nouveau-1 2006-10-15 00:12:13 +02:00
George Sapountzis f3deef730d Bug 6242: [mach64] Use private DMA buffers, part #3.
Add DRM_PCI_BUFFER_RO flag for mapping PCI DMA buffer read-only. An additional
flag is needed, since PCI DMA buffers do not have an associated map.
2006-10-02 22:47:23 +03:00
Michel Dänzer f6238cf624 Fix type of second argument to spin_lock_irqsave(). 2006-10-02 15:33:19 +02:00
Michel Dänzer 3a16e615ca Make locked tasklet handling more robust.
Initialize the spinlock unconditionally when struct drm_device is filled in,
and return early in drm_locked_tasklet() if the driver doesn't support IRQs.
2006-10-02 11:04:42 +02:00
Michel Dänzer cf6b2c5299 Core vsync: Don't clobber target sequence number when scheduling signal.
It looks like this would have caused signals to always get sent on the next
vertical blank, regardless of the sequence number.
2006-09-28 15:41:36 +02:00
Michel Dänzer 89e323e490 Core vsync: Add flag DRM_VBLANK_NEXTONMISS.
When this flag is set and the target sequence is missed, wait for the next
vertical blank instead of returning immediately.
2006-09-28 15:41:36 +02:00
Michel Dänzer df7551ef73 Change first valid DRM drawable ID to be 1 instead of 0.
This makes it easier for userspace to know when it needs to allocate an ID.

Also free drawable information memory when it's no longer needed.
2006-09-28 15:41:36 +02:00
Michel Dänzer b9f3009160 Drop tasklet locked driver callback when uninstalling IRQ. 2006-09-28 15:41:35 +02:00
Michel Dänzer 98a8950458 Hook up DRM_IOCTL_UPDATE_DRAW ioctl. 2006-09-28 15:41:35 +02:00
Michel Dänzer 29598e5253 Add support for tracking drawable information to core
Actually make the existing ioctls for adding and removing drawables do
something useful, and add another ioctl for the X server to update drawable
information. The only kind of drawable information tracked so far is cliprects.
2006-09-28 15:41:35 +02:00
Michel Dänzer d817cc1f30 Add support for interrupt triggered driver callback with lock held to DRM core. 2006-09-28 15:41:35 +02:00
Michel Dänzer 0c7d7f4361 Add support for secondary vertical blank interrupt to i915 driver.
When the vertical blank interrupt is enabled for both pipes, pipe A is
considered primary and pipe B secondary. When it's only enabled for one pipe,
it's always considered primary for backwards compatibility.
2006-09-28 15:41:35 +02:00
Michel Dänzer ab351505f3 Add support for secondary vertical blank interrupt to DRM core. 2006-09-28 15:41:35 +02:00
Felix Kuhling 62f6ea2256 bug 5942: add stubs for drm_mtrr_add/del for non-MTRR configured linux 2006-09-22 03:46:54 +10:00
Dave Airlie ef98a8e20d drm: put domain number back to 0, domain support is seriously fubar.. 2006-09-18 21:23:34 +10:00
Dave Airlie 3cc64a943a drm: use radeon specific names for radeon flags 2006-09-12 06:13:14 +10:00
Eric Anholt 55057660f0 Put the PCI device/vendor id in the drm_device_t.
This helps us unbreak FreeBSD DRM from the 965 changes.
2006-09-06 23:25:14 -07:00
Dave Airlie 3cfab681b3 Merge branch 'master' into nouveau-1 2006-08-29 00:01:19 +10:00
Dave Airlie 9b984b34e9 drm: lots of small cleanups and whitespace issues fixed up
remove a mach64 warning, align a lot of things from linux kernel
2006-08-28 11:31:43 +10:00
Dave Airlie 60ddaaf2e0 add static function, and remove bad attributions 2006-08-28 11:28:38 +10:00
Dave Airlie 3586ecd060 fix const pointer warnings with file_operations 2006-08-28 11:27:13 +10:00
Dave Airlie 205c573e44 remove local copies of pci domain/bus/slot/num 2006-08-28 11:27:09 +10:00
Dave Airlie b4feb2c04e remove some DRM_ARRAY_SIZE from linux core code 2006-08-28 11:27:05 +10:00
Dave Airlie 3a91e1a5fb fixup some of the comments in drm_context.c 2006-08-28 11:27:01 +10:00
Dave Airlie 27c72b67ec drm: i810_dma.c: fix pointer arithmetic for 64-bit target
First warning result from open-coded PTR_ERR,
the rest is caused by code like this:

*(u32 *) ((u32) buf_priv->kernel_virtual + used)

I've also fixed a missing PTR_ERR in i830_dma.c

From: Denis Vlasenko <vda.linux@googlemail.com>
Signed-off-by: Dave Airlie <airlied@linux.ie>
2006-08-28 11:26:57 +10:00
Dave Airlie fef9b30a2b initial import of nouveau code from nouveau CVS 2006-08-27 08:55:02 +10:00
Thomas Hellstrom ea57099973 Fix previous commit: Only fall back to hashed handles
when there is a duplicate handle error. Not for other errors.
2006-08-23 13:49:13 +02:00
Thomas Hellstrom 459b234d79 Allow multiple addMaps with the same 32-bit map offset.
(Reported by Dave Airlie)
2006-08-23 11:31:10 +02:00
Thomas Hellstrom 8dfe917cb2 Fix hashtab implementation leaking illegal error codes to user space.
(Reported by Dave Airlie)
2006-08-23 11:21:33 +02:00
Dave Airlie 0afb877a37 drm: lots of small cleanups and whitespace issues fixed up
remove a mach64 warning, align a lot of things from linux kernel
2006-08-19 17:59:18 +10:00
Dave Airlie 78634c14a8 add static function, and remove bad attributions 2006-08-19 16:56:03 +10:00
Dave Airlie d90a55fe34 fix const pointer warnings with file_operations 2006-08-19 16:55:30 +10:00
Dave Airlie 3a681bb4c1 remove local copies of pci domain/bus/slot/num 2006-08-19 16:55:00 +10:00
Dave Airlie cc71393559 remove some DRM_ARRAY_SIZE from linux core code 2006-08-19 16:43:16 +10:00
Dave Airlie 4b38f72672 fixup some of the comments in drm_context.c 2006-08-19 16:36:26 +10:00
Dave Airlie f89a576aec drm: i810_dma.c: fix pointer arithmetic for 64-bit target
First warning result from open-coded PTR_ERR,
the rest is caused by code like this:

*(u32 *) ((u32) buf_priv->kernel_virtual + used)

I've also fixed a missing PTR_ERR in i830_dma.c

From: Denis Vlasenko <vda.linux@googlemail.com>
Signed-off-by: Dave Airlie <airlied@linux.ie>
2006-08-19 16:31:34 +10:00
Thomas Hellstrom 0316f93d51 Remove hash tables on DRM exit. 2006-08-16 16:36:56 +02:00
Thomas Hellstrom 4daa024918 Avoid kernel oops in some error paths calling drm_lastclose(). 2006-08-14 17:11:14 +02:00
Dave Airlie 0d60cd0036 remove all TRUE instances as well 2006-08-14 11:52:34 +10:00
Dave Airlie 18a48a9267 remove all TRUE/FALSE no need for this in the drm, use 0 or 1 2006-08-14 11:49:52 +10:00
Dave Airlie 5340a70227 cleanup some whitespace issue and move compat code to compat header 2006-08-10 14:32:18 +10:00
Dave Airlie 28069ff10f drm: ati_pcigart cleanup
use NULL instead of 0, cleanup some whitespace
2006-08-10 14:31:22 +10:00
Dave Airlie e524028630 drm: whitespace cleanup in new files 2006-08-07 21:34:40 +10:00
Dave Airlie 4b3ea90bc4 drm: remove extra whitespace from drm_mm.c 2006-08-07 21:00:13 +10:00
Dave Airlie 248d1a32a2 drm: fixup whitespace and style for Linux kernel import 2006-08-07 20:56:38 +10:00
Dave Airlie 09c901e4bd remove incorrect exit marking on cleanup pci as this is called from other paths 2006-07-24 11:09:41 +10:00
Dave Airlie 5cfbd5dbab switch drm to use Linux mutexes instead of semaphore.
I hope the fallback compat code works if not shout at me.
2006-07-24 10:51:27 +10:00
Michel Dänzer b9243ce3d5 .cvsignore -> .gitignore
Sort the merged file, remove the redundant explicit .ko lines and add
some generated symlinks.
2006-07-19 18:31:43 +02:00
Thomas Hellstrom 126673d62a Keep hashed user tokens, with the following changes:
32-bit physical device addresses are mapped directly to user-tokens. No
    duplicate maps are allowed, and the addresses are assumed to be outside
    of the range 0x10000000 through 0x30000000. The user-token is identical
    to the 32-bit physical start-address of the map.
64-bit physical device addressed are mapped to user-tokens in the range
0x10000000 to 0x30000000 with page-size increments. The user_token should
    not be interpreted as an address.
Other map types, like upcoming TTM maps are mapped to user-tokens in the
    range
0x10000000 to 0x30000000 with page-size increments. The user_token should
    not be interpreted as an address.
This keeps compatibility with buggy drivers, while still implementing a
    hashed map lookup. The SiS and via device driver major bumps are
    reverted.
2006-07-11 14:37:37 +00:00
Thomas Hellstrom a392349691 Change drm Map handles to be arbitrary 32-bit hash tokens in the range
0x10000000 to 0x90000000 in PAGE_SIZE increments.
Implement hashed map lookups.
This potentially breaks both 2D and 3D drivers. If so, the corresponding
2D and 3D driver should be fixed, and it's corresponding drm device driver
    should have its major bumped as soon as possible.
Bump sis and via drm device driver majors.
The SiS and Unichrome 3D drivers are fixed in Mesa CVS HEAD and
    mesa_6_4_branch.
2006-07-10 13:00:21 +00:00