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
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
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
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
Thomas Hellstrom
c21a7b763a
SiS 315 Awareness.
2006-07-05 15:52:35 +00:00
Thomas Hellstrom
264f60ded4
Add missing semaphore release.
2006-07-05 14:39:22 +00:00
Alan Hourihane
aafedbf7c5
Fix compilation problem on 2.6.9 kernels (bug #6211 )
2006-06-23 16:29:39 +00:00
Thomas Hellstrom
58b63ee5cc
Fix buffer cleanup on close. Move memory manager reset from final_context
...
to lastclose.
2006-06-19 09:12:50 +00:00
Thomas Hellstrom
0203edaa21
via: Return the requested size instead of the correct size of the allocated
...
regions. The 2D driver and XvMC lib has problems when the returned size
is not the same as the allocated size.
2006-06-16 15:20:20 +00:00
Thomas Hellstrom
ca1a77683d
via:
...
-Remove out of memory error message.
-Move sman cleanup from final_context to lastclose.
-Add the P4VM800PRO (?) PCI ID.
2006-06-15 18:37:05 +00:00
Thomas Hellstrom
6c7faf5814
s/list_entry/drm_hash_entry/ for "drm_hash_item"s.
2006-06-06 17:52:03 +00:00
Thomas Hellstrom
1a9e5bae10
Fix drm_remove_magic potential memory leak / corruption. Move drm
...
authentication token hashing to new generic hash table implementation.
2006-06-06 17:46:17 +00:00
Thomas Hellstrom
6bacb180ce
Merge in the drm-sman-branch
2006-06-06 14:19:00 +00:00
Dave Airlie
79e5969172
rip out unneeded back compat code
2006-05-19 04:11:22 +00:00
Dave Airlie
d365f03129
fixup GFP_COMP for older kernels and get_page/put_page for newer
2006-04-23 09:05:05 +00:00
Dave Airlie
4f53bf3545
remove stupid init and exit flags..
2006-04-05 01:23:57 +00:00
Dave Airlie
ac5bd25208
make add context non master...
2006-04-03 08:06:51 +00:00
Dave Airlie
6bb92ab086
fix issue in mga from kernel
2006-03-19 07:53:46 +00:00
Dave Airlie
9c0634bbad
set dma pages reserved
2006-02-21 11:10:05 +00:00
Dave Airlie
abd3904bf0
use coherent memory for PCI allocations with COMP flag
2006-02-21 10:28:47 +00:00
Dave Airlie
0a211db23c
experimental PCI DMA fixes use proper Linux interfaces
2006-02-19 12:08:14 +00:00
Dave Airlie
a25667894a
make some functions static from the kernel
2006-02-18 05:43:19 +00:00
Dave Airlie
b2523e7aa1
always enable and set master on pci device
2006-02-18 04:18:45 +00:00
Dave Airlie
08fafc424a
fix build wrong function call
2006-02-18 03:01:38 +00:00
Dave Airlie
4791dc8856
major realigment of DRM CVS with kernel code, makes integration much easier
2006-02-18 02:53:36 +00:00
Dave Airlie
585f34c3e5
fix card unload
2006-02-18 02:38:07 +00:00
Dave Airlie
ff9ecc09f9
Fixup test for memory at end of memory space
2006-02-18 02:34:53 +00:00
Alan Hourihane
07e1126bde
add missing name, desc, date, major, minor and patchlevel entries
2006-01-26 12:14:09 +00:00
Thomas Hellstrom
d394c9fa08
via: direction bug in get_user_pages call in via_dmablit.c fixed. Bumped
...
minor since this causes the via DDX to fail with vlc video player.
2006-01-12 19:08:16 +00:00
Thomas Hellstrom
661004544c
via: Combine PCI DMA transfers with stride==width (Idea from Luc
...
Verhaegen). A somewhat saner PCI DMA transfer size check. Fix some
typos. Bump patchlevel.
2006-01-06 11:19:06 +00:00
Dave Airlie
3f23f9b99d
nothing from VIA or S3 in this
2006-01-02 09:17:41 +00:00
Dave Airlie
92150972e5
use drm_cards_limit instead of cards_limit
2006-01-02 05:54:10 +00:00
Dave Airlie
781d96c61f
use common read/write routines
2006-01-02 05:52:17 +00:00
Dave Airlie
8fef6fe4f0
sparse cleanups
2006-01-02 05:43:04 +00:00
Dave Airlie
dcbcc60864
align spacing with kernel
2006-01-02 05:38:03 +00:00
Dave Airlie
42cd50fa90
Realign via driver with changes in Linux kernel (mainly whitespace)
2006-01-02 03:25:49 +00:00
Dave Airlie
b14d15ac41
Add vblank support to i915 DRM..
2005-12-28 23:49:59 +00:00
Dave Airlie
be16e93537
Fix from SuSE for issue with context creation failure
2005-12-04 01:24:23 +00:00
Dave Airlie
0db80529d5
Fix from Hugh Dickins for consistent mapping
2005-11-29 09:46:27 +00:00
Thomas Hellstrom
c8261e3d24
Loosen via dmablit alignment checks somewhat. Adapt stride check to maximum
...
sceen size for EXA.
2005-11-15 11:20:47 +00:00
Dave Airlie
b5d71f63cd
enable i915 32/64 bit ioctls
2005-11-11 12:23:18 +00:00
Dave Airlie
eff1b8fbdf
i810 should be fine with i810.. no idea what this crack is ..
2005-11-11 10:52:23 +00:00
Dave Airlie
cd4a9ad8e2
whitespace align with kernel
2005-11-11 09:21:05 +00:00
Dave Airlie
a204d5acb2
realign whitespace with kernel
2005-11-11 09:09:03 +00:00
Dave Airlie
36356df3cb
A bunch of create_proc_dir_entry() calls creating directories had crept in
...
since the last sweep; converted to proc_mkdir().
From: Al Viro (via kernel)
2005-11-11 08:59:57 +00:00
Dave Airlie
ea07fefcbf
convert to use __set_current_state, align some header includes
2005-11-11 08:42:36 +00:00
Dave Airlie
33fbf8b7e2
whitespace align closer with kernel
2005-11-11 08:07:11 +00:00
Dave Airlie
9a91674d45
cleanup ioctl/max_ioctl to use header file for extern symbols
2005-11-11 07:45:46 +00:00
Dave Airlie
b84daa8f32
Fix cpu_to_le32 same as kernel not sure it is correct for ppc
2005-11-10 10:14:48 +00:00
Dave Airlie
fb22dfbfc1
cleanup / whitespace align with kernel
2005-11-10 10:13:25 +00:00
Eric Anholt
a10d8178e3
Initial port of savage to FreeBSD for the AGP and !ShadowStatus case. Adds
...
drm_mtrr_{add,del} for handling the MTRR setup. Still has a LOR issue
with DRM_VERIFYAREA_READ/DRM_COPY_FROM_USER_UNCHECKED in savage_bci.c
-- this won't work with the fine-grained locking in use, and just doing
a single copyin to a temporary will probably work fine. Also note that
the module leaks approximately 4 kb on unload.
2005-11-08 20:25:00 +00:00
Eric Anholt
1a256df480
Catch FreeBSD up to the pcie gart changes. Required minor modification to
...
radeon_cp.c to use a drm_local_map_t-type mapping (drm_core_ioremap
rather than drm_ioremap), which contains private device mapping
information on BSD. I also changed the ati_pcigart interface to use
"void *" for pointers to kva rather than "unsigned long". While PCIGART
support appears to be broken on FreeBSD currently, I think this is not
new, and BusType PCI remains working on my r100 in Linux.
2005-11-08 02:38:01 +00:00
Alan Hourihane
3fce085e13
Fix bug #4908 for now. Alternative is highlighted in this bug report as the
...
better future direction.
2005-11-07 13:17:41 +00:00
Ian Romanick
39615ec06e
Converts the remaining drm_agp_foo functions to be a drm_agp_foo and
...
drm_agp_foo_ioctl pair. Modifies the MGA DRM to use the drm_agp_foo
functions instead of the drm_foo_agp functions. The drm_foo_agp
functions are no longer exported by drm.ko.
Ensures that dma->seg_count and dma->page_count are properly set in
drm_addbufs_{agp,sg,fb}. drm_addbufs_pci was already correct.
Ensures that mga_do_agp_dma_bootstrap correctly sets agp_buffer_token.
At this point PCI DMA is still broken.
Xorg bug: #4797 Reviewed by: Dave Airlie, Eric Anholt Signed-off-by: Ian
Romanick <idr@us.ibm.com>
2005-11-03 00:38:25 +00:00
Dave Airlie
bcbf5ff797
we don't use this stuff anymore .. remove 1k buffer from driver ..
2005-10-23 04:07:50 +00:00
Alan Hourihane
00d4957d62
Don't set MTRR's for intel hardware
2005-10-21 08:59:56 +00:00
Thomas Hellstrom
cf8ce0888a
via: PCI DMA bugfixes and DOS due to too many mapped pages checks.
2005-10-20 17:37:32 +00:00
Ian Romanick
308b40ea09
The Linux 2.6.9 (and earlier) fops structure does not contain a
...
.compat_ioctl field. This change makes the DRM build on those kernels.
Signed-off-by: Ian Romanick <idr@us.ibm.com>
2005-10-11 17:34:49 +00:00
Adam Jackson
62a4673034
Skeleton nv drm driver, to enable DMA in EXA. (Lars Knoll, minor updates by
...
me)
2005-10-06 23:31:29 +00:00
Dave Airlie
908ad0ed96
remove version not used anymore
2005-10-06 23:08:58 +00:00
Dave Airlie
ace8b912fb
fix header this is now a c file
2005-09-30 09:09:03 +00:00
Dave Airlie
f42cdc8dcb
Add support to turn writeback off via radeon module option
2005-09-30 06:41:10 +00:00
Dave Airlie
856bdf0f67
fixup bens fix so it works..
2005-09-30 03:39:02 +00:00
Dave Airlie
68b4ad3cce
Add Bens fix for radeon maps on ppc
2005-09-30 03:14:18 +00:00
Thomas Hellstrom
9d24d951f7
via: fix stray error printout message.
2005-09-25 14:38:07 +00:00
Thomas Hellstrom
903e5701ff
Add the via PCI DMA blit code.
2005-09-25 12:54:12 +00:00
Dave Airlie
c1b7df95be
add __ATTR
2005-09-25 05:19:06 +00:00
Dave Airlie
3a0230ef9c
use linux kernel macros don't make our own
2005-09-25 03:09:51 +00:00
Dave Airlie
cd16d96856
remove pci_find_class use for alpha
2005-09-18 09:31:06 +00:00