Dave Airlie [Sun, 18 Mar 2007 22:20:04 +0000 (09:20 +1100)]
more return values fixup
Dave Airlie [Sun, 18 Mar 2007 22:12:08 +0000 (09:12 +1100)]
fixup return values in drm ioctl
Dave Airlie [Sun, 18 Mar 2007 21:56:24 +0000 (08:56 +1100)]
more whitespace issues
Dave Airlie [Sun, 18 Mar 2007 21:46:39 +0000 (08:46 +1100)]
cleanup ioctl expansion code
Dave Airlie [Sun, 18 Mar 2007 21:46:25 +0000 (08:46 +1100)]
oops missing else
Dave Airlie [Sun, 18 Mar 2007 21:36:01 +0000 (08:36 +1100)]
make drm fops const from kernel
Dave Airlie [Sun, 18 Mar 2007 21:32:25 +0000 (08:32 +1100)]
use ARRAY_SIZE
Dave Airlie [Sun, 18 Mar 2007 21:29:07 +0000 (08:29 +1100)]
more tab/space conversion
Dave Airlie [Sun, 18 Mar 2007 21:23:43 +0000 (08:23 +1100)]
whitespace cleanup pending a kernel merge
Dave Airlie [Sun, 18 Mar 2007 21:09:21 +0000 (08:09 +1100)]
clean up more of inline functions agp_remap/drm_lookup_map
Dave Airlie [Sun, 18 Mar 2007 10:45:07 +0000 (21:45 +1100)]
deinline agp_remap along lines of kernel
Dave Airlie [Sun, 18 Mar 2007 10:42:48 +0000 (21:42 +1100)]
remove drm_lookup_map unused now
Oliver McFadden [Tue, 13 Mar 2007 14:48:01 +0000 (14:48 +0000)]
r300: Renamed the CACHE_CTLSTAT values to include UNKNOWN in the name; not
enough information is known about them to be sure as to what the values mean.
Oliver McFadden [Tue, 13 Mar 2007 06:25:04 +0000 (06:25 +0000)]
Add defines for the values written to R300_RB3D_ZCACHE_CTLSTAT.
Note that just like the values written to R300_RB3D_DSTCACHE_CTLSTAT these
values are really unknown; ideally more reverse engineering should be done to
determine what these values mean and when they should be set.
Ben Skeggs [Tue, 13 Mar 2007 03:51:55 +0000 (14:51 +1100)]
nouveau: make sure cmdbuf object gets destroyed
Ben Skeggs [Tue, 13 Mar 2007 03:18:03 +0000 (14:18 +1100)]
nouveau: associate all created objects with a channel + cleanups
Ben Skeggs [Tue, 13 Mar 2007 02:43:14 +0000 (13:43 +1100)]
nouveau: s/fifo/channel/
Oliver McFadden [Tue, 13 Mar 2007 01:19:56 +0000 (01:19 +0000)]
Corrected values written to R300_RB3D_DSTCACHE_CTLSTAT to either
R300_RB3D_DSTCACHE_02 or R300_RB3D_DSTCACHE_0A, rather than hexadecimal values.
Oliver McFadden [Tue, 13 Mar 2007 00:50:05 +0000 (00:50 +0000)]
Guess another unknown register used for R300 pacification.
Patrice Mandin [Sun, 11 Mar 2007 13:02:40 +0000 (14:02 +0100)]
nouveau: PUT,GET, not 2xPUT
Aapo Tahkola [Sun, 11 Feb 2007 08:24:14 +0000 (10:24 +0200)]
Sync r300_reg.h from mesa driver. #10210
Maarten Maathuis [Sun, 11 Mar 2007 01:13:58 +0000 (12:13 +1100)]
replace instance of SA_SHIRQ with IRQF_SHARED
backwards compat added by airlied
Michel Dänzer [Sat, 10 Mar 2007 16:13:54 +0000 (17:13 +0100)]
Bump version patchlevel so it can be tested for new functionality.
Michel Dänzer [Fri, 9 Mar 2007 23:11:10 +0000 (00:11 +0100)]
Merge branch 'i915-pageflip'
Michel Dänzer [Fri, 9 Mar 2007 22:34:11 +0000 (23:34 +0100)]
i915: Only wait for pending flips before asynchronous flips again.
Michel Dänzer [Fri, 9 Mar 2007 15:39:13 +0000 (16:39 +0100)]
i915: Do not wait for pending flips on both pipes at the same time.
The MI_WAIT_FOR_EVENT instruction does not support waiting for several events
at once, so this should fix the lockups with page flipping when both pipes are
enabled.
Ben Skeggs [Wed, 7 Mar 2007 10:17:45 +0000 (21:17 +1100)]
nouveau: remove a hack that's not needed since the last interface change.
Ben Skeggs [Wed, 7 Mar 2007 10:00:55 +0000 (21:00 +1100)]
nouveau: ack PFIFO interrupts at PFIFO, not PMC.
Thomas Hellstrom [Wed, 7 Mar 2007 08:19:57 +0000 (09:19 +0100)]
Add via CX700.
Dave Airlie [Sun, 4 Mar 2007 08:10:46 +0000 (19:10 +1100)]
radeon: make PCI GART aperture size variable, but making table size variable
This is precursor to getting a TTM backend for this stuff, and also
allows the PCI table to be allocated at fb 0
Dave Airlie [Sun, 4 Mar 2007 07:13:34 +0000 (18:13 +1100)]
ati: make pcigart code able to handle variable size PCI GART aperture
This code doesn't enable a variable aperture it just modifies the codebase
to allow me fix it up later
Michel Dänzer [Wed, 28 Feb 2007 16:48:56 +0000 (17:48 +0100)]
i915: Eliminate dev_priv->current_page.
Always use dev_priv->sarea_priv->pf_current_page directly. This allows clients
to modify it as well while they hold the HW lock, e.g. in order to sync pages
between pipes.
Michel Dänzer [Wed, 28 Feb 2007 14:57:08 +0000 (15:57 +0100)]
i915: Only clean up page flipping when the last client goes away, not any one.
Michel Dänzer [Wed, 28 Feb 2007 14:23:19 +0000 (15:23 +0100)]
i915: Don't emit waits for pending flips before emitting synchronous flips.
The assumption is that synchronous flips are not isolated usually, and waiting
for all of them could result in stalling the pipeline for long periods of time.
Also use i915_emit_mi_flush() instead of an old-fashioned way to achieve the
same effect.
Michel Dänzer [Wed, 28 Feb 2007 11:33:56 +0000 (12:33 +0100)]
i915: Fix test for synchronous flip affecting both pipes.
Ben Skeggs [Wed, 28 Feb 2007 04:14:08 +0000 (15:14 +1100)]
nouveau: intrusive drm interface changes
graphics objects:
- No longer takes flags/dmaobj parameters, requires some major changes
to the ddx to setup the object through the FIFO. This change is
likely to cause breakages on some cards (tested on NV05,NV28,NV35,
NV40 and NV4E).
dma objects:
- now takes a "class" parameter, not really used yet but we may need
it at some point.
- parameters are checked, so clients can't randomly create DMA objects
pointing at whatever they feel like.
misc:
- Added FB_SIZE/AGP_SIZE getparams
- Read PFIFO_INTR in PFIFO irq handler, not PMC_INTR
- Dump PGRAPH trap info on PGRAPH_INTR_NOTIFY if NSOURCE isn't
NOTIFICATION_PENDING.
Jay Estabrook [Tue, 27 Feb 2007 08:55:08 +0000 (08:55 +0000)]
Fix Alpha domain/bus issue
Thomas Hellstrom [Mon, 26 Feb 2007 17:17:54 +0000 (18:17 +0100)]
Fix build for 2.6.21-rc1.
The vm subsystem of 2.6.21 is fully compatible with the buffer object
vm code.
Jakob Bornecrantz [Sat, 24 Feb 2007 23:48:26 +0000 (10:48 +1100)]
drm: remove unnecessary NULL checks, and fix some indents..
Michel Dänzer [Thu, 22 Feb 2007 16:21:18 +0000 (17:21 +0100)]
i915: Add support for scheduled buffer swaps to be done as flips.
Unfortunately, emitting asynchronous flips during vertical blank results in
tearing. So we have to wait for the previous vertical blank and emit a
synchronous flip.
Michel Dänzer [Thu, 22 Feb 2007 16:19:30 +0000 (17:19 +0100)]
Add DRM_VBLANK_FLIP.
Used to request that a scheduled buffer swap be done as a flip instead of a
blit.
Thomas Hellstrom [Thu, 22 Feb 2007 16:04:20 +0000 (17:04 +0100)]
Some fencing cleanup.
Michel Dänzer [Mon, 19 Feb 2007 11:27:54 +0000 (12:27 +0100)]
i915: Improved page flipping support, including triple buffering.
Pages are tracked independently on each pipe.
Bump the minor version for 3D clients to know page flipping is usable, and
bump driver date.
Michel Dänzer [Fri, 2 Feb 2007 16:28:43 +0000 (17:28 +0100)]
i915: Page flipping enhancements.
Leave it to the client to wait for the flip to complete when necessary,
but wait for a previous flip to complete before emitting another one. This
should help avoid unnecessary stalling of the ring due to pending flips.
Call i915_do_cleanup_pageflip() unconditionally in preclose.
Michel Dänzer [Fri, 2 Feb 2007 16:23:42 +0000 (17:23 +0100)]
i915: Unify breadcrumb emission.
Dave Airlie [Sun, 18 Feb 2007 06:59:40 +0000 (17:59 +1100)]
drm: remove last usage of VM_OFFSET
Thomas Hellstrom [Fri, 16 Feb 2007 19:25:26 +0000 (20:25 +0100)]
Leftover files from previous commit.
Thomas Hellstrom [Fri, 16 Feb 2007 19:22:24 +0000 (20:22 +0100)]
Simple fence object sample driver for via, based on idling the GPU.
Buffer object driver for via.
Some changes to buffer object driver callbacks.
Improve fence flushing.
Thomas Hellstrom [Thu, 15 Feb 2007 11:10:33 +0000 (12:10 +0100)]
Initial support for fence object classes.
(Fence objects belonging to different command submission mechanisms).
Michel Dänzer [Thu, 15 Feb 2007 08:26:16 +0000 (09:26 +0100)]
Fix build against older kernels.
Thomas Hellstrom [Wed, 14 Feb 2007 14:33:40 +0000 (15:33 +0100)]
Merge branch 'ttm-vram-0-1-branch'
Thomas Hellstrom [Wed, 14 Feb 2007 14:32:08 +0000 (15:32 +0100)]
Fix multiple spinlock unlocking
Thomas Hellstrom [Wed, 14 Feb 2007 13:10:10 +0000 (14:10 +0100)]
Rename drm_ttm.h to drm_objects.h
Fix up some header incompatibilities in drm_fence.c caused by the previous
commit.
Thomas Hellstrom [Wed, 14 Feb 2007 13:05:40 +0000 (14:05 +0100)]
Move fence- and buffer-object related header stuff to drm_ttm.h
Thomas Hellstrom [Wed, 14 Feb 2007 12:31:35 +0000 (13:31 +0100)]
Remove an intel-specific hack and replace it with a fence driver callback.
Thomas Hellstrom [Wed, 14 Feb 2007 11:39:02 +0000 (12:39 +0100)]
Set the drm bus map type for each buffer object memory type.
Thomas Hellstrom [Wed, 14 Feb 2007 09:49:37 +0000 (10:49 +0100)]
Rework buffer object vm code to use nopfn() for kernels >= 2.6.19.
Stephane Marchesin [Tue, 13 Feb 2007 23:08:55 +0000 (00:08 +0100)]
nouveau: fix the build on big endian (thanks CyberFoxx)
B. Rathmann [Tue, 13 Feb 2007 23:07:31 +0000 (00:07 +0100)]
nouveau: fix memory initialization with multiple cards.
Thomas Hellstrom [Tue, 13 Feb 2007 19:46:56 +0000 (20:46 +0100)]
Remove debug printout.
Thomas Hellstrom [Sun, 11 Feb 2007 19:33:57 +0000 (20:33 +0100)]
Bugzilla Bug #9457
Add refcounting of user waiters to the DRM hardware lock, so that we can use the
DRM_LOCK_CONT flag more conservatively.
Also add a kernel waiter refcount that if nonzero transfers the lock for the kernel context,
when it is released. This is useful when waiting for idle and can be used
for very simple fence object driver implementations for the new memory manager.
It also resolves the AIGLX startup deadlock for the sis and the via drivers.
i810, i830 still require that the hardware lock is really taken so the deadlock remains
for those two. I'm not sure about ffb. Anyone familiar with that code?
Thomas Hellstrom [Tue, 13 Feb 2007 19:05:32 +0000 (20:05 +0100)]
More bugfixes.
Fixed memory, pinned buffers and unmappable memory now seems
fully functional.
Adam Jackson [Mon, 12 Feb 2007 20:45:51 +0000 (15:45 -0500)]
Fix some outdated URLs, remove others.
Thomas Hellstrom [Mon, 12 Feb 2007 20:40:42 +0000 (21:40 +0100)]
Update flags and comments.
Thomas Hellstrom [Mon, 12 Feb 2007 19:34:50 +0000 (20:34 +0100)]
Lindent.
Thomas Hellstrom [Mon, 12 Feb 2007 19:32:03 +0000 (20:32 +0100)]
More bugfixes.
Thomas Hellstrom [Mon, 12 Feb 2007 16:47:57 +0000 (17:47 +0100)]
Cleanup and fix support for pinned buffers.
Thomas Hellstrom [Sat, 10 Feb 2007 11:06:36 +0000 (12:06 +0100)]
Various bugfixes.
Thomas Hellstrom [Fri, 9 Feb 2007 15:36:53 +0000 (16:36 +0100)]
I915 accelerated blit copy functional.
Fixed - to System memory copies are implemented by
flipping in a cache-coherent TTM,
blitting to it, and then flipping it out.
Thomas Hellstrom [Fri, 9 Feb 2007 11:43:18 +0000 (12:43 +0100)]
Reinstate some LRU handling.
Thomas Hellstrom [Thu, 8 Feb 2007 23:11:53 +0000 (00:11 +0100)]
Remove some code that should have gone in
commit
6a49d9a8abd9f168211017c2d585d0d64e89c530
Thomas Hellstrom [Thu, 8 Feb 2007 23:07:29 +0000 (00:07 +0100)]
Fix copyright statements.
Thomas Hellstrom [Thu, 8 Feb 2007 23:02:02 +0000 (00:02 +0100)]
Fix evict_mutex locking range.
Implement unmappable buffers. (fault moves them to mappable when needed).
Various bugfixes.
Thomas Hellstrom [Thu, 8 Feb 2007 20:28:33 +0000 (21:28 +0100)]
Add an accelerated buffer copy cleanup helper.
Export helper functions and make some important buffer-object functions non-static.
Add an i915 accelerated blit buffer move for pci memory buffers.
Thomas Hellstrom [Thu, 8 Feb 2007 18:06:39 +0000 (19:06 +0100)]
Don't create a ttm just to copy from.
Thomas Hellstrom [Thu, 8 Feb 2007 17:59:02 +0000 (18:59 +0100)]
Fix mm_block leak.
Some other minor fixes.
Thomas Hellstrom [Thu, 8 Feb 2007 15:21:38 +0000 (16:21 +0100)]
A minor function interface change and some memcpy bugfixing.
Hooray!! it sort of works with a fixed AGP area as faked VRAM.
Thomas Hellstrom [Thu, 8 Feb 2007 12:29:08 +0000 (13:29 +0100)]
Simplify external ttm page allocation.
Implement a memcpy fallback for copying between buffers.
Thomas Hellstrom [Thu, 8 Feb 2007 10:55:24 +0000 (11:55 +0100)]
Update memory compatibility tests.
Now only pinned buffers are broken.
Eric Anholt [Tue, 23 Jan 2007 00:34:25 +0000 (08:34 +0800)]
Warning fix: correct type of i915_mmio argument.
Eric Anholt [Tue, 23 Jan 2007 00:19:43 +0000 (08:19 +0800)]
Define __iomem for systems without it.
Eric Anholt [Tue, 23 Jan 2007 00:05:36 +0000 (08:05 +0800)]
Add chip family flags to i915 driver, and fix a missing '"' in mach64 ID list.
Thomas Hellstrom [Wed, 7 Feb 2007 16:25:13 +0000 (17:25 +0100)]
Checkpoint commit.
Flag handling and memory type selection cleanup.
glxgears won't start.
Thomas Hellstrom [Wed, 7 Feb 2007 11:52:23 +0000 (12:52 +0100)]
Fix a stray unlock_kernel() in drm_vm.c
Add a file for memory move helpers, drm_bo_move.c
Implement generic memory move.
Cached, no_move and unmapped memory temporarily broken.
Thomas Hellstrom [Tue, 6 Feb 2007 15:59:45 +0000 (16:59 +0100)]
Simplify pci map vs no pci map choice.
Thomas Hellstrom [Tue, 6 Feb 2007 14:56:43 +0000 (15:56 +0100)]
Implement a drm_mem_reg_t substructure in the buffer object type.
Thomas Hellstrom [Tue, 6 Feb 2007 13:20:33 +0000 (14:20 +0100)]
Implement a policy for selecting memory types.
Stephane Marchesin [Tue, 6 Feb 2007 00:17:32 +0000 (01:17 +0100)]
nouveau: more work on the nv04 context switch code.
Thomas Hellstrom [Mon, 5 Feb 2007 15:13:32 +0000 (16:13 +0100)]
i915: Add copy-blit operation.
Stephane Marchesin [Sat, 3 Feb 2007 05:13:27 +0000 (06:13 +0100)]
nouveau: and of course, I was missing the last nv04 piece.
Stephane Marchesin [Sat, 3 Feb 2007 05:02:12 +0000 (06:02 +0100)]
nouveau: add missing nv04_graph.c symlink.
Stephane Marchesin [Sat, 3 Feb 2007 05:00:29 +0000 (06:00 +0100)]
nouveau: plugin the nv04 graph init function.
Stephane Marchesin [Sat, 3 Feb 2007 04:56:42 +0000 (05:56 +0100)]
nouveau: cleanup the nv04 pgraph save/restore mechanism.
Stephane Marchesin [Sat, 3 Feb 2007 04:25:36 +0000 (05:25 +0100)]
nouveau: fix nv04 graph routines for new register names.
Stephane Marchesin [Sat, 3 Feb 2007 03:57:06 +0000 (04:57 +0100)]
nouveau: rename registers to their proper names.
Stephane Marchesin [Mon, 29 Jan 2007 03:03:59 +0000 (04:03 +0100)]
nouveau: add NV04 registers required for PGRAPH context switching.
Matthieu Castet [Fri, 2 Feb 2007 22:01:03 +0000 (23:01 +0100)]
nouveau: nv ctx switch opps the size of array was wrong
Matthieu Castet [Fri, 2 Feb 2007 19:08:33 +0000 (20:08 +0100)]
nouveau: nv10 ctx switch, some regs are nv17+ only
Thomas Hellstrom [Fri, 2 Feb 2007 18:49:11 +0000 (19:49 +0100)]
Make also later kernels work with buffer object vm
and clean up some function names.
Thomas Hellstrom [Fri, 2 Feb 2007 13:47:44 +0000 (14:47 +0100)]
Make vm handle buffer objects instead of ttm objects.
Remove ttm objects.
Make vm aware of PCI memory type buffer objects.
(Only works for pre 2.6.16 kernels for now).