Felix Kuehling [Sat, 1 Jan 2005 20:22:58 +0000 (20:22 +0000)]
Completeley rewritten Savage DRM which can be considered secure (modulo
implementation errors). Direct hardware (MMIO, BCI) access is no longer
needed in the Mesa driver. Bumped version to 2.0.0. Corresponding
changes to the DDX and Mesa drivers are being committed.
Felix Kuehling [Sat, 1 Jan 2005 20:03:15 +0000 (20:03 +0000)]
Added a new DRM map type _DRM_CONSISTENT for consistent PCI memory. It uses
drm_pci_alloc/free for allocating/freeing the memory. Only implemented
in the Linux DRM so far.
Dave Airlie [Sat, 1 Jan 2005 12:07:51 +0000 (12:07 +0000)]
i810/i830 bug with Jon's file operations changes
Thomas Hellstrom [Fri, 31 Dec 2004 11:44:27 +0000 (11:44 +0000)]
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.
Thomas Hellstrom [Fri, 31 Dec 2004 11:27:57 +0000 (11:27 +0000)]
VIA DRM: Stability enhancements and cleanups in via_dma.c Added explicit
licence notice in via_dma.c
Thomas Hellstrom [Tue, 21 Dec 2004 17:13:22 +0000 (17:13 +0000)]
via DRM: Tightened the security for some functions of the
DRM_IOCTL_VIA_DMA_INIT IOCTL. Bumped patchlevel and driver date.
XFree86 bug: 2119
Keith Whitwell [Mon, 20 Dec 2004 12:03:02 +0000 (12:03 +0000)]
Copy HC_ParaType_Auto change to shared-core. Bump version numbers and
dates.
Keith Whitwell [Mon, 20 Dec 2004 11:57:10 +0000 (11:57 +0000)]
Add a very simple install target. I expect there are more correct ways to
do this.
Thomas Hellstrom [Sun, 19 Dec 2004 19:13:47 +0000 (19:13 +0000)]
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.
Keith Whitwell [Fri, 17 Dec 2004 14:11:05 +0000 (14:11 +0000)]
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.
Alan Hourihane [Thu, 16 Dec 2004 11:07:20 +0000 (11:07 +0000)]
drm_pciids.h should only 'cleaned' when the shared/ directory exists. Which
the Makefile already knows about, but it was cleaning this file anyway.
Eric Anholt [Wed, 15 Dec 2004 03:34:09 +0000 (03:34 +0000)]
Use SYSCTL_ADD_OID macro instead of calling function directly.
Submitted by: reffie@FreeBSD.org
Thomas Hellstrom [Mon, 13 Dec 2004 13:53:12 +0000 (13:53 +0000)]
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.
Dave Airlie [Fri, 10 Dec 2004 11:53:24 +0000 (11:53 +0000)]
Use wbinvd macro instead of assembly for it,
From: Stefan Dirsch <sndirsch@suse.de> Signed-off-by: Dave Airlie
<airlied@linux.ie>
Roland Scheidegger [Wed, 8 Dec 2004 16:43:00 +0000 (16:43 +0000)]
(Stephane Marchesin, me) add hyperz support to radeon drm. Only fast z
clear and z buffer compression are working correctly, hierarchical-z is
not.
Thomas Hellstrom [Tue, 7 Dec 2004 12:18:47 +0000 (12:18 +0000)]
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
Thomas Hellstrom [Tue, 7 Dec 2004 12:09:11 +0000 (12:09 +0000)]
Fix up linux 2.4 series Makefiles for via_verifier.c
Thomas Hellstrom [Mon, 6 Dec 2004 11:19:23 +0000 (11:19 +0000)]
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.
Thomas Hellstrom [Fri, 3 Dec 2004 23:03:36 +0000 (23:03 +0000)]
Added 3D functionality to the via command verifier. Modified the via
ring-buffer code somewhat to workaround hardware problems. Bumped via
minor version number.
Dave Airlie [Fri, 3 Dec 2004 10:22:15 +0000 (10:22 +0000)]
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>
Thomas Hellstrom [Sat, 27 Nov 2004 22:55:31 +0000 (22:55 +0000)]
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.
Dave Airlie [Thu, 11 Nov 2004 11:09:11 +0000 (11:09 +0000)]
patch from bug 1803 - will try and push to kernel soon
Jon Smirl [Tue, 9 Nov 2004 16:58:02 +0000 (16:58 +0000)]
Fix more build problems on linux-core
Jon Smirl [Tue, 9 Nov 2004 03:36:06 +0000 (03:36 +0000)]
make linux-core build again
Roland Scheidegger [Tue, 9 Nov 2004 00:54:19 +0000 (00:54 +0000)]
add missing CHIP_RV350 to radeon_enums
Eric Anholt [Sun, 7 Nov 2004 04:11:15 +0000 (04:11 +0000)]
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).
Dave Airlie [Sun, 7 Nov 2004 02:19:58 +0000 (02:19 +0000)]
add some more r300 pci ids
Dave Airlie [Sun, 7 Nov 2004 02:15:11 +0000 (02:15 +0000)]
respect cc and cflags
Eric Anholt [Sun, 7 Nov 2004 00:30:15 +0000 (00:30 +0000)]
Don't link in files which no longer exist.
Eric Anholt [Sun, 7 Nov 2004 00:25:49 +0000 (00:25 +0000)]
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.
Eric Anholt [Sat, 6 Nov 2004 23:05:46 +0000 (23:05 +0000)]
Add the drm Makefile and update .cvsignores.
Eric Anholt [Sat, 6 Nov 2004 23:02:07 +0000 (23:02 +0000)]
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.
Eric Anholt [Sat, 6 Nov 2004 21:44:54 +0000 (21:44 +0000)]
Remove some core stuff that ended up being unnecessary.
Eric Anholt [Sat, 6 Nov 2004 21:18:49 +0000 (21:18 +0000)]
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.
Eric Anholt [Sat, 6 Nov 2004 20:27:19 +0000 (20:27 +0000)]
Move the lock/unlock ioctls to a more logical place, in drm_lock.c.
Eric Anholt [Sat, 6 Nov 2004 20:21:55 +0000 (20:21 +0000)]
Connect up r128_ioctls in driver config.
Jon Smirl [Sat, 6 Nov 2004 16:55:41 +0000 (16:55 +0000)]
Move radeon i2c include to top of file
Jon Smirl [Sat, 6 Nov 2004 16:51:36 +0000 (16:51 +0000)]
Export missing r128 ioctl symbol
Jon Smirl [Sat, 6 Nov 2004 16:41:24 +0000 (16:41 +0000)]
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
Eric Anholt [Sat, 6 Nov 2004 11:50:08 +0000 (11:50 +0000)]
Hook the debug output up to a sysctl, so you can choose to enable at
runtime.
Eric Anholt [Sat, 6 Nov 2004 11:19:38 +0000 (11:19 +0000)]
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.
Eric Anholt [Sat, 6 Nov 2004 11:16:26 +0000 (11:16 +0000)]
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.
Eric Anholt [Sat, 6 Nov 2004 02:00:04 +0000 (02:00 +0000)]
Remove the vestiges of the memory-debug code.
Eric Anholt [Sat, 6 Nov 2004 01:41:47 +0000 (01:41 +0000)]
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.
Jon Smirl [Fri, 5 Nov 2004 17:29:14 +0000 (17:29 +0000)]
Move ati_pcigart shared routines into drm-core module
Thomas Hellstrom [Wed, 3 Nov 2004 13:37:37 +0000 (13:37 +0000)]
Fixed bug in via_dma.c. The code didn't check that the lock was held by the
caller. Just that it was held.
Thomas Hellstrom [Mon, 1 Nov 2004 20:48:49 +0000 (20:48 +0000)]
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
Keith Whitwell [Mon, 1 Nov 2004 10:52:18 +0000 (10:52 +0000)]
correct historic mis-attribution of copyright
Felix Kuehling [Sun, 31 Oct 2004 15:16:44 +0000 (15:16 +0000)]
Allow drivers to override reclaim_buffers in an OS-independent way by
passing drm_device_t* as first parameter, like in the BSD version.
Thomas Hellstrom [Sat, 30 Oct 2004 13:01:48 +0000 (13:01 +0000)]
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.
Jon Smirl [Fri, 29 Oct 2004 17:09:54 +0000 (17:09 +0000)]
Switch SPIN_LOCK_UNLOCKED to spin_lock_init()
Jon Smirl [Fri, 29 Oct 2004 14:38:07 +0000 (14:38 +0000)]
Add include of moduleparam.h
Jon Smirl [Thu, 28 Oct 2004 15:52:31 +0000 (15:52 +0000)]
Break poll() to make it match the Xserver's broken expectations.
Dave Airlie [Thu, 28 Oct 2004 09:50:39 +0000 (09:50 +0000)]
fix for 2.4 build
Jon Smirl [Sat, 23 Oct 2004 18:12:34 +0000 (18:12 +0000)]
Round 2 of getting rid of inter_module_get()
Jon Smirl [Sat, 23 Oct 2004 14:43:06 +0000 (14:43 +0000)]
Revert symbol_get() changes from drm_drv
Dave Airlie [Sat, 23 Oct 2004 14:00:53 +0000 (14:00 +0000)]
fix inter module put/get
Dave Airlie [Sat, 23 Oct 2004 07:02:29 +0000 (07:02 +0000)]
actually 2.6.10 introduced pfn range so it should work now..
Dave Airlie [Sat, 23 Oct 2004 06:59:15 +0000 (06:59 +0000)]
fix pfn vs page for older kernels (2.6.9-rc kernels many not work..)
Dave Airlie [Sat, 23 Oct 2004 06:25:56 +0000 (06:25 +0000)]
Apply radeon r300 microcode patch to non-core
Jon Smirl [Sat, 23 Oct 2004 04:21:27 +0000 (04:21 +0000)]
Prepare to eliminate inter_module_get("agp")
Jon Smirl [Fri, 22 Oct 2004 16:03:21 +0000 (16:03 +0000)]
Bring in patch from kernel for remap_pfn_range
Jon Smirl [Thu, 21 Oct 2004 16:58:28 +0000 (16:58 +0000)]
Fix up the radeon i2c error handing
Jon Smirl [Wed, 20 Oct 2004 16:23:42 +0000 (16:23 +0000)]
Don't release an i2c channel that has not initialized correctly
Jon Smirl [Wed, 20 Oct 2004 05:11:49 +0000 (05:11 +0000)]
Switch linux-core from using dev->pdev->driver->name to
dev->driver->pci_driver.name. This avoids the stealth mode case where
pdev is pointing to the wrong driver or no driver.
Jon Smirl [Wed, 20 Oct 2004 04:41:38 +0000 (04:41 +0000)]
Fix dd vs di version typo in drm_setversion
Jon Smirl [Tue, 19 Oct 2004 18:18:02 +0000 (18:18 +0000)]
Add a protective check against a possible buffer overflow
Jon Smirl [Tue, 19 Oct 2004 16:30:02 +0000 (16:30 +0000)]
Fix missing I2C busses to be non-fatal error.
Jon Smirl [Tue, 19 Oct 2004 02:50:14 +0000 (02:50 +0000)]
drm-core, Clean up bug error path on stealth mode exit
Jose Fonseca [Mon, 18 Oct 2004 14:16:41 +0000 (14:16 +0000)]
Update Doxygen configuration & comments.
Ville Syrjala [Sat, 16 Oct 2004 11:21:56 +0000 (11:21 +0000)]
Fixed off by one errors in clipping.
Ville Syrjala [Sat, 16 Oct 2004 10:54:58 +0000 (10:54 +0000)]
Fixed bad formatting.
Jon Smirl [Fri, 15 Oct 2004 20:37:01 +0000 (20:37 +0000)]
Remove drm_init.c
Jon Smirl [Fri, 15 Oct 2004 20:36:15 +0000 (20:36 +0000)]
Move drm_cpu_valid out of drm_init. drm_init is empty now.
Jon Smirl [Fri, 15 Oct 2004 02:59:35 +0000 (02:59 +0000)]
Switch linux-core over to 2.6 parameter model to enable debug use
drm_debug=1
Jon Smirl [Wed, 13 Oct 2004 16:40:53 +0000 (16:40 +0000)]
Add a poll function that alternates between zero and normal poll return to
bring DRM into conformance with normal poll().
Thomas Hellstrom [Tue, 12 Oct 2004 18:46:26 +0000 (18:46 +0000)]
Via updates. Fixed unlikely but possible uint32_t overflow in ring-buffer
code. bumped patchlevel.
Jon Smirl [Tue, 12 Oct 2004 03:59:17 +0000 (03:59 +0000)]
Breakout heads into their own data structures.
Jon Smirl [Sun, 10 Oct 2004 22:54:55 +0000 (22:54 +0000)]
Rename fn_tbl to driver. Core driver now uses pci_driver name which
reflects the personality name.
Dave Airlie [Sun, 10 Oct 2004 05:52:19 +0000 (05:52 +0000)]
Vladimir requested support so we can at least load r300 microcode for
helping
2D operations.
Ups radeon to version 1.12.0, Vladimir, you might want to add any extra
pciids...
Approved-by: Dave Airlie <airlied@linux.ie>
Jon Smirl [Sun, 10 Oct 2004 02:49:06 +0000 (02:49 +0000)]
Forgot to add the new Makefile
Jon Smirl [Sun, 10 Oct 2004 00:09:31 +0000 (00:09 +0000)]
Make the test programs build
Dave Airlie [Sat, 9 Oct 2004 12:42:52 +0000 (12:42 +0000)]
cleanup VIA driver to look a bit like others before kernel merge
Dave Airlie [Sat, 9 Oct 2004 11:16:20 +0000 (11:16 +0000)]
fix up whitespacing in Kconfig
Dave Airlie [Sat, 9 Oct 2004 11:12:24 +0000 (11:12 +0000)]
Lindent the via stuff so I can include it in kernel
Dave Airlie [Sat, 9 Oct 2004 10:58:19 +0000 (10:58 +0000)]
remove unused dma remnants that were gamma only - these could cause an oops
on via
Thomas Hellstrom [Fri, 8 Oct 2004 21:11:02 +0000 (21:11 +0000)]
Changed unsigned to uint32_t in some ioctl parameters. Introduced first
rudimentary command verifier for dma buffers. Changed the decoder futex
ioctl parameters. Bumped the via major version number.
Jon Smirl [Fri, 8 Oct 2004 14:31:25 +0000 (14:31 +0000)]
Fix refcount bug in stealth mode
Jon Smirl [Thu, 7 Oct 2004 00:40:16 +0000 (00:40 +0000)]
Fix drm_exit to allow for DRM(global) being deleted when framebuffer is
loaded.
Jon Smirl [Wed, 6 Oct 2004 16:27:55 +0000 (16:27 +0000)]
Revert back to drm_order() instead of using kernel get_order(). The
functions are not identical.
Dave Airlie [Tue, 5 Oct 2004 12:12:01 +0000 (12:12 +0000)]
Patch for Kconfig for making i830/i915 not build together
Jon Smirl [Tue, 5 Oct 2004 02:58:14 +0000 (02:58 +0000)]
enable the device in the right order, remove __devinit from drm_int
Jon Smirl [Sat, 2 Oct 2004 19:11:30 +0000 (19:11 +0000)]
janitor-list_for_each-drivers-char-drm-radeon_memc.patch from mm kernel
Jon Smirl [Thu, 30 Sep 2004 23:47:45 +0000 (23:47 +0000)]
Make the debug memory functions compile for the core model.
Jon Smirl [Thu, 30 Sep 2004 21:27:59 +0000 (21:27 +0000)]
Remove DRM() macros from core ffb driver. DaveA says he'll make it compile
someday.
Jon Smirl [Thu, 30 Sep 2004 21:12:10 +0000 (21:12 +0000)]
Lindent of core build. Drivers checked for no binary diffs. A few files
weren't Lindent's because their comments didn't convert very well. A
bunch of other minor clean up with no code implact included.
Jon Smirl [Thu, 30 Sep 2004 21:06:53 +0000 (21:06 +0000)]
savage.h not used in core builds
Jon Smirl [Thu, 30 Sep 2004 20:46:59 +0000 (20:46 +0000)]
core ffb.h is not used anymore
Jon Smirl [Thu, 30 Sep 2004 20:25:13 +0000 (20:25 +0000)]
Remove unused drm_module.h
Jon Smirl [Thu, 30 Sep 2004 19:26:35 +0000 (19:26 +0000)]
Move things around to reduce public symbols and even out files. Switch to
get_order from drm_order.