Commit graph

34 commits

Author SHA1 Message Date
Dave Airlie
a776c5ec04 first set of __user annotations from kernel (Al Viro) 2004-07-20 12:43:12 +00:00
Dave Airlie
78d0fd6526 gamma_dma_priority and gamma_dma_send_buffers both deref d->send_indices
and/or d->send_sizes. When these functions are called from gamma_dma,
    these pointers are user pointers and are thus not safe to deref. This
    patch copies over the pointers inside gamma_dma_priority and
    gamma_dma_send_buffers.
Submitted-by: Robert T. Johnson <rtjohnso@eecs.berkeley.edu> Signed-off-by:
    Dave Airlie <airlied@linux.ie>
2004-06-10 09:43:53 +00:00
Dave Airlie
2b0292c739 update gamma_dma with patch from davej in 2.6 2004-04-10 12:58:18 +00:00
Eric Anholt
66c9e3053f - Tie the DRM to a specific device: setunique no longer succeeds when given
a busid that doesn't correspond to the device the DRM is attached to.
    This is a breaking of backwards-compatibility only for the
    multiple-DRI-head case with X Servers that don't use interface 1.1.
- Move irq_busid to drm_irq.h and make it only return the IRQ for the
    current device. Retains compatibility with previous X Servers, cleans
    up unnecessary code. This means no irq_busid on !__HAVE_IRQ, but can be
    changed if necessary.
- Bump interface version to 1.2. This version when set signifies that the
    control ioctl should ignore the irq number passed in and enable the
    interrupt handler for the attached device. Otherwise it errors out when
    the passed-in irq is not equal to the device's.
- Store the highest version the interface has been set to in the device.
- Fix a recursion on DRM_LOCK in irq_uninstall on FreeBSD. This leaves
    irq_uninstall being done without the lock in some cases, but it was
    racey anyways.
2003-11-05 08:13:52 +00:00
Eric Anholt
2950f9e682 - Move IRQ functions from drm_dma.h to new drm_irq.h and disentangle them
from __HAVE_DMA. This will be useful for adding vblank sync support to
    sis and tdfx. Rename dma_service to irq_handler, which is more
    accurately what it is.
- Fix the #if _HAVE_DMA_IRQ in radeon, r128, mga, i810, i830, gamma to have
    the right number of underscores. This may have been a problem in the
    case that the server died without doing its DRM_IOCTL_CONTROL to
    uninit.
2003-10-17 05:13:48 +00:00
Michel Daenzer
4b60cae90e IRQ code cleanup suggested by Linus Torvalds
i830 build fix
2003-07-29 10:11:48 +00:00
Michel Daenzer
bef7017749 Compile fixes for recent 2.5/2.6 Linux kernels. I hope this doesn't break
the i830 driver or the BSDs. :)
2003-07-25 10:50:39 +00:00
Michel Daenzer
e5d3c7f260 Support AGP bridges where the AGP aperture can't be accessed directly by
the CPU (David Mosberger, Benjamin Herrenschmidt, myself, Paul
    Mackerras, Jeff Wiedemeier)
2003-05-16 23:41:27 +00:00
Leif Delgass
f2a0c5438d 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?).
2003-04-26 22:28:56 +00:00
David Dawes
00522cedd6 Single/dual rasterizer quiescence patch for the glint/gamma DRI driver
(#5685, Sven Luther).
2003-04-24 03:01:40 +00:00
Alan Hourihane
879e3d335c change PREINSTALL/POSTINSTALL/UNINSTALL irq code to real functions as per
the other drivers
2003-04-22 12:52:17 +00:00
Keith Whitwell
056762a910 remove unused dma histogram code 2003-04-22 10:18:29 +00:00
Leif Delgass
46e06192a8 Check for NULL map before calling DRM(ioremapfree) on cleanup. Prevents an
oops if a map wasn't found (e.g. XFree86 Bugzilla #108)
2003-04-21 16:07:17 +00:00
David Dawes
d1b7f551e6 Fix DRM module build on 2.5.41 and later kernels (tqueue -> workqueue). 2003-04-17 15:27:34 +00:00
Leif Delgass
10444e06d4 Use list_entry() to get container struct from struct list_head pointers.
Build fix for RedHat 9 kernel (5 args to remap_page_range()).
2003-04-08 01:30:43 +00:00
Keith Whitwell
1728bc637d merged drm-filp-0-1-branch 2003-03-28 14:27:37 +00:00
Alan Hourihane
b3eb34e0ea linux merge for drm 2003-03-25 11:36:43 +00:00
Jens Owen
3903e5ac94 Merged drmcommand-0-0-1 2002-04-09 21:54:56 +00:00
David Dawes
ab87c5d0d1 First pass of mesa-4-0 branch merge into trunk. 2002-02-14 02:00:26 +00:00
Alan Hourihane
94c6d951a2 Make SiS driver compile with the new templated format. Not tested. minor
cleanups
2001-05-03 14:51:01 +00:00
Kevin E Martin
74e19a4018 Merged sarea-1-0-0 2001-03-14 22:22:50 +00:00
Gareth Hughes
01a14789ed - Clean up the way customization of the templates is done.
- Fix old-style DMA for gamma driver (please test).
- Pull out IRQ handling into drm_dma.h (please test on i810, gamma).
- Lots of general cleanups, remove compiler warnings etc.
2001-02-16 05:24:06 +00:00
Gareth Hughes
360475376c Merge mga-1-0-0-branch into trunk. 2001-02-15 08:12:14 +00:00
Rik Faith
833af23c5d Sync with Linux 2.4.0-prerelease 2001-01-04 18:41:41 +00:00
Rik Faith
39a659e877 Audit calls to schedule() Remove tags from files shared with Linux kernel
tree Remove debugging statements to make debugging more useful Other
    minor cleanups in preparation for sync with Linux 2.4.0-test9-pre7
2000-09-29 01:47:11 +00:00
Jeff Hartmann
550dff98b0 Merged the mga-lock-debug-0-2-0-branch with the trunk. This includes
several fixes including: (Jeff) Really disable multitexture (Broken
    since Mesa 3.4 integration.)
(Jeff) Various changes in mga_state.c in the kernel module, which includes
    a fix to the bug where the first OGL application hangs the machine
    w/out rendering anything. This also includes defines for the warp
    registers so they are easily human readable.
(Rik and Jeff) Fixed all the schedule loops in the kernel to look like they
    are supposed too.
(Jeff) Configurable agp modes: Add the option "AGPMode2x" or "AGPMode4x" to
    your XF86Config file.
(Rik) Various cleanups to the mga kernel driver to make it easier to read
    and debug.
(Rik) Removed alot of DRM_DEBUG statements from the kernel driver.
2000-09-27 21:32:19 +00:00
Gareth Hughes
7db6449142 Sync with 2.4.0-test8-pre5 kernel. 2000-09-06 20:56:34 +00:00
Rik Faith
32cebaf750 Add compatibility header file to make Linux 2.4.0 kernel patches cleaner. 2000-08-28 19:50:52 +00:00
Rik Faith
6f07e1ff6b Sync with Linux 2.4.0-test7 Add signal blocking support to all drivers
(using control-z on a running direct-rendering client should work now)
2000-08-26 10:36:44 +00:00
Rik Faith
2fbd4bf018 Unify code with kernel: Change some spacing in comments Add #include
<linux/config.h> to all *_drv.c files
2000-06-13 14:34:13 +00:00
Brian Paul
569da5a42e Merged glxmisc-3-0-0 2000-06-08 14:38:22 +00:00
Alan Hourihane
909085a008 Include new updated gamma support. 2000-06-05 00:42:21 +00:00
Jeff Hartmann
adc03d3661 Import of XFree86 4.0 2000-03-15 21:40:23 +00:00
Daryll Strauss
b6a28bfe98 First DRI release of 3dfx driver. 1999-12-05 23:10:37 +00:00