Ian Romanick [Wed, 29 Jun 2005 23:20:30 +0000 (23:20 +0000)]
Remove the AGP requirement from Makefile and Kconfig for MGA. Remove the
AGP requirement from Kconfig for SIS. There never was a requirement in
Makefile, and Eric Anholt confirms that the Makefile was correct.
Alan Hourihane [Wed, 29 Jun 2005 13:19:47 +0000 (13:19 +0000)]
add remaining calls
Alan Hourihane [Wed, 29 Jun 2005 13:13:22 +0000 (13:13 +0000)]
add i915_ioc32.c
Alan Hourihane [Wed, 29 Jun 2005 13:00:29 +0000 (13:00 +0000)]
silence warning
Dave Airlie [Wed, 29 Jun 2005 12:02:18 +0000 (12:02 +0000)]
fix some warnings from cross compiler
Dave Airlie [Wed, 29 Jun 2005 11:56:42 +0000 (11:56 +0000)]
make r128/mga compile properly on sparc cross-compiler
Alan Hourihane [Wed, 29 Jun 2005 11:36:37 +0000 (11:36 +0000)]
Move to linux specific directory
Dave Airlie [Wed, 29 Jun 2005 11:22:39 +0000 (11:22 +0000)]
add mga and r128 32/64 bits
This is Egberts code, ported to Pauls framework by me..
Dave Airlie [Wed, 29 Jun 2005 03:06:47 +0000 (03:06 +0000)]
these don't need reclaim buffers their release functions handle it
Dave Airlie [Wed, 29 Jun 2005 02:57:18 +0000 (02:57 +0000)]
Bug in conversion from old DRM to core DRM....
Eric Anholt [Wed, 29 Jun 2005 02:54:19 +0000 (02:54 +0000)]
Get the BSD DRM compiling again after MGA and mapping changes. Note that
i915 has been disabled for the moment, rather than working around
linux-specific code in the shared dir.
Eric Anholt [Tue, 28 Jun 2005 20:58:34 +0000 (20:58 +0000)]
- Remove drm_initmap and replace its usage with drm_addmap. This reduces
code duplication, and it also hands you the map pointer so you don't
need to re-find it.
- Remove the permanent maps flag. Instead, for register and framebuffer
maps, we always check whether there's already a map of that type and
offset around. Move the Radeon map initialization into presetup (first
open) so it happens again after every takedown.
- Remove the split cleanup of maps between driver takedown (last close) and
cleanup (module unload). Instead, always tear down maps on takedown,
and drivers can recreate them on first open.
- Make MGA always use addmap, instead of allocating consistent memory in
the PCI case and then faking up a map for it, which accomplished nearly
the same thing, in a different order. Note that the maps are exposed to
the user again: we may want to expose a flag to avoid this, but it's
not a security concern, and saves us a lot of code.
- Remove rmmaps in the MGA driver. Since the function is only called during
takedown anyway, we can let them die a natural death.
- Make removal of maps happen in one function, which is called by both
drm_takedown and drm_rmmap_ioctl.
Reviewed by: idr (previous revision) Tested on: mga (old/new/pci dma),
radeon, savage
Dave Airlie [Tue, 28 Jun 2005 13:02:20 +0000 (13:02 +0000)]
add compat code from Paul Mackerras
Dave Airlie [Tue, 28 Jun 2005 12:52:41 +0000 (12:52 +0000)]
Add compat to Makefile
Dave Airlie [Tue, 28 Jun 2005 12:50:15 +0000 (12:50 +0000)]
Add drm and radeon 32/64-bit compat code from Paul Mackerras
Alan Hourihane [Tue, 28 Jun 2005 08:03:33 +0000 (08:03 +0000)]
Given that BenH says using the sysdev approach for DRM is bogus, I'll yank
the code for it, rather than introducing something that isn't going to
work 100% of the time.
Alan Hourihane [Tue, 28 Jun 2005 07:34:49 +0000 (07:34 +0000)]
Comment out the .resume function as without programming their dependent
registers things tend to lock up in certain situations.
The BIOS repost will fix things up.
Alan Hourihane [Mon, 27 Jun 2005 15:17:12 +0000 (15:17 +0000)]
Reverse the pm_message_t patch for now, it appears that the 2.6.12 release
didn't have it.
Alan Hourihane [Mon, 27 Jun 2005 12:39:02 +0000 (12:39 +0000)]
Check for 2.6.12 suspend/resume changes (pm_message_t)
Alan Hourihane [Mon, 27 Jun 2005 11:41:40 +0000 (11:41 +0000)]
Check dev_priv
Alan Hourihane [Mon, 27 Jun 2005 11:39:44 +0000 (11:39 +0000)]
Save state of registers for suspend/resume.
Jon Smirl [Sun, 26 Jun 2005 13:31:15 +0000 (13:31 +0000)]
removed dev->sysdev_registered
Jon Smirl [Fri, 24 Jun 2005 22:48:16 +0000 (22:48 +0000)]
Ref count the sysdev class to support multiple DRM cards
Jon Smirl [Fri, 24 Jun 2005 21:50:40 +0000 (21:50 +0000)]
Make sysdev class only register when fbdev detected
Jon Smirl [Fri, 24 Jun 2005 19:31:06 +0000 (19:31 +0000)]
More err path clean up for drm_pm Add mandatory sysdev shutdown function
Alan Hourihane [Fri, 24 Jun 2005 09:28:50 +0000 (09:28 +0000)]
Fix the sysdev approach for power management.
We need to use the container_of() call to access our device private.
Alan Hourihane [Fri, 24 Jun 2005 08:56:12 +0000 (08:56 +0000)]
Fix suspend problem when i915 private hasn't been initialized yet.
Jon Smirl [Thu, 23 Jun 2005 05:29:16 +0000 (05:29 +0000)]
Fix drm_memory_debug.c to compile, doesn't seem to be working Clean up
error return path in drm_stub.c
Jon Smirl [Wed, 22 Jun 2005 05:49:56 +0000 (05:49 +0000)]
Get the power management hooks into the right place so that everything gets
freed correctly.
Jon Smirl [Tue, 21 Jun 2005 02:20:02 +0000 (02:20 +0000)]
Change initialization of savage register access to _DRM_READ_ONLY. Flags of
zero does not mean no privs, instead it grants write access
_DRM_READ_ONLY only applies to non-root users. Problem is only in CVS,
initmaps are not in the kernel yet.
Jon Smirl [Mon, 20 Jun 2005 15:40:48 +0000 (15:40 +0000)]
Change initialization of radeon register access to _DRM_READ_ONLY. Flags of
zero does not mean no privs, instead it grants write access
_DRM_READ_ONLY only applies to non-root users. Problem is only in CVS,
initmaps are not in the kernel yet.
Jon Smirl [Sun, 19 Jun 2005 04:15:58 +0000 (04:15 +0000)]
Remove I2C support from radeon driver. Same support is available from
radeonfb.
Dave Airlie [Fri, 17 Jun 2005 09:09:17 +0000 (09:09 +0000)]
fix up drm_alloc_agp to take a dev arg and not pass crappy agpgart around
Jon Smirl [Fri, 17 Jun 2005 04:47:30 +0000 (04:47 +0000)]
Fix 810/830 build
Alan Hourihane [Thu, 16 Jun 2005 19:58:00 +0000 (19:58 +0000)]
Force AGP always for Intel chipsets.
Fixes bug #3552
Ian Romanick [Wed, 15 Jun 2005 17:47:33 +0000 (17:47 +0000)]
Re-sync (and correct!) shared/mga_drm.h with shared-core/mga_drm.h.
Ian Romanick [Tue, 14 Jun 2005 22:34:11 +0000 (22:34 +0000)]
Adds support for PCI cards to MGA DRM
This patch adds serveral new ioctls and a new query to get_param query to
support PCI MGA cards.
Two ioctls were added to implement interrupt based waiting. With this
change, the client-side driver no longer needs to map the primary DMA
region or the MMIO region. Previously, end-of-frame waiting was done by
busy waiting in the client-side driver until one of the MMIO registers
(the current DMA pointer) matched a pointer to the end of primary DMA
space. By using interrupts, the busy waiting and the extra mappings are
removed.
A third ioctl was added to bootstrap DMA. This ioctl, which is used by the
X-server, moves a *LOT* of code from the X-server into the kernel. This
allows the kernel to do whatever needs to be done to setup DMA buffers.
The entire process and the locations of the buffers are hidden from
user-mode.
Additionally, a get_param query was added to differentiate between G4x0
cards and G550 cards. A gap was left in the numbering sequence so that,
if needed, G450 cards could be distinguished from G400 cards. According
to Ville Syrjälä, the G4x0 cards and the G550 cards handle
anisotropic filtering differently. This seems the most compatible way
to let the client-side driver know which card it's own. Doing this very
small change now eliminates the need to bump the DRM minor version
twice.
http://marc.theaimsgroup.com/?l=dri-devel&m=
106625815319773&w=2
A number of ioctl handlers in linux-core were also modified so that they
could be called in-kernel. In these cases, the in-kernel callable
version kept the existing name (e.g., drm_agp_acquire) and the ioctl
handler added _ioctl to the name (e.g., drm_agp_acquire_ioctl).
This patch also replaces the drm_agp_do_release function with
drm_agp_release. drm_agp_release (drm_core_agp_release in the previous
patch) is very similar to drm_agp_do_release, and I saw no reason to
have both.
This commit *breaks the build* on BSD. Eric said that he would make the
required updates to the BSD side soon.
Xorg bug: 3259 Reviewed by: Eric Anholt
Dave Airlie [Sat, 11 Jun 2005 10:08:39 +0000 (10:08 +0000)]
fix up drm.h for C++ include as this can be included in user programs
Dave Airlie [Fri, 10 Jun 2005 01:21:23 +0000 (01:21 +0000)]
add dragonfly #define from Xorg CVS
Ian Romanick [Thu, 9 Jun 2005 21:24:34 +0000 (21:24 +0000)]
Synchronize with the shared-core version.
Ian Romanick [Thu, 9 Jun 2005 21:18:56 +0000 (21:18 +0000)]
Completely re-initialize DMA settings
There were two problems. First, the 'warp' and 'primary' pointers weren't
cleared, so mga_do_cleanup_dma, which gets called multiple times, would
try to ioremapfree them multiple times. This resulted in the new error
messages to syslog. The second problem was the, since the dev_private
structure isn't reallocated and cleaned out in mga_do_init_dma, when
the server is reloaded idle-waits would wait for impossible values.
I have given this patch some more riggorous testing. This includes:
- Load module, start server, run GL app, stop server, unload module.
- Load module, start server, run GL app, stop server, unload module, reload
module, restart server, run GL app.
- Load module, start server, run GL app, stop server, restart server, run
GL app, stop server, unload module.
In all three cases, everything worked as expected. Please let me know if
there are any further regressions with this patch.
Xorg bug: 3408 Reported by: Chris Rankin
Jon Smirl [Thu, 9 Jun 2005 13:22:12 +0000 (13:22 +0000)]
drm_mem_init should be done at core load, not driver init
Dave Airlie [Mon, 6 Jun 2005 11:35:43 +0000 (11:35 +0000)]
fix some issues with radeon interrupt handling
From: Dave Airlie + Benjamin Herrenschmidt
Alan Hourihane [Mon, 6 Jun 2005 09:18:44 +0000 (09:18 +0000)]
Fix copyrights
Eric Anholt [Mon, 6 Jun 2005 06:45:41 +0000 (06:45 +0000)]
Add a few more bits of Tonnerre's NetBSD port (Still need to deal with the
device attachment).
Dave Airlie [Sat, 4 Jun 2005 06:18:11 +0000 (06:18 +0000)]
misc cleanup patch from Adrian Bunk
Dave Airlie [Sat, 4 Jun 2005 06:14:58 +0000 (06:14 +0000)]
Remove warnings about code mixed with declerations..
Ian Romanick [Fri, 3 Jun 2005 22:53:32 +0000 (22:53 +0000)]
Minor clean-ups. The drm_mga_fullscreen_t stuff has been dead for a looong
time. Remove it and an out-dated comment.
Ian Romanick [Fri, 3 Jun 2005 22:45:21 +0000 (22:45 +0000)]
Move the deallocation of dev_private. Since dev_private is allocated when
the driver is loaded and is always expected to be around, it should
only be deallocated when the driver is unloaded.
Xorg bug: #3408 Reported by: Chris Rankin
Eric Anholt [Sat, 28 May 2005 20:36:22 +0000 (20:36 +0000)]
Bugzilla #3217: Create a new __drm_pci_free which is used internally in
linux-core to free pci memory without freeing the structure. Linux-core
internals often create pci dma handle structures on the stack due to
the lack of a drm_local_map_t to store them in properly. Fix the
original drm_pci_free to actually free the dma handle structure instead
of leaking it.
Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>
Eric Anholt [Sat, 28 May 2005 20:25:04 +0000 (20:25 +0000)]
Bugzilla #3217: The size field in the new dma handle structure was
uninitialized, and its use in drm_pci_free later resulted in panics.
Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>
Alan Hourihane [Sat, 28 May 2005 00:08:53 +0000 (00:08 +0000)]
Actually check for drm_fb_loaded before trying to initialize the sysdev
approach.
Alan Hourihane [Sat, 28 May 2005 00:00:08 +0000 (00:00 +0000)]
Re-implement the power management.
There's two choices when fb is or isn't loaded as we treat ourselves as a
PCI driver in the latter case.
If we are a PCI driver, then register the suspend/resume functions
directly. If not, then we register as a sysdev and pick up the
suspend/resume actions and pump them down into a generic *power
function.
It'll be nice when this little mess is sorted out with regard to being a
real PCI driver ;-/
Ian Romanick [Fri, 27 May 2005 23:42:11 +0000 (23:42 +0000)]
Modify drm_driver::device_is_agp to return a tri-state value to indicate
that a device absolutely is, absolutely is not, or may or may not be
AGP. Modify the i915 DRM to use this to force all i9x5 devices to be
"AGP" (even the PCI-e devices).
Reported by: Lukas Hejtmanek
Dave Airlie [Fri, 27 May 2005 07:23:44 +0000 (07:23 +0000)]
add radeon registers from VHA code these are the "unknown" registers
Thomas Hellstrom [Mon, 23 May 2005 20:56:54 +0000 (20:56 +0000)]
VIA:
64-bit fixes. Bumped driver date and patchlevel.
Ian Romanick [Sun, 22 May 2005 04:36:33 +0000 (04:36 +0000)]
Refactor the routines for "calculating" the size of the WARP microcode. The
two routines (one for G200 and one for G400) were replaced with static
const variables and a single function that returns the correct size.
The code to generate an error if the allocated WARP region is too small
was refactored from mga_warp_install_{g200,g400}_microcode to
mga_wrap_install_microcode.
mga_warp_microcode_size is global to the MGA DRM because it will soon be
used by code in another file.
Ian Romanick [Sat, 21 May 2005 02:31:08 +0000 (02:31 +0000)]
Forgot to bump the patchlevel and driver date on last commit.
Ian Romanick [Sat, 21 May 2005 02:27:51 +0000 (02:27 +0000)]
Change the MGA initialization and cleanup a bit. The dev_private structure
is now allocated (and partially filled in) by the new
mga_driver_preinit function.
This allows the driver to detect the type of card (i.e., G200 class vs.
G400 class) on its own. The chipset value passed to mga_dma_init is now
ignored. This same technique is used by the radeon DRM.
As a result of this, mga_driver_pretakedown was converted to
mga_driver_postcleanup. This routine gets called in some other places
than might be expected, and it sets the dev_private pointer to NULL.
That little gem took over an hour to track down. :(
Ian Romanick [Fri, 20 May 2005 00:17:40 +0000 (00:17 +0000)]
Refactor common, boilerplate ioctl code from drm_addbufs_* functions into
drm_addbufs. This makes the code more like the BSD code, and makes the
drm_addbufs_* functions callable in-kernel.
Reviewed by: Dave Airlie
Dave Airlie [Wed, 18 May 2005 06:35:16 +0000 (06:35 +0000)]
Add i945G pci ids to drm
From: Christopher Allen Wing <wingc@engin.umich.edu> Signed-off-by: Dave
Airlie <airlied@linux.ie>
Felix Kuehling [Tue, 17 May 2005 02:08:02 +0000 (02:08 +0000)]
Savage doesn't require AGP any more. Enable build even without CONFIG_AGP.
Ian Romanick [Mon, 16 May 2005 17:37:10 +0000 (17:37 +0000)]
Added device_is_agp callback to drm_driver. This function is called by the
platform-specific drm_device_is_agp function. Added implementation of
this function the the Linux-specific portion of the MGA driver to
detect PCI G450 cards. Added code to the Linux-specific portion of the
generic DRM layer to not initialize AGP infrastructure if the card is
not AGP (this matches what already existed in BSD).
Bumped the driver date and the driver patch-level for MGA.
This mostly fixes bugzilla #3248. The BSD side still needs an
implementation of mga_driver_device_is_agp.
Dave Airlie [Sun, 15 May 2005 10:19:21 +0000 (10:19 +0000)]
wrap config.h include with defined for KERNEL
Thomas Hellstrom [Sun, 8 May 2005 20:33:04 +0000 (20:33 +0000)]
VIA: Fix for oops when AGP ring-buffer initialization is called and there
is no AGP memory acquired.
Eric Anholt [Tue, 26 Apr 2005 15:27:58 +0000 (15:27 +0000)]
Convert NOMAN to the new preferred spelling NO_MAN to quiet warnings.
Eric Anholt [Tue, 26 Apr 2005 06:03:39 +0000 (06:03 +0000)]
Clean up some const qualifier cast warnings.
Eric Anholt [Tue, 26 Apr 2005 05:19:11 +0000 (05:19 +0000)]
Convert BSD code to mostly use bus_dma, the dma abstraction for dealing
with IOMMUs and such. There is one usage of the forbidden vtophys()
left in drm_scatter.c which will be fixed up soon. This required a KPI
change for drm_pci_alloc/free() to return/use a drm_dma_handle_t that
keeps track of os-specific bits, rather than just passing around the
vaddr/busaddr/size.
Submitted by: Tonnerre Lombard (partially) Tested on: FreeBSD: Rage128
AGP/PCI Linux: Savage4 AGP/PCI
Eric Anholt [Tue, 26 Apr 2005 05:11:20 +0000 (05:11 +0000)]
Use msleep instead of tsleep to drop the DRM device lock and avoid a
sleep-with- mutex held. This probably ought to be an os-independent
sleep function ala DRM_USLEEP.
Eric Anholt [Sun, 24 Apr 2005 19:09:09 +0000 (19:09 +0000)]
Fix a panic on startup with non-initmapping drivers by assigning the
drm_ioremap return value to the map handle again.
Submitted by: Tor Egge, tegge at freebsd dot org
Thomas Hellstrom [Wed, 20 Apr 2005 18:50:49 +0000 (18:50 +0000)]
A fix for a locking bug which is triggered when a client tries to lock with
flag DMA_QUIESCENT (typically the X server), but gets interrupted by a
signal. The locking IOCTL should then return an error, but if
DMA_QUIESCENT succeeds it returns 0, and the client falsely thinks it
has the lock. In addition The client waits for DMA_QUISCENT and
possibly DMA_READY without having the lock.
Thomas Hellstrom [Wed, 20 Apr 2005 10:16:52 +0000 (10:16 +0000)]
VIA: Interrupt handler bugfixes. Bumped patchlevel to 2.6.2.
Dave Airlie [Tue, 19 Apr 2005 00:31:16 +0000 (00:31 +0000)]
Revert last commit, it affect via things
Thomas Hellstrom [Mon, 18 Apr 2005 08:26:00 +0000 (08:26 +0000)]
VIA:
1) Security fix: Stopped possible MMIO access to PCI DMA area for the
unichrome Pro.
2) Fixed an odd cpu usage problem by padding small AGP DMA submissions.
Bumped patchlevel.
Eric Anholt [Sat, 16 Apr 2005 03:02:52 +0000 (03:02 +0000)]
Use /*- to begin license blocks in BSD code to reduce diffs against FreeBSD
CVS.
Eric Anholt [Wed, 13 Apr 2005 04:20:08 +0000 (04:20 +0000)]
Fix build on FreeBSD-current, thanks to jhb@.
Dave Airlie [Mon, 4 Apr 2005 04:08:29 +0000 (04:08 +0000)]
mirror changes made in main tree.. just happened to be doing this myself
Thomas Hellstrom [Tue, 29 Mar 2005 09:48:12 +0000 (09:48 +0000)]
Missing file via_video.c commited.
Adam Jackson [Tue, 29 Mar 2005 01:47:38 +0000 (01:47 +0000)]
Add skeletal imagine driver (but don't build it yet).
Thomas Hellstrom [Mon, 28 Mar 2005 21:21:42 +0000 (21:21 +0000)]
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.
Dave Airlie [Sun, 27 Mar 2005 07:05:28 +0000 (07:05 +0000)]
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>
Dave Airlie [Sun, 27 Mar 2005 06:58:12 +0000 (06:58 +0000)]
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
Alan Hourihane [Fri, 25 Mar 2005 13:44:47 +0000 (13:44 +0000)]
Don't know who set the i915GM PCI ID incorrectly but it should be 0x2592
Dave Airlie [Fri, 25 Mar 2005 13:16:38 +0000 (13:16 +0000)]
From Xorg CVS realign the i915_drv.h
From: Tungsten Graphics Signed-off-by: Dave Airlie <airlied@linux.ie>
Dave Airlie [Fri, 25 Mar 2005 13:06:53 +0000 (13:06 +0000)]
use linux-core for 2.6 not this stuff..
Dave Airlie [Fri, 25 Mar 2005 09:48:34 +0000 (09:48 +0000)]
fix up AGP multi-head support for kernel 2.6.12
Dave Airlie [Fri, 25 Mar 2005 09:47:36 +0000 (09:47 +0000)]
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>
Dave Airlie [Fri, 25 Mar 2005 09:05:10 +0000 (09:05 +0000)]
fix bug with XFree86 4.3 on core drm
Signed-off-by: Dave Airlie <airlied@linux.ie>
Dave Airlie [Fri, 25 Mar 2005 09:02:20 +0000 (09:02 +0000)]
3dfx DRM depends on PCI
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Dave Airlie [Fri, 25 Mar 2005 09:01:27 +0000 (09:01 +0000)]
For 2.6.12 and 2.6.11.x:
Remove incorrect "drm_"-prefix from parameter description.
Signed-off-by: Magnus Damm <damm@opensource.se>
Michel Daenzer [Fri, 18 Mar 2005 22:51:43 +0000 (22:51 +0000)]
Add support for production version of ATI RN50/ES1000. (ATI Technologies
Inc.)
Roland Scheidegger [Tue, 15 Mar 2005 22:12:30 +0000 (22:12 +0000)]
add R200_EMIT_PP_TRI_PERF_CNTL packet to support brilinear filtering on
r200
Thomas Hellstrom [Mon, 14 Mar 2005 22:50:21 +0000 (22:50 +0000)]
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.
Felix Kuehling [Sun, 13 Mar 2005 02:16:10 +0000 (02:16 +0000)]
Command DMA optimizations:
- don't waste DMA memory when small command buffers are flushed
- minimized padding with noops
- slightly simplified faked DMA flushing
Dave Airlie [Tue, 8 Mar 2005 23:47:11 +0000 (23:47 +0000)]
Fix for bug 2673 from Egbert Eich - memset the version
Felix Kuehling [Mon, 7 Mar 2005 12:19:49 +0000 (12:19 +0000)]
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.
Dave Airlie [Mon, 7 Mar 2005 09:40:18 +0000 (09:40 +0000)]
minor pointer cast typo
Felix Kuehling [Sun, 6 Mar 2005 01:41:06 +0000 (01:41 +0000)]
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.
Dave Airlie [Fri, 4 Mar 2005 03:04:37 +0000 (03:04 +0000)]
add some idct type 3 packets for reference
Felix Kuehling [Wed, 23 Feb 2005 16:34:30 +0000 (16:34 +0000)]
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.