Commit Graph

4401 Commits (081b2d6da22e08e1448285d647a35b17905512cf)

Author SHA1 Message Date
Eric Anholt 10ddbc8c8c Use /*- to begin license blocks in BSD code to reduce diffs against FreeBSD
CVS.
2005-04-16 03:02:52 +00:00
Eric Anholt 926298e822 Fix build on FreeBSD-current, thanks to jhb@. 2005-04-13 04:20:08 +00:00
Dave Airlie a0454aba71 mirror changes made in main tree.. just happened to be doing this myself 2005-04-04 04:08:29 +00:00
Thomas Hellstrom cb5f6c22b5 Missing file via_video.c commited. 2005-03-29 09:48:12 +00:00
Adam Jackson 0a5e02c7b5 Add skeletal imagine driver (but don't build it yet). 2005-03-29 01:47:38 +00:00
Thomas Hellstrom 532ccb98b5 Via updates:
New PCI command parser. Moved from via_dma.c to via_verifier.c so functions
    with similar functionality are close to eachother.
Moved video related functions to via_video.c, which might be extended in
    the future, as new video functionality is added.
New device-specific generic IRQ IOCTL, similar to the general VBLANK IOCTL,
    but with support for multiple device IRQ sources and functionality.
Support for Unichrome Pro PM800/CN400 video DMA commands in verifier and
    PCI parser.
Support for Unichrome Pro PM800/CN400 HQV IRQs in the new generic IRQ
    IOCTL.
Bumped minor. New version 2.6.0.
2005-03-28 21:21:42 +00:00
Dave Airlie c6161eff86 Description: Rather than use custom code in DRM_WAIT_ON() to do exactly
what wait_event_interruptible_timeout() does, use the function and just
    change the return values appropriately.
Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
2005-03-27 07:05:28 +00:00
Dave Airlie 385f927692 Some ia64 platforms may not support write combining on all type of memory,
so we need to consult the EFI memory map before we try to set the write
    combine attribute of a page. This patch will try to map a page write
    combined if it's not an AGP page and the EFI memory map says it's ok,
    otherwise it falls back to a regular, uncached mapping. Can someone
    please apply this to the drm tree?
From: Jesse Barnes
2005-03-27 06:58:12 +00:00
Alan Hourihane 459ef48629 Don't know who set the i915GM PCI ID incorrectly but it should be 0x2592 2005-03-25 13:44:47 +00:00
Dave Airlie 9182891b26 From Xorg CVS realign the i915_drv.h
From: Tungsten Graphics Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-03-25 13:16:38 +00:00
Dave Airlie 20dce568dc use linux-core for 2.6 not this stuff.. 2005-03-25 13:06:53 +00:00
Dave Airlie 956a701544 fix up AGP multi-head support for kernel 2.6.12 2005-03-25 09:48:34 +00:00
Dave Airlie 2ad8387428 verify_area is deprecated, replaced by access_ok. Seems I missed this one
when I did the big overall conversion.
Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk>
2005-03-25 09:47:36 +00:00
Dave Airlie ca04fbc7ba fix bug with XFree86 4.3 on core drm
Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-03-25 09:05:10 +00:00
Dave Airlie c8d2d5d419 3dfx DRM depends on PCI
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2005-03-25 09:02:20 +00:00
Dave Airlie df6ef4836e For 2.6.12 and 2.6.11.x:
Remove incorrect "drm_"-prefix from parameter description.
Signed-off-by: Magnus Damm <damm@opensource.se>
2005-03-25 09:01:27 +00:00
Michel Daenzer ab396776fb Add support for production version of ATI RN50/ES1000. (ATI Technologies
Inc.)
2005-03-18 22:51:43 +00:00
Roland Scheidegger 34563921dd add R200_EMIT_PP_TRI_PERF_CNTL packet to support brilinear filtering on
r200
2005-03-15 22:12:30 +00:00
Thomas Hellstrom d2fd920095 via changes:
1. Initialize futex locks to zero on device init.
2. Remove some stray defines from via_drm.h
3. Prepare via_drm.h for drm client inclusion. The goal is to share a
    common file with common definitions.
4. Sync shared / shared-core via_drm.h
5. Bump minor, because of the futex lock initialization.
2005-03-14 22:50:21 +00:00
Felix Kuehling a396617dbc Command DMA optimizations:
- don't waste DMA memory when small command buffers are flushed
- minimized padding with noops
- slightly simplified faked DMA flushing
2005-03-13 02:16:10 +00:00
Dave Airlie 7d3c42b589 Fix for bug 2673 from Egbert Eich - memset the version 2005-03-08 23:47:11 +00:00
Felix Kuehling 95fa851769 Tracked down random lockups related to command DMA that occurred in Quake3
after ~5min: buffer aging was subtly broken. Part of this may have also
    affected vertex DMA buffer aging and client-side texture heap aging,
    though with less fatal consequences. Bumped minor version and driver
    date.
2005-03-07 12:19:49 +00:00
Dave Airlie 32b6823a25 minor pointer cast typo 2005-03-07 09:40:18 +00:00
Felix Kuehling 15995234b4 Added support for command DMA on Savage4-based hardware. Unfortunately
command and vertex DMA don't work at the same time. Command DMA
    performance is superior and works with all vertex formats. Bumped minor
    version and driver date.
2005-03-06 01:41:06 +00:00
Dave Airlie 26f04a1664 add some idct type 3 packets for reference 2005-03-04 03:04:37 +00:00
Felix Kuehling bc54ede0a8 Use wrap counter to extend 16-bit hardware event tags to 32-bit logical
event counters in the SAVAGE_EVENT_EMIT/WAIT ioctls. This is needed for
    reliable client-side texture heap aging. Slightly simplified DMA buffer
    aging while at it. Bumped minor version and driver date.
2005-02-23 16:34:30 +00:00
Thomas Hellstrom f3cf4bc5f2 Fix VIA K8M800 PCI ID. 2005-02-20 00:05:43 +00:00
Eric Anholt 56cdeff231 Fix a couple of gcc warnings in DRM_INFOs. 2005-02-19 22:07:07 +00:00
Eric Anholt baeb76076e Merge r1.26 from FreeBSD: Now that mem(4) is a kernel module, we need to
depend on it.
2005-02-19 20:00:55 +00:00
Michel Daenzer 49e19c8d00 fd.o bug #2576: Add support for ATI RN50/ES1000. (ATI Technologies Inc.) 2005-02-18 20:06:10 +00:00
Adam Jackson b646515d61 Bug #2567: Fix reversed memset arguments. (David Krause) 2005-02-18 16:40:54 +00:00
Keith Whitwell 80d844d992 Run depmod after installing new modules 2005-02-15 13:15:08 +00:00
Eric Anholt 3e8792e705 Use fuword32 for DRM_GET_USER_UNCHECKED when available. May help on 64-bit
platforms.
Submitted by: Jung-uk Kim, jkim at niksun dot com
2005-02-14 03:28:01 +00:00
Eric Anholt ed082798f4 Use the proper API to get PCI vendor/device number for a dev.
PR: ports/76879 Submitted by: Alex, lesha at intercaf dot ru.
2005-02-14 03:26:52 +00:00
Eric Anholt 2f7cd38c12 Initialize kbuf to NULL to quiet the compiler about uninit variables
(wasn't an issue). Don't forget to free kbuf if the copyin fails.
2005-02-14 03:22:58 +00:00
Thomas Hellstrom 650c0fe391 Fixed Futex release bug. Bumped driver date and patchlevel. 2005-02-13 23:03:48 +00:00
Eric Anholt 0d2eb2b90c Fix bad copy'n'pastage of copyrights -- don't disclaim anything for VA
Linux or PI in my copyrights when I should be doing it for myself.
2005-02-13 01:18:25 +00:00
Eric Anholt ba18d68ff5 Add the first bits necessary for a port of savage to FreeBSD. More to
follow later.
2005-02-13 01:08:29 +00:00
Roland Scheidegger 5d5acf28d8 add support for texture micro tiling for radeon/r200. Add support for cube
maps for r100. (Stephane Marchesin's port of the core version).
2005-02-10 19:29:58 +00:00
Roland Scheidegger 732cdc5cef add support for texture micro tiling on radeon/r200. Add support for r100
cube maps (since it also requires a version bump) at the same time.
2005-02-10 19:22:43 +00:00
Keith Whitwell 08790293b1 Stephane's port of Eric's race fix 2005-02-10 11:02:56 +00:00
Roland Scheidegger 2cdfb2cc85 fix incorrect PCI id for ATI radeon 2005-02-08 22:46:56 +00:00
Eric Anholt 81459d6e50 Close a race which could allow for privilege escalation by users with DRI
privileges on Radeon hardware. Essentially, a malicious program could
    submit a packet containing an offset (possibly in main memory) to be
    rendered from/to, while a separate thread switched that offset in
    userspace rapidly between a valid value and an invalid one.
    radeon_check_and_fixup_offset() would pull the offset in from user
    space, check it, and spit it back out to user space to be copied in
    later by the emit code. It would sometimes catch the bad value, but
    sometimes the malicious program could modify it after the check and get
    an invalid offset rendered from/to.
Fix this by allocating a temporary buffer and copying the data in at once.
    While here, make the cliprects stuff not do the VERIFYAREA_READ and
    COPY_FROM_USER_UNCHECKED gymnastics, avoiding a lock order reversal on
    FreeBSD. Performance impact is negligible -- no difference on r200 to
    ~1% improvement on rv200 in quake3 tests (P4 1Ghz, demofour at
    1024x768, n=4 or 5).
2005-02-08 04:17:14 +00:00
Dave Airlie dc4defe742 Invalid bound check of driver defined ioctls in drm_ioctl
Bug 2489 Reporter: Aapo Tahkola <aet@rasterburn.org>
2005-02-07 22:55:54 +00:00
Roland Scheidegger a36d5b33aa Cast user data to correct type in radeon_surface_free's copyin. 2005-02-07 21:11:59 +00:00
Dave Airlie 03ddea5b27 change DRIVER_ to CORE_ makes things look nicer, also change it so the
driver name is marked on resource allocations
2005-02-07 11:20:43 +00:00
Dave Airlie 300e0866d6 fix agp detection on linux 2005-02-07 10:44:28 +00:00
Eric Anholt 5a332a0f61 Restore a debugging message to DRM_DEBUG instead of DRM_ERROR. 2005-02-07 03:10:03 +00:00
Eric Anholt 2239c55a30 Remove some annoying trailing whitespace. 2005-02-07 01:14:42 +00:00
Eric Anholt 080a547d4d - Implement drm_initmap, and extend it with the resource number to help
FreeBSD. Add drm_get_resource_{start|len} so linux-specific stuff
    doesn't need to be in shared code.
- Fix mach64 build by using __DECONST to work around passing a const
    pointer to useracc, which is unfortunately not marked const.
- Get rid of a lot of maplist code by not having dev->maplist be a pointer,
    and by sticking the link entries directly in drm_local_map_t rather
    than having a separate structure for the linked list.
- Factor out map uninit and removal into its own routine, rather than
    duplicating in both drm_takedown() and drm_rmmap().
- Hook up more driver functions, and correct FreeBSD-specific bits of
    radeon_cp.c, making radeon work.
- Baby steps towards using bus_space as we should.
2005-02-05 08:00:14 +00:00