Michel Dänzer [Wed, 19 Jul 2006 17:16:26 +0000 (19:16 +0200)]
Make sure CHIP_IS_AGP flag is set when not overriding to PCI mode.
This allows using AGP after overriding to PCI mode in a previous session
without reloading the DRM.
Michel Dänzer [Wed, 19 Jul 2006 17:13:00 +0000 (19:13 +0200)]
When writeback isn't used, actually disable it in the hardware.
Not doing this might waste bus bandwidth or even cause memory corruption or
system crashes on systems that check bus transfers. No such incident has been
reported though.
Michel Dänzer [Wed, 19 Jul 2006 17:07:06 +0000 (19:07 +0200)]
Implement RADEON_PARAM_SCRATCH_OFFSET getparam.
When this succeeds, userspace can read the scratch register contents from the
mapped writeback page directly.
Michel Dänzer [Wed, 19 Jul 2006 17:01:33 +0000 (19:01 +0200)]
Some debug output when the getparam ioctl is called with an unknown parameter.
Michel Dänzer [Wed, 19 Jul 2006 16:31:43 +0000 (18:31 +0200)]
.cvsignore -> .gitignore
Sort the merged file, remove the redundant explicit .ko lines and add
some generated symlinks.
Thomas Hellstrom [Tue, 11 Jul 2006 14:37:37 +0000 (14:37 +0000)]
Keep hashed user tokens, with the following changes:
32-bit physical device addresses are mapped directly to user-tokens. No
duplicate maps are allowed, and the addresses are assumed to be outside
of the range 0x10000000 through 0x30000000. The user-token is identical
to the 32-bit physical start-address of the map.
64-bit physical device addressed are mapped to user-tokens in the range
0x10000000 to 0x30000000 with page-size increments. The user_token should
not be interpreted as an address.
Other map types, like upcoming TTM maps are mapped to user-tokens in the
range
0x10000000 to 0x30000000 with page-size increments. The user_token should
not be interpreted as an address.
This keeps compatibility with buggy drivers, while still implementing a
hashed map lookup. The SiS and via device driver major bumps are
reverted.
Thomas Hellstrom [Mon, 10 Jul 2006 13:00:21 +0000 (13:00 +0000)]
Change drm Map handles to be arbitrary 32-bit hash tokens in the range
0x10000000 to 0x90000000 in PAGE_SIZE increments.
Implement hashed map lookups.
This potentially breaks both 2D and 3D drivers. If so, the corresponding
2D and 3D driver should be fixed, and it's corresponding drm device driver
should have its major bumped as soon as possible.
Bump sis and via drm device driver majors.
The SiS and Unichrome 3D drivers are fixed in Mesa CVS HEAD and
mesa_6_4_branch.
Thomas Hellstrom [Wed, 5 Jul 2006 15:52:35 +0000 (15:52 +0000)]
SiS 315 Awareness.
Thomas Hellstrom [Wed, 5 Jul 2006 14:39:22 +0000 (14:39 +0000)]
Add missing semaphore release.
Adam Jackson [Tue, 27 Jun 2006 21:04:50 +0000 (21:04 +0000)]
Disable building static libraries. Bump to 2.0.2 for header updates.
Alan Hourihane [Fri, 23 Jun 2006 16:29:39 +0000 (16:29 +0000)]
Fix compilation problem on 2.6.9 kernels (bug #6211)
Keith Packard [Thu, 22 Jun 2006 21:34:44 +0000 (21:34 +0000)]
Remove spurious debug messages from i915 vblank config paths
Keith Packard [Wed, 21 Jun 2006 00:15:10 +0000 (00:15 +0000)]
i915: Save vblank pipe configuration to restore on resume
Keith Packard [Mon, 19 Jun 2006 20:15:53 +0000 (20:15 +0000)]
Add i915 ioctls to configure pipes for vblank interrupt.
i915 vblanks can be generated from either pipe a or b, however a disabled
pipe generates no interrupts. This change allows the X server to select
which pipe generates vblank interrupts.
Thomas Hellstrom [Mon, 19 Jun 2006 09:12:50 +0000 (09:12 +0000)]
Fix buffer cleanup on close. Move memory manager reset from final_context
to lastclose.
Thomas Hellstrom [Mon, 19 Jun 2006 09:01:31 +0000 (09:01 +0000)]
via: Bump version number and date.
Thomas Hellstrom [Fri, 16 Jun 2006 15:20:20 +0000 (15:20 +0000)]
via: Return the requested size instead of the correct size of the allocated
regions. The 2D driver and XvMC lib has problems when the returned size
is not the same as the allocated size.
Thomas Hellstrom [Thu, 15 Jun 2006 18:37:05 +0000 (18:37 +0000)]
via:
-Remove out of memory error message.
-Move sman cleanup from final_context to lastclose.
-Add the P4VM800PRO (?) PCI ID.
Thomas Hellstrom [Tue, 6 Jun 2006 17:52:03 +0000 (17:52 +0000)]
s/list_entry/drm_hash_entry/ for "drm_hash_item"s.
Thomas Hellstrom [Tue, 6 Jun 2006 17:46:17 +0000 (17:46 +0000)]
Fix drm_remove_magic potential memory leak / corruption. Move drm
authentication token hashing to new generic hash table implementation.
Thomas Hellstrom [Tue, 6 Jun 2006 14:19:00 +0000 (14:19 +0000)]
Merge in the drm-sman-branch
Thomas Hellstrom [Sun, 28 May 2006 16:20:29 +0000 (16:20 +0000)]
file via_mm.c was initially added on branch drm-sman-branch.
Thomas Hellstrom [Sun, 28 May 2006 16:20:29 +0000 (16:20 +0000)]
file drm_sman.h was initially added on branch drm-sman-branch.
Thomas Hellstrom [Sun, 28 May 2006 16:20:29 +0000 (16:20 +0000)]
file sis_mm.c was initially added on branch drm-sman-branch.
Thomas Hellstrom [Sun, 28 May 2006 16:20:29 +0000 (16:20 +0000)]
file drm_sman.c was initially added on branch drm-sman-branch.
Thomas Hellstrom [Fri, 26 May 2006 19:33:02 +0000 (19:33 +0000)]
file drm_hashtab.h was initially added on branch drm-ttm-branch.
Roland Scheidegger [Wed, 24 May 2006 18:36:24 +0000 (18:36 +0000)]
Add support for r200 vertex programs (R200_EMIT_VAP_PVS_CNTL, and new
packet type for making it possible to address whole tcl vector space
and have a larger count)
Roland Scheidegger [Sat, 20 May 2006 09:20:05 +0000 (09:20 +0000)]
add forgotten register define for previous commit
Roland Scheidegger [Sat, 20 May 2006 09:08:18 +0000 (09:08 +0000)]
Do a tcl state flush before accessing tcl vector space. This fixes some
more problems with flickering (bug #6637). drm may not be appropriate
place for this, since doing that flush there might both be overkill and
insufficient in some cases. However, it's hard to figure out when that
flush is needed, so this has to suffice. There does not seem to be a
performance penalty associated with it.
Dave Airlie [Fri, 19 May 2006 04:11:22 +0000 (04:11 +0000)]
rip out unneeded back compat code
Dave Airlie [Thu, 18 May 2006 07:32:37 +0000 (07:32 +0000)]
add consts to radeon microcode.
From: tilman
Eric Anholt [Wed, 17 May 2006 06:07:57 +0000 (06:07 +0000)]
Set entry->virtual for sg maps, fixing ATI PCI/PCIE GART support.
PR: kern/97056 Submitted by: Stanislav Sedov <ssedov@mbsd.msk.ru>
Eric Anholt [Wed, 17 May 2006 05:44:39 +0000 (05:44 +0000)]
Add the bits for vblank support on FreeBSD, which most importantly avoids
chasing a NULL pointer at the first 3d app invocation.
Eric Anholt [Wed, 17 May 2006 05:41:48 +0000 (05:41 +0000)]
Add the workaround that's in the kernel to suppress GCC's warning about
refusal to inline functions that (in some cases, at least) aren't that
large.
Dave Airlie [Sun, 23 Apr 2006 09:05:05 +0000 (09:05 +0000)]
fixup GFP_COMP for older kernels and get_page/put_page for newer
Dave Airlie [Sun, 23 Apr 2006 08:07:57 +0000 (08:07 +0000)]
Fix from Benh for ppc r300 scratch
Brian Paul [Thu, 20 Apr 2006 14:26:59 +0000 (14:26 +0000)]
check for __FreeBSD_kernel__ (bug 3810)
Eric Anholt [Tue, 18 Apr 2006 06:12:22 +0000 (06:12 +0000)]
Err, use "ifndef" rather than "if !", to avoid compiler warning.
Eric Anholt [Tue, 18 Apr 2006 06:08:17 +0000 (06:08 +0000)]
Reorder the DRM_*_AGP enum to match linux's numbers (oops). Fixes i915
attachment. Make our mga_drv.c use them, while I'm here.
Submitted by: Jonathan Fosburgh <jonathan@fosburgh.org>
Eric Anholt [Tue, 18 Apr 2006 05:57:28 +0000 (05:57 +0000)]
Use __LP64__ instead of checking the linux-specific BITS_PER_LONG.
Eric Anholt [Sun, 9 Apr 2006 20:10:32 +0000 (20:10 +0000)]
Revert a change that accidentally went in with whitespace changes from
Linux, which broke on FreeBSD. DRM_COPY_*_IOCTL checks for the size
parameter matching the ioctl's command size there, since the copin/out
happened earlier.
Eric Anholt [Sat, 8 Apr 2006 09:45:43 +0000 (09:45 +0000)]
Compile fixes for FreeBSD.
Dave Airlie [Wed, 5 Apr 2006 08:34:24 +0000 (08:34 +0000)]
coverity bugfix from the kernel
Dave Airlie [Wed, 5 Apr 2006 01:23:57 +0000 (01:23 +0000)]
remove stupid init and exit flags..
Dave Airlie [Mon, 3 Apr 2006 08:06:51 +0000 (08:06 +0000)]
make add context non master...
Dave Airlie [Sat, 25 Mar 2006 07:16:14 +0000 (07:16 +0000)]
radeon fix up the PCI ids for new memory map like the kernel one.. not
perfect but should be very safe... align some other kernel bits i810
align with kernel
Adam Jackson [Mon, 20 Mar 2006 21:40:54 +0000 (21:40 +0000)]
Bump driver date to reflect airlied's last fix.
Dave Airlie [Sun, 19 Mar 2006 07:53:46 +0000 (07:53 +0000)]
fix issue in mga from kernel
Dave Airlie [Sun, 19 Mar 2006 07:52:53 +0000 (07:52 +0000)]
make some functions static in via driver
Roland Scheidegger [Fri, 17 Mar 2006 01:35:34 +0000 (01:35 +0000)]
Add missing pci ids for new radeons (most but not all are pcie, r420,
rv380, rv410), with the exception of the rs400 igps. Hopefully they no
longer lock up with new ddx, but no guarantees... (bug #5413)
Adam Jackson [Wed, 15 Mar 2006 01:02:54 +0000 (01:02 +0000)]
Avoid walking off the end of the hash table. (Coverity report #465)
Dave Airlie [Wed, 8 Mar 2006 23:01:32 +0000 (23:01 +0000)]
Fix bug I reintroduced
Dave Airlie [Wed, 8 Mar 2006 06:03:45 +0000 (06:03 +0000)]
fix some use before NULL check
Aapo Tahkola [Tue, 7 Mar 2006 01:08:35 +0000 (01:08 +0000)]
ia64 support for r300_scratch. (not tested)
Aapo Tahkola [Mon, 6 Mar 2006 20:08:50 +0000 (20:08 +0000)]
Add general-purpose packet for manipulating scratch registers (r300)
Thomas Hellstrom [Wed, 1 Mar 2006 22:22:25 +0000 (22:22 +0000)]
file xf86mm.c was initially added on branch drm-ttm-branch.
Thomas Hellstrom [Wed, 1 Mar 2006 22:22:25 +0000 (22:22 +0000)]
file xf86mm.h was initially added on branch drm-ttm-branch.
Roland Scheidegger [Sat, 25 Feb 2006 09:51:15 +0000 (09:51 +0000)]
Add all radeon pci ids known by ddx, but only r350/rv350 and below (new
chips may be problematic). Leave the existing entries for new chips in
though. Remove ids not known by ddx (secondary ids, non-existant,...).
Correct some entries (name/family). Make the radeon family enum look
more alike the ddx/dri versions. See #5413
Dave Airlie [Tue, 21 Feb 2006 11:10:05 +0000 (11:10 +0000)]
set dma pages reserved
Dave Airlie [Tue, 21 Feb 2006 10:28:47 +0000 (10:28 +0000)]
use coherent memory for PCI allocations with COMP flag
Adam Jackson [Mon, 20 Feb 2006 23:09:00 +0000 (23:09 +0000)]
Formatting cleanup, dead code removal. Remove N() namespacing macro,
useless. Remove SIGIO handling functions as they're server-only and
properly belong in libdri.
Dave Airlie [Sun, 19 Feb 2006 12:08:14 +0000 (12:08 +0000)]
experimental PCI DMA fixes use proper Linux interfaces
Dave Airlie [Sun, 19 Feb 2006 12:06:27 +0000 (12:06 +0000)]
missed a piece of benh patch
Dave Airlie [Sat, 18 Feb 2006 05:43:19 +0000 (05:43 +0000)]
make some functions static from the kernel
Dave Airlie [Sat, 18 Feb 2006 05:30:03 +0000 (05:30 +0000)]
fix brace placement
Dave Airlie [Sat, 18 Feb 2006 04:18:45 +0000 (04:18 +0000)]
always enable and set master on pci device
Dave Airlie [Sat, 18 Feb 2006 04:13:36 +0000 (04:13 +0000)]
clear i915 interrupts sources on server exit
Dave Airlie [Sat, 18 Feb 2006 03:21:29 +0000 (03:21 +0000)]
add proper checking for bitblt multi
Dave Airlie [Sat, 18 Feb 2006 03:04:30 +0000 (03:04 +0000)]
add benh's memory management patch
Dave Airlie [Sat, 18 Feb 2006 03:01:38 +0000 (03:01 +0000)]
fix build wrong function call
Dave Airlie [Sat, 18 Feb 2006 02:53:36 +0000 (02:53 +0000)]
major realigment of DRM CVS with kernel code, makes integration much easier
Dave Airlie [Sat, 18 Feb 2006 02:38:07 +0000 (02:38 +0000)]
fix card unload
Dave Airlie [Sat, 18 Feb 2006 02:34:53 +0000 (02:34 +0000)]
Fixup test for memory at end of memory space
Thomas Hellstrom [Fri, 17 Feb 2006 17:25:41 +0000 (17:25 +0000)]
via: Change via_drm.h versioning scheme after lenghty discussion on
unichrome-users.
Thomas Hellstrom [Fri, 17 Feb 2006 16:54:37 +0000 (16:54 +0000)]
file i915_ttm.c was initially added on branch drm-ttm-branch.
Keith Whitwell [Thu, 9 Feb 2006 23:14:16 +0000 (23:14 +0000)]
Update the hardware breadcrumb in the sarea on irq reception so that
clients can avoid an ioctl waiting on fences that have already been
received. Would be even better if the hardware did the update itself.
Thomas Hellstrom [Wed, 1 Feb 2006 12:58:38 +0000 (12:58 +0000)]
file drm_mm.c was initially added on branch drm-ttm-branch.
Alan Hourihane [Thu, 26 Jan 2006 12:14:09 +0000 (12:14 +0000)]
add missing name, desc, date, major, minor and patchlevel entries
Alan Hourihane [Tue, 24 Jan 2006 21:24:53 +0000 (21:24 +0000)]
fix an error message typo Unkown -> Unknown
Alan Hourihane [Tue, 24 Jan 2006 21:18:41 +0000 (21:18 +0000)]
other part of revert
Alan Hourihane [Tue, 24 Jan 2006 21:16:54 +0000 (21:16 +0000)]
put back some of Dave's code related to vblank support - accidentally
reverted.
Thomas Hellstrom [Tue, 24 Jan 2006 14:08:05 +0000 (14:08 +0000)]
file Makefile.am was initially added on branch drm-ttm-branch.
Thomas Hellstrom [Tue, 24 Jan 2006 11:20:05 +0000 (11:20 +0000)]
file drm_hashtab.c was initially added on branch drm-ttm-branch.
Alan Hourihane [Mon, 23 Jan 2006 10:05:22 +0000 (10:05 +0000)]
Fix CMDBUFFER path, add heap destroy and flesh out sarea for rotation
(Tungsten Graphics)
Aapo Tahkola [Fri, 20 Jan 2006 21:45:28 +0000 (21:45 +0000)]
Add support for texture cache flushes (R300_TX_CNTL)
Aapo Tahkola [Fri, 20 Jan 2006 21:30:07 +0000 (21:30 +0000)]
Sync from r300_reg.h from Mesa.
Alan Hourihane [Thu, 19 Jan 2006 14:14:06 +0000 (14:14 +0000)]
add Intel i945GM support
Thomas Hellstrom [Thu, 12 Jan 2006 19:08:16 +0000 (19:08 +0000)]
via: direction bug in get_user_pages call in via_dmablit.c fixed. Bumped
minor since this causes the via DDX to fail with vlc video player.
Thomas Hellstrom [Fri, 6 Jan 2006 11:57:40 +0000 (11:57 +0000)]
via: Version via_drm.h Alter the drm_via_dmablit_t IOCTL arg.
Thomas Hellstrom [Fri, 6 Jan 2006 11:52:01 +0000 (11:52 +0000)]
via: Last commit really required a bump of minor. Fix.
Thomas Hellstrom [Fri, 6 Jan 2006 11:19:06 +0000 (11:19 +0000)]
via: Combine PCI DMA transfers with stride==width (Idea from Luc
Verhaegen). A somewhat saner PCI DMA transfer size check. Fix some
typos. Bump patchlevel.
Dave Airlie [Mon, 2 Jan 2006 09:17:41 +0000 (09:17 +0000)]
nothing from VIA or S3 in this
Dave Airlie [Mon, 2 Jan 2006 05:55:31 +0000 (05:55 +0000)]
make max minor more rational
Dave Airlie [Mon, 2 Jan 2006 05:54:10 +0000 (05:54 +0000)]
use drm_cards_limit instead of cards_limit
Dave Airlie [Mon, 2 Jan 2006 05:52:17 +0000 (05:52 +0000)]
use common read/write routines
Dave Airlie [Mon, 2 Jan 2006 05:43:04 +0000 (05:43 +0000)]
sparse cleanups
Dave Airlie [Mon, 2 Jan 2006 05:39:19 +0000 (05:39 +0000)]
The radeon DRM wasn't passing sparse checking in the kernel, this fixes it
by adding a new kernel internal cmd buffer type, that has no userspace
members, and passes it around.
Dave Airlie [Mon, 2 Jan 2006 05:38:03 +0000 (05:38 +0000)]
align spacing with kernel
Dave Airlie [Mon, 2 Jan 2006 05:22:50 +0000 (05:22 +0000)]
whitespace cleanup/aligment with kernel
Dave Airlie [Mon, 2 Jan 2006 03:44:23 +0000 (03:44 +0000)]
some fixes from linux kernel