Commit graph

1100 commits

Author SHA1 Message Date
Thomas Hellstrom
e19fa7ada1 VIA DRM: verifier: Added verbose palette error reporting, and support for
stipple palettes together with rudimentary checks for texture palette
    sizes.
other: Bumped version patchlevel and driver date.
2004-12-31 11:44:27 +00:00
Thomas Hellstrom
590b230119 VIA DRM: Stability enhancements and cleanups in via_dma.c Added explicit
licence notice in via_dma.c
2004-12-31 11:27:57 +00:00
Thomas Hellstrom
02c35ec0a2 via DRM: Tightened the security for some functions of the
DRM_IOCTL_VIA_DMA_INIT IOCTL. Bumped patchlevel and driver date.
XFree86 bug: 2119
2004-12-21 17:13:22 +00:00
Keith Whitwell
47c178da08 Copy HC_ParaType_Auto change to shared-core. Bump version numbers and
dates.
2004-12-20 12:03:02 +00:00
Keith Whitwell
c4c48a8a5b Add a very simple install target. I expect there are more correct ways to
do this.
2004-12-20 11:57:10 +00:00
Thomas Hellstrom
ae0db704b4 via changes: Fixed typecasting bug in via_dma.c, and possible short-circuit
bug in the cmdbuf_size ioctl. Modified ring-buffer jump code AGAIN, due
    to new oddities discovered on the Unichrome Pro with faster processors.
    Bumped patchlevel and driver date.
2004-12-19 19:13:47 +00:00
Keith Whitwell
eaaf0a5211 Add the 'Auto' pageflipping command to the verifier. I don't think any
verification is required for the arguments of this packet from a
    security point of view.
2004-12-17 14:11:05 +00:00
Alan Hourihane
ebd3b867de drm_pciids.h should only 'cleaned' when the shared/ directory exists. Which
the Makefile already knows about, but it was cleaning this file anyway.
2004-12-16 11:07:20 +00:00
Eric Anholt
3e65f52bda Use SYSCTL_ADD_OID macro instead of calling function directly.
Submitted by: reffie@FreeBSD.org
2004-12-15 03:34:09 +00:00
Thomas Hellstrom
aff0a25485 VIA drm updates:
1. Improved security check of AGP texture adresses.
2. Hopefully last fix of ring-buffer jump oddities.
3. Added ioctl to check available space and command regulator lag in
    ring-buffer. This is needed for 3D application responsiveness.
2004-12-13 13:53:12 +00:00
Dave Airlie
b4782ba76b Use wbinvd macro instead of assembly for it,
From: Stefan Dirsch <sndirsch@suse.de> Signed-off-by: Dave Airlie
    <airlied@linux.ie>
2004-12-10 11:53:24 +00:00
Roland Scheidegger
c4a87c6883 (Stephane Marchesin, me) add hyperz support to radeon drm. Only fast z
clear and z buffer compression are working correctly, hierarchical-z is
    not.
2004-12-08 16:43:00 +00:00
Thomas Hellstrom
98d01f9542 Patch from Jon Smirl from Nov. 2nd that makes older X servers behave well
with linux-core. Without this, they will fail on their second
    invocation since the drm already has a busID assigned.
Submitted by: Jon Smirl
2004-12-07 12:18:47 +00:00
Thomas Hellstrom
bf6eb1c0d4 Fix up linux 2.4 series Makefiles for via_verifier.c 2004-12-07 12:09:11 +00:00
Thomas Hellstrom
1fbfd9eb32 Security and optimization fixes for the via drm:
1. The command verifier was never initialized in the non-core source tree.
2. Check added that the AGP ring buffer has been initialized before
    accepting command buffer.
3. Free space check in the AGP buffer is moved to after command
    verification, which is more optimal in most cases.
2004-12-06 11:19:23 +00:00
Thomas Hellstrom
267e064527 Added 3D functionality to the via command verifier. Modified the via
ring-buffer code somewhat to workaround hardware problems. Bumped via
    minor version number.
2004-12-03 23:03:36 +00:00
Dave Airlie
f197110e07 Make 1-bit fields be unsigned (no sign bit :). sparse complains about them:
drivers/char/drm/sis_ds.h:88:12: warning: dubious one-bit signed
    bitfield drivers/char/drm/sis_ds.h:89:16: warning: dubious one-bit
    signed bitfield
Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Dave Airlie
    <airlied@linux.ie>
2004-12-03 10:22:15 +00:00
Thomas Hellstrom
4f8fa60286 Reworked PCI MMIO command buffer parser, and imported code from the Mesa
driver. It can now handle the 3D OpenGL commands from the Mesa
    unichrome driver.
Added vsync frequency detection support. This will be used in the future
    for XvMC and better frame timing.
Bumped minor version number and driver date.
2004-11-27 22:55:31 +00:00
Dave Airlie
f0a86288fa patch from bug 1803 - will try and push to kernel soon 2004-11-11 11:09:11 +00:00
Jon Smirl
4b4df875b2 Fix more build problems on linux-core 2004-11-09 16:58:02 +00:00
Jon Smirl
76b1a7f2b4 make linux-core build again 2004-11-09 03:36:06 +00:00
Roland Scheidegger
6483e7a1ac add missing CHIP_RV350 to radeon_enums 2004-11-09 00:54:19 +00:00
Eric Anholt
a1d9e5abaf Refine the locking of the DRM. Most significant is covering the driver
ioctls with dev_lock, which is a major step toward being able to remove
    Giant. Covers some new pieces (dev->unique*) in the core, and avoids
    one call down into system internals with the drm lock held, which is
    usually bad (FreeBSD LOR #23, #27).
2004-11-07 04:11:15 +00:00
Dave Airlie
c5bededa51 add some more r300 pci ids 2004-11-07 02:19:58 +00:00
Dave Airlie
c21cdee38a respect cc and cflags 2004-11-07 02:15:11 +00:00
Eric Anholt
67f6c5e36a Don't link in files which no longer exist. 2004-11-07 00:30:15 +00:00
Eric Anholt
fa3fdbd99c Now that the memory debug code is gone, and all 3 BSDs have M_ZERO, stop
using drm_alloc/drm_free in the core and instead use plain malloc/free.
2004-11-07 00:25:49 +00:00
Eric Anholt
d37457b599 Add the drm Makefile and update .cvsignores. 2004-11-06 23:05:46 +00:00
Eric Anholt
cb5aaa8987 Convert more drivers for bsd-core, moving the ioctl definitions to shared
code. Remove the "drv" from sisdrv, as it's unnecessary. Use the
    drm_pci functions in i915 instead of per-os implementations of the
    same. Avoid whitespace within fields in drm_pciids.txt (one of the r300
    definitions), since it breaks the bsd pciids script. Tested on sis,
    mga, r128. i915 needs more work.
2004-11-06 23:02:07 +00:00
Eric Anholt
7ddbd38dde Remove some core stuff that ended up being unnecessary. 2004-11-06 21:44:54 +00:00
Eric Anholt
7bdccfd0bb Get r128 basically working: Hook up the driver's dma ioctl, use the proper
offset into the driver ioctl array, and don't make the ctx bitmap
    conditional.
2004-11-06 21:18:49 +00:00
Eric Anholt
ae7a171313 Move the lock/unlock ioctls to a more logical place, in drm_lock.c. 2004-11-06 20:27:19 +00:00
Eric Anholt
cca29ac9be Connect up r128_ioctls in driver config. 2004-11-06 20:21:55 +00:00
Jon Smirl
069f53a93b Move radeon i2c include to top of file 2004-11-06 16:55:41 +00:00
Jon Smirl
642a8106d2 Export missing r128 ioctl symbol 2004-11-06 16:51:36 +00:00
Jon Smirl
000c8eb18e Fix Linux build. Why won't this complile? extern int const foo; static
struct drm_driver driver = { .var = foo }; error says foo is not
    constant
2004-11-06 16:41:24 +00:00
Eric Anholt
b2f275b46e Hook the debug output up to a sysctl, so you can choose to enable at
runtime.
2004-11-06 11:50:08 +00:00
Eric Anholt
7adee84064 Add file missed in last commit: Commit first pieces of port to OpenBSD,
done by Martin Lexa (martin at martinlexa dot cz). Now that we've got
    porting for all three major BSDs (and the fourth being very similar to
    FreeBSD), move the mostly-duplication drm_os_* files into drmP.h.
    Remove some cruft from linux heritage and from pieces of the DRM that
    have since been removed.
Note that things are still not quite working for even FreeBSD, but these
    are first steps at cleanup, and just a WIP checkpoint.
2004-11-06 11:19:38 +00:00
Eric Anholt
d7510ea413 Commit first pieces of port to OpenBSD, done by Martin Lexa (martin at
martinlexa dot cz). Now that we've got porting for all three major BSDs
    (and the fourth being very similar to FreeBSD), move the
    mostly-duplication drm_os_* files into drmP.h. Remove some cruft from
    linux heritage and from pieces of the DRM that have since been removed.
Note that things are still not quite working for even FreeBSD, but these
    are first steps at cleanup, and just a WIP checkpoint.
2004-11-06 11:16:26 +00:00
Eric Anholt
cf259f10aa Remove the vestiges of the memory-debug code. 2004-11-06 02:00:04 +00:00
Eric Anholt
c9202c8965 Commit WIP of BSD conversion to core model. Compiles for r128, radeon, but
doesn't run yet. Moves the ioctl definitions for these two drivers back
    to the shared code -- they aren't OS-specific.
2004-11-06 01:41:47 +00:00
Jon Smirl
39a23640b2 Move ati_pcigart shared routines into drm-core module 2004-11-05 17:29:14 +00:00
Thomas Hellstrom
f08a01c0e2 Fixed bug in via_dma.c. The code didn't check that the lock was held by the
caller. Just that it was held.
2004-11-03 13:37:37 +00:00
Thomas Hellstrom
9409d8231c Reworked the jump-code in via_dma.c. The command regulator now seems to
pause correctly after a jump. Removed the debug message from within the
    interrupt handler of via_irq.c
2004-11-01 20:48:49 +00:00
Keith Whitwell
08758b2fb7 correct historic mis-attribution of copyright 2004-11-01 10:52:18 +00:00
Felix Kuehling
5128542814 Allow drivers to override reclaim_buffers in an OS-independent way by
passing drm_device_t* as first parameter, like in the BSD version.
2004-10-31 15:16:44 +00:00
Thomas Hellstrom
8264e2c8aa Some stabilizing work to the DMA ring-buffer code. Temporarily replaced the
rewind jump with a reinitialization. This makes the code stable on
    CLE266 and KM400.
2004-10-30 13:01:48 +00:00
Jon Smirl
816a291709 Switch SPIN_LOCK_UNLOCKED to spin_lock_init() 2004-10-29 17:09:54 +00:00
Jon Smirl
c611cb9f17 Add include of moduleparam.h 2004-10-29 14:38:07 +00:00
Jon Smirl
b974e2cd68 Break poll() to make it match the Xserver's broken expectations. 2004-10-28 15:52:31 +00:00