Thomas Hellstrom
b4b7b99760
Remove the ioctl multiplexing, and instead allow for generic
...
drm ioctls 0x80 - 0xFF.
2006-08-27 21:16:13 +02:00
Thomas Hellstrom
ac26b51503
Have TTM create and reference ioctl call return the actual TTM size.
2006-08-27 19:45:38 +02:00
Thomas Hellstrom
4fa58aa152
Add TTM map handle on reference.
2006-08-27 19:07:38 +02:00
Thomas Hellstrom
65e7274008
ttm create / destroy / ref / unref ioctl.
2006-08-27 19:03:20 +02:00
Thomas Hellstrom
c488e25ceb
More ioctl stubs.
...
Buffer object locking order documentation.
2006-08-25 20:03:39 +02:00
Thomas Hellstrom
35c8ce6c29
ttm and buffer objects ioctl stubs.
2006-08-25 19:03:42 +02:00
Thomas Hellstrom
1d3cf107d2
Module protection map access is moving into mainline kernels.
...
Update drm_compat accordingly.
(Reported by Dave Airlie)
2006-08-25 18:14:22 +02:00
Thomas Hellstrom
4c03030b12
Checkpoint commit
...
Buffer object code.
2006-08-25 18:05:35 +02:00
Thomas Hellstrom
8fa43d4b2f
Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into drm-ttm-0-2-branch
2006-08-23 13:31:45 +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
Thomas Hellstrom
e201511a0f
More ttm cleanups.
2006-08-22 11:57:08 +02:00
Thomas Hellstrom
ca4e34e532
ttm code cleanup.
...
Fix the sleep-in-page-table-spinlock bug discovered by Dave Airlie
2006-08-22 11:19:53 +02:00
Thomas Hellstrom
a6535c8db4
Add a fence object class field for future use (For example VSYNC fence objects)
2006-08-22 10:44:09 +02:00
Thomas Hellstrom
7058d06317
Initial i915 buffer object driver
2006-08-22 10:24:48 +02:00
Thomas Hellstrom
b81ca5e031
AGP backends for TTM.
2006-08-22 10:09:57 +02:00
Thomas Hellstrom
700bf80ca9
Bring in stripped TTM functionality.
2006-08-22 09:47:33 +02:00
Thomas Hellstrom
8d5b7c77f9
Allow longer sequence lifetimes.
2006-08-21 21:37:43 +02:00
Thomas Hellstrom
e089de33e8
i915 fence object driver implementing 2 fence object types:
...
0x00 EXE fence. Signals when command stream interpreter has reached the point
where the fence was emitted.
0x01 FLUSH fence. Signals when command stream interpreter has reached the point
where the fence was emitted, and all previous drawing operations have been
completed and flushed.
Implements busy wait (for fastest response time / high CPU) and
lazy wait (User interrupt or timer driven).
2006-08-21 21:36:00 +02:00
Thomas Hellstrom
6571f74a49
Remove some accidently included TTM code.
2006-08-21 21:12:29 +02:00
Thomas Hellstrom
657bacc395
Add missing fence type define.
...
Add drm_fence.o to Makefile
2006-08-21 21:04:36 +02:00
Thomas Hellstrom
166da9355d
User / Kernel space fence objects (device-independent part).
2006-08-21 21:02:08 +02:00
Thomas Hellstrom
1c787f0d39
Backwards compatibility code for ttms.
2006-08-21 20:38:57 +02:00
Thomas Hellstrom
42c2cfcf7d
Generic DRM support base-class support for user-space objects, like
...
fence objects and buffer objects:
Refcounting,
Inter-process sharing,
Synchronization
Destruction.
2006-08-21 20:30:19 +02:00
Thomas Hellstrom
11f9e404fb
Avoid using vmalloc for small hash tables.
2006-08-21 17:02:44 +02: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
7a46d41399
i965 code and Linux coding style < 0
...
smack my whitespace up.
2006-08-10 14:38:50 +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
df7378d7fa
clean up script to create an lk drm directory
2006-08-10 14:31:56 +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
Alan Hourihane
48cb9aceed
Add support for Intel i965G chipsets.
...
This is a patch prepared by Guangdeng Liao based off of Tungsten Graphics's
final code drop.
2006-08-08 15:05:54 -07: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
Michel Dänzer
35066b51ef
Revert "Make sure busmastering gets disabled on module unload."
...
This reverts af7b89d724
commit. It causes an oops
on X server shutdown here, and for the reporter of bug #7629 as well.
2006-07-26 18:21:32 +02:00
Michel Dänzer
645453ce11
Bug #7629 : Fix for CHIP_IS_AGP getting 'restored' with non-AGP cards
...
Commit 2a47f6bfec
caused the CHIP_IS_AGP flag to
get 'restored' with PCI(e) cards. I can't think of a way to fix this without
introducing a (otherwise redundant) CHIP_IS_PCI flag.
2006-07-26 18:19:27 +02: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
Adam Jackson
6677e2a10b
Delete the pre-core DRM code with extreme prejudice.
2006-07-19 16:19:25 -04:00
Adam Jackson
af7b89d724
Make sure busmastering gets disabled on module unload.
2006-07-19 15:35:31 -04:00
Michel Dänzer
d5e0f8bdaf
Use RADEON_RB3D_DSTCACHE_CTLSTAT instead of RADEON_RB2D_DSTCACHE_CTLSTAT.
...
The latter seems to be a read-only mirror of the former.
2006-07-19 19:18:32 +02:00
Michel Dänzer
2a47f6bfec
Make sure CHIP_IS_AGP flag is set when not overriding to PCI mode.
...
This allows using AGP after overriding to PCI mode in a previous session
without reloading the DRM.
2006-07-19 19:16:26 +02:00
Michel Dänzer
c91748e702
When writeback isn't used, actually disable it in the hardware.
...
Not doing this might waste bus bandwidth or even cause memory corruption or
system crashes on systems that check bus transfers. No such incident has been
reported though.
2006-07-19 19:13:00 +02:00
Michel Dänzer
e337eadcec
Implement RADEON_PARAM_SCRATCH_OFFSET getparam.
...
When this succeeds, userspace can read the scratch register contents from the
mapped writeback page directly.
2006-07-19 19:07:06 +02:00
Michel Dänzer
7dea64677b
Some debug output when the getparam ioctl is called with an unknown parameter.
2006-07-19 19:01:33 +02: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