Eric Anholt [Thu, 3 Feb 2005 01:06:10 +0000 (01:06 +0000)]
Declare r128_do_cleanup_pageflip static since it's only used here and its
prototype went away.
Eric Anholt [Thu, 3 Feb 2005 01:05:34 +0000 (01:05 +0000)]
Cast user data to correct type in radeon_surface_free's copyin.
Adam Jackson [Tue, 1 Feb 2005 22:09:46 +0000 (22:09 +0000)]
momentary revert. libdrm build may be broken now, but no one uses it yet...
Dave Airlie [Tue, 1 Feb 2005 11:08:31 +0000 (11:08 +0000)]
cleanup patch from Adrian Bunk <bunk@stusta.de>
Dave Airlie [Tue, 1 Feb 2005 10:43:42 +0000 (10:43 +0000)]
make functions static in i915, remove unused functions
Dave Airlie [Tue, 1 Feb 2005 10:33:51 +0000 (10:33 +0000)]
update i830 similiar to the kernel, add statics
Dave Airlie [Tue, 1 Feb 2005 10:18:27 +0000 (10:18 +0000)]
make more functions static in i810 and fix pageflip cleanup
Adam Jackson [Sun, 30 Jan 2005 03:30:45 +0000 (03:30 +0000)]
Final pass of libdrm.so work:
- Add $(DESTDIR) for distributors doing package creation
- Remove OS-specific include path from build
- Add /usr/include/drm for driver-kernel API
- Install all of shared-core/*.h in /usr/include/drm
- Rename xf86drm.h to libdrm.h since we're not X biased anymore
- Include backwards compat for xf86drm.h name, with a warning
- Fix libdrm source to account for drm.h living in /usr/include/drm
Dave Airlie [Sat, 29 Jan 2005 23:05:35 +0000 (23:05 +0000)]
fix radeon drv
Thomas Hellstrom [Thu, 27 Jan 2005 22:48:47 +0000 (22:48 +0000)]
Fixed multiple devices DMA bug. Fixed PCI path FIRE command detection
Dave Airlie [Thu, 27 Jan 2005 09:13:42 +0000 (09:13 +0000)]
fix incorrect PCI id for ATI radeon
Roland Scheidegger [Wed, 26 Jan 2005 17:48:59 +0000 (17:48 +0000)]
(Stephane Marchesin,me) Add radeon framebuffer tiling support to radeon
drm. Add new ioctls to manage surfaces which cover the tiled areas
Roland Scheidegger [Wed, 26 Jan 2005 14:19:24 +0000 (14:19 +0000)]
replace magic number with macro constant RADEON_ZBLOCK16
Dave Airlie [Mon, 24 Jan 2005 08:39:22 +0000 (08:39 +0000)]
use libdrm after it was updated
Dave Airlie [Mon, 24 Jan 2005 01:05:07 +0000 (01:05 +0000)]
hopefully fix drm_core setversion ioctl... pointed out by Eric on irc
Adam Jackson [Sat, 22 Jan 2005 08:24:36 +0000 (08:24 +0000)]
Add drm.h to the install target.
Felix Kuehling [Thu, 20 Jan 2005 23:33:24 +0000 (23:33 +0000)]
Removed one bogus Savage3D PCI ID. Corrected another one. Restored
numerical ordering.
Adam Jackson [Thu, 20 Jan 2005 19:05:42 +0000 (19:05 +0000)]
Add a Savage3D PCI ID
Felix Kuehling [Thu, 20 Jan 2005 12:23:25 +0000 (12:23 +0000)]
Corrected some confusion of vb_stride and vtx_size
Implemented SAVAGE_CMD_DMA_IDX and SAVAGE_CMD_VB_IDX for ELTs support in
the _savage_render_stage of the 3D driver
Bumped minor version and driver date
Alan Hourihane [Wed, 19 Jan 2005 10:03:33 +0000 (10:03 +0000)]
Fix cut & paste problem
Alan Hourihane [Wed, 19 Jan 2005 08:55:53 +0000 (08:55 +0000)]
Fix a cut & paste problem
Jose Fonseca [Mon, 17 Jan 2005 21:46:32 +0000 (21:46 +0000)]
Some code commenting concerning the FIFO & DMA engine.
Eric Anholt [Mon, 17 Jan 2005 20:24:52 +0000 (20:24 +0000)]
Add detection of whether the device is AGP by walking the capabilities
list.
Adam Jackson [Mon, 17 Jan 2005 00:02:04 +0000 (00:02 +0000)]
Add xf86drm.h to the install target.
Adam Jackson [Sun, 16 Jan 2005 23:50:58 +0000 (23:50 +0000)]
Shared libdrm work:
- create libdrm.so target
- build it by default
- drop xf86drmCompat.c from the build
- make 'clean' target never fail
- use pattern rules for .c -> .o for parallelism
- add 'install' target
Dave Airlie [Sun, 16 Jan 2005 07:49:55 +0000 (07:49 +0000)]
remove duplicate drm_sysfs.o
Dave Airlie [Sun, 16 Jan 2005 06:41:34 +0000 (06:41 +0000)]
This table is in radeon_drv.h along with the version number so remove it
from here
Dave Airlie [Sun, 16 Jan 2005 05:40:12 +0000 (05:40 +0000)]
The patch makes drmAddBufs/drmMapBufs can handle buffers in video memory
The attached patch adds a new buffer type DRM_FB_BUFFER. It works like AGP
memory but uses video memory.
From: austinyuan@viatech.com.cn (fd.o bug 1668) Signed-off-by: Dave Airlie
<airlied@linux.ie>
Felix Kuehling [Sun, 16 Jan 2005 01:22:09 +0000 (01:22 +0000)]
Fixed a bug that prevented the driver from ever emitting triangle strips or
fans. Bumped patchlevel and driver date.
Felix Kuehling [Sat, 15 Jan 2005 16:55:01 +0000 (16:55 +0000)]
Setup MTRRs for frame buffer and aperture manually on Savage3D and
Savage4-based cards. Automatic setup in drm_initmap doesn't work due to
the weird alignment and size of the aperture.
Dave Airlie [Thu, 13 Jan 2005 01:26:16 +0000 (01:26 +0000)]
due to backways compat crap for IRQ_HANDLED etc.. this wouldn't build on
2.4
Felix Kuehling [Wed, 12 Jan 2005 16:07:49 +0000 (16:07 +0000)]
Use virt_to_page instead of vmalloc_to_page in drm_do_vm_shm_nopage for
consistent pages allocated with drm_pci_alloc.
Keith Whitwell [Tue, 11 Jan 2005 10:59:01 +0000 (10:59 +0000)]
Import Thomas' changes upto 2.4.3 to shared. Small tweak to install target.
Keith Whitwell [Tue, 11 Jan 2005 10:42:52 +0000 (10:42 +0000)]
import Thomas' shared-core via changes up to 2.4.1
Felix Kuehling [Mon, 10 Jan 2005 22:46:02 +0000 (22:46 +0000)]
Only try to find the agp_buffer_map if dma_type is AGP. This is all that's
needed on the DRM side to support PCI Savages. Bumped patch level and
driver date.
Felix Kuehling [Sun, 9 Jan 2005 19:49:21 +0000 (19:49 +0000)]
Improved workaround for Savage3D DMA lockup to emit NOPs only before the
first indexed drawing command of a cmdbuf or if a wait command was
emitted since the last indexed drawing command.
Jon Smirl [Sun, 9 Jan 2005 17:30:44 +0000 (17:30 +0000)]
Adjust 4 level page check for <= 2.6.10
Felix Kuehling [Sat, 8 Jan 2005 23:28:27 +0000 (23:28 +0000)]
Fixed off-by-one error in savage_bci_wait_fifo_shadow.
Thomas Hellstrom [Fri, 7 Jan 2005 11:37:01 +0000 (11:37 +0000)]
via updates: moved the verifier state struct to dev_priv. Implemented AGP
alignment check.
Thomas Hellstrom [Fri, 7 Jan 2005 08:21:29 +0000 (08:21 +0000)]
Updated via DRM with check for stray FIRE commands primitive list.
Alan Hourihane [Thu, 6 Jan 2005 17:51:32 +0000 (17:51 +0000)]
Add i915GM support Add resume functionality (must be used with later DDX)
Bump to 1.2
Jon Smirl [Thu, 6 Jan 2005 17:09:22 +0000 (17:09 +0000)]
Adjust drm-memory for 4 level page tables in 2.6.10 ifdef'd to use 3 levels
in kernels older than 2.6.10
Thomas Hellstrom [Thu, 6 Jan 2005 15:53:38 +0000 (15:53 +0000)]
via DRM: Updated the verifier to check the vertex lists more thorough. This
should hopefully stop it from getting out of sync.
The PCI command parser is still not updated.
Felix Kuehling [Wed, 5 Jan 2005 23:45:42 +0000 (23:45 +0000)]
3D scissor regs are now managed by the DRM to iterate over clip rects
passed to the cmdbuf ioctl (try xeyes on top of glxgears ;-)
Tightened the texture state check
Bumped Savage DRM version to 2.1.0 so that DRI driver can (theoretically)
depend on the DRM to manage the scissor registers
Thomas Hellstrom [Wed, 5 Jan 2005 17:46:34 +0000 (17:46 +0000)]
Bumped driver date and minor version.
Thomas Hellstrom [Wed, 5 Jan 2005 17:44:43 +0000 (17:44 +0000)]
VIA update:
Release video futexes when context is destroyed (This was previously done
by the X server).
Added New Unichrome Pro VIDEO DMA commands to the verifier.
Added Quiescent heavyweight lock mode.
Felix Kuehling [Wed, 5 Jan 2005 14:34:12 +0000 (14:34 +0000)]
Fixed the DMA buffer age test. Should fix occasional "soft" lockups. Bumped
patch level and driver date.
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.