Leif Delgass [Mon, 28 Apr 2003 17:49:26 +0000 (17:49 +0000)]
Restore Eric Anholt's DRM_*MEMORYBARRIER changes from rev 1.11
Leif Delgass [Mon, 28 Apr 2003 16:20:31 +0000 (16:20 +0000)]
Only free original pagelist in addbufs_pci if one already exists (fixes
oops).
Alan Hourihane [Mon, 28 Apr 2003 15:29:46 +0000 (15:29 +0000)]
DRM_READ/WRITEMEMORYBARRIER was given an argument in the bsd tree, fix for
linux
Keith Whitwell [Sun, 27 Apr 2003 09:53:58 +0000 (09:53 +0000)]
Put back __HAVE_KERNEL_CTX_SWITCH for David Miller's sparc drm driver
(which doesn't live in our cvs).
Eric Anholt [Sun, 27 Apr 2003 00:43:14 +0000 (00:43 +0000)]
Use real endian conversion functions.
Eric Anholt [Sat, 26 Apr 2003 23:55:30 +0000 (23:55 +0000)]
Fix formatting of hw.dri sysctl.
Eric Anholt [Sat, 26 Apr 2003 23:32:00 +0000 (23:32 +0000)]
Remove the map argument from DRM_*MEMORYBARRIER. Not all of the uses of
DRM_*MEMORYBARRIER we had were related to an MMIO space. This means
arch-specific code on the BSDs, unfortunately. Also add
DRM_MEMORYBARRIER() and change the DRM_READMEMORYBARRIER()s that used
to be read/write barriers to it.
Eric Anholt [Sat, 26 Apr 2003 23:04:22 +0000 (23:04 +0000)]
MFL: Don't install irq handler unless the driver has been initialized.
Eric Anholt [Sat, 26 Apr 2003 22:52:39 +0000 (22:52 +0000)]
Add PCI DMA memory functions and make addbufs_pci and associated code use
it. To do this we need to save the bus address along with the virtual
address in the seglist. Also fix some error handling and a few bits of
whitespace.
Leif Delgass [Sat, 26 Apr 2003 22:28:56 +0000 (22:28 +0000)]
Ensure driver has been initialized (dev_private != NULL) before installing
irq handler in DRM(irq_install). Modify all drivers to ensure irq
handler is removed before cleanup and cleanup is called at takedown.
Remove unused buffer private struct fields in i810, i830. Check for
lock on init/cleanup in all drivers except i810/i830. The current DDX
for i810 and i830 doesn't hold the lock on kernel init (FIXME?).
Eric Anholt [Sat, 26 Apr 2003 22:21:37 +0000 (22:21 +0000)]
Missed files in the last commit: Remove memory debugging sysctl unless
MEMORY_DEBUG is set.
Eric Anholt [Sat, 26 Apr 2003 22:18:39 +0000 (22:18 +0000)]
Move the memory functions with debugging info to drm_memory_debug.h, and
remove a couple of dead functions.
Eric Anholt [Sat, 26 Apr 2003 21:57:43 +0000 (21:57 +0000)]
Remove #if 0'ed code.
Keith Whitwell [Sat, 26 Apr 2003 21:33:44 +0000 (21:33 +0000)]
2.5.x sync patch from Linus Torvalds
Keith Whitwell [Sat, 26 Apr 2003 21:22:08 +0000 (21:22 +0000)]
move prototypes for gamma functions to gamma_drv.h
Keith Whitwell [Sat, 26 Apr 2003 21:21:36 +0000 (21:21 +0000)]
Remove #if 0'd code
Eric Anholt [Sat, 26 Apr 2003 06:53:22 +0000 (06:53 +0000)]
Replace the C atomic_cmpset_int compatibility function for -stable with the
real i386 atomic_cmpset_int from -current. FreeBSD-stable won't ever
have DRM support for non-i386.
Eric Anholt [Sat, 26 Apr 2003 06:39:55 +0000 (06:39 +0000)]
Disable MTRRs on FreeBSD-stable. Without this, it hangs on boot in the MTRR
setting for AGP cards on SMP machines.
Leif Delgass [Fri, 25 Apr 2003 19:42:47 +0000 (19:42 +0000)]
Fix potential oops and memory leaks when allocations fail in
addbufs_agp/pci. Add support for buffer private structs with PCI DMA
buffers. Also some debug format string fixes.
Eric Anholt [Fri, 25 Apr 2003 02:27:21 +0000 (02:27 +0000)]
Merge from FreeBSD-current.
David Dawes [Fri, 25 Apr 2003 00:57:42 +0000 (00:57 +0000)]
Targets for building dristat and drmstat.
Eric Anholt [Fri, 25 Apr 2003 00:02:14 +0000 (00:02 +0000)]
Clean up the DRM_COPY_TO_USER()ing of DRM(infobufs), making it more
legible.
Eric Anholt [Thu, 24 Apr 2003 23:57:29 +0000 (23:57 +0000)]
Clean up the style of the linux-compat code and use ioctl() directly rather
than reimplementing it.
Leif Delgass [Thu, 24 Apr 2003 23:18:33 +0000 (23:18 +0000)]
Pass dma handle from pci_alloc_consistent to the card for status page,
rather than using virt_to_bus() on the virtual address.
Eric Anholt [Thu, 24 Apr 2003 19:09:55 +0000 (19:09 +0000)]
Remove more gamma DMA infrastructure. Most of this code was copied straight
from linux, so it could be added back if some driver needed it in the
future.
Leif Delgass [Thu, 24 Apr 2003 16:55:22 +0000 (16:55 +0000)]
Remove unused dev->map_count. We always iterate the maplist with
list_for_each() and the count is not updated or used for stats.
Leif Delgass [Thu, 24 Apr 2003 16:47:32 +0000 (16:47 +0000)]
Minor cleanups for dri/drmstat test progs (Both still need targets for new
Makefile)
Leif Delgass [Thu, 24 Apr 2003 15:29:30 +0000 (15:29 +0000)]
Remove unused variables
Keith Whitwell [Thu, 24 Apr 2003 10:02:18 +0000 (10:02 +0000)]
Move the debug versions of the DRM memory functions to a new file and
implement non-debug ones as standard.
Keith Whitwell [Thu, 24 Apr 2003 09:41:33 +0000 (09:41 +0000)]
Remove #if 0'd code and some unused string functions
Eric Anholt [Thu, 24 Apr 2003 06:19:54 +0000 (06:19 +0000)]
Remove more gamma DMA code. This isn't all of it, but it's a major portion.
Eric Anholt [Thu, 24 Apr 2003 05:56:44 +0000 (05:56 +0000)]
Move some common code from addbufs_<type> to addbufs. Make buf_alloc be
protected by the count_lock and make it non-atomic.
Eric Anholt [Thu, 24 Apr 2003 05:14:05 +0000 (05:14 +0000)]
Remove the ioctl_count variable from the device. A reference is held to the
fp throughout the ioctl syscall, so the device can't be closed out from
under us.
Eric Anholt [Thu, 24 Apr 2003 04:50:07 +0000 (04:50 +0000)]
Remove a bunch of dead code and fix spelling of a couple of comments.
David Dawes [Thu, 24 Apr 2003 03:01:40 +0000 (03:01 +0000)]
Single/dual rasterizer quiescence patch for the glint/gamma DRI driver
(#5685, Sven Luther).
David Dawes [Thu, 24 Apr 2003 02:56:06 +0000 (02:56 +0000)]
break long line
Eric Anholt [Thu, 24 Apr 2003 00:46:03 +0000 (00:46 +0000)]
Move one definition to drm_drv.h and remove the rest of drm_init.h which
was all unused.
Eric Anholt [Thu, 24 Apr 2003 00:37:35 +0000 (00:37 +0000)]
Remove DRM_DMA_HISTOGRAM and associated code.
Eric Anholt [Thu, 24 Apr 2003 00:25:36 +0000 (00:25 +0000)]
Make DRM(read) and DRM(poll) stubs and remove DRM(write) and
DRM(write_string). This is the first part of removing much of the
support code for gamma from the BSD DRM, since it appears that no new
drivers are using it and nobody has ever shown interest in gamma on
BSD.
Keith Whitwell [Wed, 23 Apr 2003 23:42:29 +0000 (23:42 +0000)]
Install dummy/noop read & poll fops unless the driver has replacements.
Michel Daenzer [Wed, 23 Apr 2003 14:21:17 +0000 (14:21 +0000)]
deal correctly with read() from the DRM failing
Michel Daenzer [Tue, 22 Apr 2003 21:45:06 +0000 (21:45 +0000)]
get rid of superfluous fields in struct drm_radeon_ring_buffer
use correct address for ring read pointer writeback (yes, we seem to have
been running with bogus values for the ring read pointer, which
'worked' because the return value of radeon_wait_ring() is never
checked and the ring usually never fills up)
Leif Delgass [Tue, 22 Apr 2003 21:30:24 +0000 (21:30 +0000)]
Remove AGP dependency in kernel config for radeon, sis. Remove
PCIGART_ENABLED define for radeon, pcigart support now included for any
arch.
Leif Delgass [Tue, 22 Apr 2003 19:42:27 +0000 (19:42 +0000)]
Only mga, i810, i830 require AGP (should mga define __MUST_HAVE_AGP?)
Alan Hourihane [Tue, 22 Apr 2003 12:52:17 +0000 (12:52 +0000)]
change PREINSTALL/POSTINSTALL/UNINSTALL irq code to real functions as per
the other drivers
Alan Hourihane [Tue, 22 Apr 2003 12:42:22 +0000 (12:42 +0000)]
remove unused variable
Alan Hourihane [Tue, 22 Apr 2003 12:41:16 +0000 (12:41 +0000)]
fix gamma headers
Keith Whitwell [Tue, 22 Apr 2003 12:14:59 +0000 (12:14 +0000)]
Rename drm_lists.h to gamma_lists.h
Keith Whitwell [Tue, 22 Apr 2003 12:07:43 +0000 (12:07 +0000)]
new file
Keith Whitwell [Tue, 22 Apr 2003 12:07:24 +0000 (12:07 +0000)]
Move the excitingly named DRM(flush_block_and_flush) and friends to
gamma-specific code.
Fix templates so i8x0 drivers don't have to define __HAVE_DMA_WAITLIST.
Keith Whitwell [Tue, 22 Apr 2003 11:39:34 +0000 (11:39 +0000)]
remove unused __HAVE_KERNEL_CTX_SWITCH code
Keith Whitwell [Tue, 22 Apr 2003 11:31:55 +0000 (11:31 +0000)]
Move a chunk of gamma-specific code out of drm_dma.h. Remove unused
'DRM_FLAG_NOCTX' option.
Keith Whitwell [Tue, 22 Apr 2003 10:18:29 +0000 (10:18 +0000)]
remove unused dma histogram code
Keith Whitwell [Tue, 22 Apr 2003 10:13:14 +0000 (10:13 +0000)]
Move a bunch of gamma-specific code into a gamma-specific file. Restore the
kooky DRM(write_string) code for gamma.
Keith Whitwell [Tue, 22 Apr 2003 09:49:14 +0000 (09:49 +0000)]
add more get_param queries for embedded project
Keith Whitwell [Tue, 22 Apr 2003 08:06:14 +0000 (08:06 +0000)]
remove DRM read, poll and write_string
Leif Delgass [Mon, 21 Apr 2003 16:07:17 +0000 (16:07 +0000)]
Check for NULL map before calling DRM(ioremapfree) on cleanup. Prevents an
oops if a map wasn't found (e.g. XFree86 Bugzilla #108)
David Dawes [Thu, 17 Apr 2003 18:52:05 +0000 (18:52 +0000)]
Add a Kconfig file as used in recent 2.5.x kernels.
David Dawes [Thu, 17 Apr 2003 18:48:06 +0000 (18:48 +0000)]
Make Config.in look more like a recent 2.4.x kernel version.
David Dawes [Thu, 17 Apr 2003 18:44:38 +0000 (18:44 +0000)]
Rework the Linux drm kernel module build to leverage off the standard
kernel build system. This is based on suggestions and examples from
David Woodhouse. This approach has the advantage that the build
requirements of a wider range of standard kernels are now supported
transparently, but the disadvantage of some extra complexity to handle
building against clean vendor-distributed kernel source trees. This has
been tested with some recent Red Hat and SuSE distributions.
David Dawes [Thu, 17 Apr 2003 18:41:28 +0000 (18:41 +0000)]
Bring some drm module changes over from the XFree86 trunk:
- Reset 'bound' flag for an agp entry after undbind succeeded in
drm_agpsupport.h (Egbert Eich).
- Ignore hw_lock for drm device if lock was set by a different instance (ie
Xserver) to prevent second server from spinning in driver release
function (currently only relevant for i8xx drm drivers) (David Dawes).
- Use the agpgart "key" for the unique handle for bindings rather than the
memory address (the key is guaranteed to be unique) (David Dawes).
David Dawes [Thu, 17 Apr 2003 15:27:34 +0000 (15:27 +0000)]
Fix DRM module build on 2.5.41 and later kernels (tqueue -> workqueue).
Jose Fonseca [Thu, 10 Apr 2003 14:58:53 +0000 (14:58 +0000)]
file drm_pci.h was initially added on branch mach64-0-0-5-branch.
Eric Anholt [Tue, 8 Apr 2003 04:43:29 +0000 (04:43 +0000)]
file mach64_drv.c was initially added on branch mach64-0-0-6-branch.
Eric Anholt [Tue, 8 Apr 2003 04:23:49 +0000 (04:23 +0000)]
file Makefile was initially added on branch mach64-0-0-6-branch.
Eric Anholt [Tue, 8 Apr 2003 04:09:47 +0000 (04:09 +0000)]
file drm_linux_list.h was initially added on branch mach64-0-0-6-branch.
Leif Delgass [Tue, 8 Apr 2003 01:30:43 +0000 (01:30 +0000)]
Use list_entry() to get container struct from struct list_head pointers.
Build fix for RedHat 9 kernel (5 args to remap_page_range()).
Leif Delgass [Sat, 5 Apr 2003 19:49:16 +0000 (19:49 +0000)]
add 'SG' map type identifier string (pci scatter/gather) to /proc vm info
Eric Anholt [Tue, 1 Apr 2003 18:53:24 +0000 (18:53 +0000)]
Whitespace and remove a dead commented line.
Leif Delgass [Mon, 31 Mar 2003 04:14:35 +0000 (04:14 +0000)]
Warning fix (use %p format for filp)
Eric Anholt [Sun, 30 Mar 2003 07:23:03 +0000 (07:23 +0000)]
Spelling fixes in comments.
Submitted by: Linus Torvalds <torvalds@transmeta.com>
Eric Anholt [Sat, 29 Mar 2003 18:22:28 +0000 (18:22 +0000)]
Remove dead vma code and remove the unused devstate struct definition.
Eric Anholt [Sat, 29 Mar 2003 03:38:47 +0000 (03:38 +0000)]
Add DRMFILE definitions and supply filp for BSD in the
post-drm-filp-0-1-branch world. The filp is a void * cast from the
current pid. This is a temporary solution which maintains the status
quo until a proper solution is implemented.
What is really needed is a unique pointer per open, hopefully with a device
private area. This can be done in FreeBSD for all entry points except
mmap, but is difficult (sys/dev/streams/streams.c is an example). I
have partially completed code for this but have not had time to debug,
so this is a temporary fix.
Eric Anholt [Sat, 29 Mar 2003 03:30:21 +0000 (03:30 +0000)]
buf->filp is a pointer, so make printf format args be %p not %d
Keith Whitwell [Fri, 28 Mar 2003 14:27:37 +0000 (14:27 +0000)]
merged drm-filp-0-1-branch
Keith Whitwell [Wed, 26 Mar 2003 16:37:47 +0000 (16:37 +0000)]
Add 2nd arg for DRM_FREE
Alan Hourihane [Tue, 25 Mar 2003 11:36:43 +0000 (11:36 +0000)]
linux merge for drm
Alan Hourihane [Tue, 25 Mar 2003 00:29:14 +0000 (00:29 +0000)]
XFree86 4.3.0 merge
Eric Anholt [Tue, 11 Mar 2003 20:51:28 +0000 (20:51 +0000)]
Merge back from FreeBSD-current, adding FreeBSD ID tags to aid future
merging. Also includes an update to radeon PCI IDs.
Eric Anholt [Sat, 8 Mar 2003 05:05:41 +0000 (05:05 +0000)]
Make dma_addr_t an unsigned long not a uint32, don't try to use memrange
functions on FreeBSD non-x86, and remove a dead define.
Eric Anholt [Thu, 6 Mar 2003 19:21:23 +0000 (19:21 +0000)]
Remove the vbl signal code because it's untested (and has lock issues on
-current).
Eric Anholt [Wed, 5 Mar 2003 06:06:27 +0000 (06:06 +0000)]
Put cdevsw initialization in line with FreeBSD-current. (From r1.10,r1.11
of FreeBSD CVS)
Eric Anholt [Wed, 5 Mar 2003 06:04:50 +0000 (06:04 +0000)]
Update mmap handling for FreeBSD-current (Based on r1.3 of FreeBSD CVS).
Eric Anholt [Wed, 5 Mar 2003 04:14:52 +0000 (04:14 +0000)]
Remove a paste-o in DRM_SPINUNINIT and add a volatile to the compatibility
atomic_cmpset_int.
Keith Whitwell [Tue, 4 Mar 2003 11:41:12 +0000 (11:41 +0000)]
DRM_FREE/2 patch from Philip Brown
Jose Fonseca [Sun, 2 Mar 2003 21:44:26 +0000 (21:44 +0000)]
file savage_drv.h was initially added on branch savage-0-0-1-branch.
Jose Fonseca [Sun, 2 Mar 2003 21:44:26 +0000 (21:44 +0000)]
file savage_drm.h was initially added on branch savage-0-0-1-branch.
Jose Fonseca [Sun, 2 Mar 2003 21:44:26 +0000 (21:44 +0000)]
file savage_bci.c was initially added on branch savage-0-0-1-branch.
Leif Delgass [Fri, 28 Feb 2003 19:39:46 +0000 (19:39 +0000)]
Update object targets
Jose Fonseca [Thu, 27 Feb 2003 12:52:42 +0000 (12:52 +0000)]
file savage_drv.c was initially added on branch savage-0-0-1-branch.
Jose Fonseca [Thu, 27 Feb 2003 12:52:42 +0000 (12:52 +0000)]
file savage.h was initially added on branch savage-0-0-1-branch.
Leif Delgass [Wed, 26 Feb 2003 09:49:54 +0000 (09:49 +0000)]
file mach64_irq.c was initially added on branch mach64-0-0-6-branch.
Eric Anholt [Sat, 22 Feb 2003 18:40:12 +0000 (18:40 +0000)]
Fix build on NetBSD.
Eric Anholt [Fri, 21 Feb 2003 23:23:09 +0000 (23:23 +0000)]
Merge from bsd-4-0-0-branch.
Eric Anholt [Sun, 16 Feb 2003 19:03:04 +0000 (19:03 +0000)]
file mach64_drm.h was initially added on branch mach64-0-0-6-branch.
Eric Anholt [Sun, 16 Feb 2003 19:03:04 +0000 (19:03 +0000)]
file mach64_state.c was initially added on branch mach64-0-0-6-branch.
Eric Anholt [Sun, 16 Feb 2003 19:03:04 +0000 (19:03 +0000)]
file mach64_drv.h was initially added on branch mach64-0-0-6-branch.
Eric Anholt [Sun, 16 Feb 2003 19:03:04 +0000 (19:03 +0000)]
file mach64_dma.c was initially added on branch mach64-0-0-6-branch.
Eric Anholt [Sun, 16 Feb 2003 19:03:04 +0000 (19:03 +0000)]
file mach64.h was initially added on branch mach64-0-0-6-branch.
Michel Daenzer [Sat, 8 Feb 2003 18:02:02 +0000 (18:02 +0000)]
reclaim DMA buffers in DRIVER_RELEASE() (Felix Kühling)