platform/upstream/libdrm.git
17 years agonouveau: remove unused cruft
Ben Skeggs [Fri, 23 Mar 2007 02:45:29 +0000 (13:45 +1100)]
nouveau: remove unused cruft

17 years agonouveau: support multiple channels per client (breaks drm interface)
Ben Skeggs [Wed, 21 Mar 2007 06:57:47 +0000 (17:57 +1100)]
nouveau: support multiple channels per client (breaks drm interface)

17 years agorename badly named define
Dave Airlie [Mon, 19 Mar 2007 23:13:58 +0000 (10:13 +1100)]
rename badly named define

17 years agoremove i830 reference
Alan Hourihane [Mon, 19 Mar 2007 11:40:52 +0000 (11:40 +0000)]
remove i830 reference

17 years agoRemove old i830 kernel driver.
Alan Hourihane [Mon, 19 Mar 2007 11:40:05 +0000 (11:40 +0000)]
Remove old i830 kernel driver.

17 years agomore return values fixup
Dave Airlie [Sun, 18 Mar 2007 22:20:04 +0000 (09:20 +1100)]
more return values fixup

17 years agofixup return values in drm ioctl
Dave Airlie [Sun, 18 Mar 2007 22:12:08 +0000 (09:12 +1100)]
fixup return values in drm ioctl

17 years agomore whitespace issues
Dave Airlie [Sun, 18 Mar 2007 21:56:24 +0000 (08:56 +1100)]
more whitespace issues

17 years agocleanup ioctl expansion code
Dave Airlie [Sun, 18 Mar 2007 21:46:39 +0000 (08:46 +1100)]
cleanup ioctl expansion code

17 years agooops missing else
Dave Airlie [Sun, 18 Mar 2007 21:46:25 +0000 (08:46 +1100)]
oops missing else

17 years agomake drm fops const from kernel
Dave Airlie [Sun, 18 Mar 2007 21:36:01 +0000 (08:36 +1100)]
make drm fops const from kernel

17 years agouse ARRAY_SIZE
Dave Airlie [Sun, 18 Mar 2007 21:32:25 +0000 (08:32 +1100)]
use ARRAY_SIZE

17 years agomore tab/space conversion
Dave Airlie [Sun, 18 Mar 2007 21:29:07 +0000 (08:29 +1100)]
more tab/space conversion

17 years agowhitespace cleanup pending a kernel merge
Dave Airlie [Sun, 18 Mar 2007 21:23:43 +0000 (08:23 +1100)]
whitespace cleanup pending a kernel merge

17 years agoclean up more of inline functions agp_remap/drm_lookup_map
Dave Airlie [Sun, 18 Mar 2007 21:09:21 +0000 (08:09 +1100)]
clean up more of inline functions agp_remap/drm_lookup_map

17 years agodeinline agp_remap along lines of kernel
Dave Airlie [Sun, 18 Mar 2007 10:45:07 +0000 (21:45 +1100)]
deinline agp_remap along lines of kernel

17 years agoremove drm_lookup_map unused now
Dave Airlie [Sun, 18 Mar 2007 10:42:48 +0000 (21:42 +1100)]
remove drm_lookup_map unused now

17 years agor300: Renamed the CACHE_CTLSTAT values to include UNKNOWN in the name; not
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.

17 years agoAdd defines for the values written to R300_RB3D_ZCACHE_CTLSTAT.
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.

17 years agonouveau: make sure cmdbuf object gets destroyed
Ben Skeggs [Tue, 13 Mar 2007 03:51:55 +0000 (14:51 +1100)]
nouveau: make sure cmdbuf object gets destroyed

17 years agonouveau: associate all created objects with a channel + cleanups
Ben Skeggs [Tue, 13 Mar 2007 03:18:03 +0000 (14:18 +1100)]
nouveau: associate all created objects with a channel + cleanups

17 years agonouveau: s/fifo/channel/
Ben Skeggs [Tue, 13 Mar 2007 02:43:14 +0000 (13:43 +1100)]
nouveau: s/fifo/channel/

17 years agoCorrected values written to R300_RB3D_DSTCACHE_CTLSTAT to either
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.

17 years agoGuess another unknown register used for R300 pacification.
Oliver McFadden [Tue, 13 Mar 2007 00:50:05 +0000 (00:50 +0000)]
Guess another unknown register used for R300 pacification.

17 years agonouveau: PUT,GET, not 2xPUT
Patrice Mandin [Sun, 11 Mar 2007 13:02:40 +0000 (14:02 +0100)]
nouveau: PUT,GET, not 2xPUT

17 years agoSync r300_reg.h from mesa driver. #10210
Aapo Tahkola [Sun, 11 Feb 2007 08:24:14 +0000 (10:24 +0200)]
Sync r300_reg.h from mesa driver. #10210

17 years agoreplace instance of SA_SHIRQ with IRQF_SHARED
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

17 years agoBump version patchlevel so it can be tested for new functionality.
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.

17 years agoMerge branch 'i915-pageflip'
Michel Dänzer [Fri, 9 Mar 2007 23:11:10 +0000 (00:11 +0100)]
Merge branch 'i915-pageflip'

17 years agoi915: Only wait for pending flips before asynchronous flips again.
Michel Dänzer [Fri, 9 Mar 2007 22:34:11 +0000 (23:34 +0100)]
i915: Only wait for pending flips before asynchronous flips again.

17 years agoi915: Do not wait for pending flips on both pipes at the same time.
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.

17 years agonouveau: remove a hack that's not needed since the last interface change.
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.

17 years agonouveau: ack PFIFO interrupts at PFIFO, not PMC.
Ben Skeggs [Wed, 7 Mar 2007 10:00:55 +0000 (21:00 +1100)]
nouveau: ack PFIFO interrupts at PFIFO, not PMC.

17 years agoAdd via CX700.
Thomas Hellstrom [Wed, 7 Mar 2007 08:19:57 +0000 (09:19 +0100)]
Add via CX700.

17 years agoradeon: make PCI GART aperture size variable, but making table size variable
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

17 years agoati: make pcigart code able to handle variable size PCI GART aperture
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

17 years agoi915: Eliminate dev_priv->current_page.
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.

17 years agoi915: Only clean up page flipping when the last client goes away, not any one.
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.

17 years agoi915: Don't emit waits for pending flips before emitting synchronous flips.
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.

17 years agoi915: Fix test for synchronous flip affecting both pipes.
Michel Dänzer [Wed, 28 Feb 2007 11:33:56 +0000 (12:33 +0100)]
i915: Fix test for synchronous flip affecting both pipes.

17 years agonouveau: intrusive drm interface changes
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.

17 years agoFix Alpha domain/bus issue
Jay Estabrook [Tue, 27 Feb 2007 08:55:08 +0000 (08:55 +0000)]
Fix Alpha domain/bus issue

17 years agoFix build for 2.6.21-rc1.
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.

17 years agodrm: remove unnecessary NULL checks, and fix some indents..
Jakob Bornecrantz [Sat, 24 Feb 2007 23:48:26 +0000 (10:48 +1100)]
drm: remove unnecessary NULL checks, and fix some indents..

17 years agoi915: Add support for scheduled buffer swaps to be done as flips.
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.

17 years agoAdd DRM_VBLANK_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.

17 years agoSome fencing cleanup.
Thomas Hellstrom [Thu, 22 Feb 2007 16:04:20 +0000 (17:04 +0100)]
Some fencing cleanup.

17 years agoi915: Improved page flipping support, including triple buffering.
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.

17 years agoi915: Page flipping enhancements.
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.

17 years agoi915: Unify breadcrumb emission.
Michel Dänzer [Fri, 2 Feb 2007 16:23:42 +0000 (17:23 +0100)]
i915: Unify breadcrumb emission.

17 years agodrm: remove last usage of VM_OFFSET
Dave Airlie [Sun, 18 Feb 2007 06:59:40 +0000 (17:59 +1100)]
drm: remove last usage of VM_OFFSET

17 years agoLeftover files from previous commit.
Thomas Hellstrom [Fri, 16 Feb 2007 19:25:26 +0000 (20:25 +0100)]
Leftover files from previous commit.

17 years agoSimple fence object sample driver for via, based on idling the GPU.
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.

17 years agoInitial support for fence object classes.
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).

17 years agoFix build against older kernels.
Michel Dänzer [Thu, 15 Feb 2007 08:26:16 +0000 (09:26 +0100)]
Fix build against older kernels.

17 years agoMerge branch 'ttm-vram-0-1-branch'
Thomas Hellstrom [Wed, 14 Feb 2007 14:33:40 +0000 (15:33 +0100)]
Merge branch 'ttm-vram-0-1-branch'

17 years agoFix multiple spinlock unlocking
Thomas Hellstrom [Wed, 14 Feb 2007 14:32:08 +0000 (15:32 +0100)]
Fix multiple spinlock unlocking

17 years agoRename drm_ttm.h to drm_objects.h
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.

17 years agoMove fence- and buffer-object related header stuff to drm_ttm.h
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

17 years agoRemove an intel-specific hack and replace it with a fence driver callback.
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.

17 years agoSet the drm bus map type for each buffer object memory type.
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.

17 years agoRework buffer object vm code to use nopfn() for kernels >= 2.6.19.
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.

17 years agonouveau: fix the build on big endian (thanks CyberFoxx)
Stephane Marchesin [Tue, 13 Feb 2007 23:08:55 +0000 (00:08 +0100)]
nouveau: fix the build on big endian (thanks CyberFoxx)

17 years agonouveau: fix memory initialization with multiple cards.
B. Rathmann [Tue, 13 Feb 2007 23:07:31 +0000 (00:07 +0100)]
nouveau: fix memory initialization with multiple cards.

17 years agoRemove debug printout.
Thomas Hellstrom [Tue, 13 Feb 2007 19:46:56 +0000 (20:46 +0100)]
Remove debug printout.

17 years agoBugzilla Bug #9457
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?

17 years agoMore bugfixes.
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.

17 years agoFix some outdated URLs, remove others.
Adam Jackson [Mon, 12 Feb 2007 20:45:51 +0000 (15:45 -0500)]
Fix some outdated URLs, remove others.

17 years agoUpdate flags and comments.
Thomas Hellstrom [Mon, 12 Feb 2007 20:40:42 +0000 (21:40 +0100)]
Update flags and comments.

17 years agoLindent.
Thomas Hellstrom [Mon, 12 Feb 2007 19:34:50 +0000 (20:34 +0100)]
Lindent.

17 years agoMore bugfixes.
Thomas Hellstrom [Mon, 12 Feb 2007 19:32:03 +0000 (20:32 +0100)]
More bugfixes.

17 years agoCleanup and fix support for pinned buffers.
Thomas Hellstrom [Mon, 12 Feb 2007 16:47:57 +0000 (17:47 +0100)]
Cleanup and fix support for pinned buffers.

17 years agoVarious bugfixes.
Thomas Hellstrom [Sat, 10 Feb 2007 11:06:36 +0000 (12:06 +0100)]
Various bugfixes.

17 years agoI915 accelerated blit copy functional.
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.

17 years agoReinstate some LRU handling.
Thomas Hellstrom [Fri, 9 Feb 2007 11:43:18 +0000 (12:43 +0100)]
Reinstate some LRU handling.

17 years agoRemove some code that should have gone in
Thomas Hellstrom [Thu, 8 Feb 2007 23:11:53 +0000 (00:11 +0100)]
Remove some code that should have gone in
commit 6a49d9a8abd9f168211017c2d585d0d64e89c530

17 years agoFix copyright statements.
Thomas Hellstrom [Thu, 8 Feb 2007 23:07:29 +0000 (00:07 +0100)]
Fix copyright statements.

17 years agoFix evict_mutex locking range.
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.

17 years agoAdd an accelerated buffer copy cleanup helper.
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.

17 years agoDon't create a ttm just to copy from.
Thomas Hellstrom [Thu, 8 Feb 2007 18:06:39 +0000 (19:06 +0100)]
Don't create a ttm just to copy from.

17 years agoFix mm_block leak.
Thomas Hellstrom [Thu, 8 Feb 2007 17:59:02 +0000 (18:59 +0100)]
Fix mm_block leak.
Some other minor fixes.

17 years agoA minor function interface change and some memcpy bugfixing.
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.

17 years agoSimplify external ttm page allocation.
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.

17 years agoUpdate memory compatibility tests.
Thomas Hellstrom [Thu, 8 Feb 2007 10:55:24 +0000 (11:55 +0100)]
Update memory compatibility tests.
Now only pinned buffers are broken.

17 years agoWarning fix: correct type of i915_mmio argument.
Eric Anholt [Tue, 23 Jan 2007 00:34:25 +0000 (08:34 +0800)]
Warning fix: correct type of i915_mmio argument.

17 years agoDefine __iomem for systems without it.
Eric Anholt [Tue, 23 Jan 2007 00:19:43 +0000 (08:19 +0800)]
Define __iomem for systems without it.

17 years agoAdd chip family flags to i915 driver, and fix a missing '"' in mach64 ID list.
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.

17 years agoCheckpoint commit.
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.

17 years agoFix a stray unlock_kernel() in drm_vm.c
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.

17 years agoSimplify pci map vs no pci map choice.
Thomas Hellstrom [Tue, 6 Feb 2007 15:59:45 +0000 (16:59 +0100)]
Simplify pci map vs no pci map choice.

17 years agoImplement a drm_mem_reg_t substructure in the buffer object type.
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.

17 years agoImplement a policy for selecting memory types.
Thomas Hellstrom [Tue, 6 Feb 2007 13:20:33 +0000 (14:20 +0100)]
Implement a policy for selecting memory types.

17 years agonouveau: more work on the nv04 context switch code.
Stephane Marchesin [Tue, 6 Feb 2007 00:17:32 +0000 (01:17 +0100)]
nouveau: more work on the nv04 context switch code.

17 years agoi915: Add copy-blit operation.
Thomas Hellstrom [Mon, 5 Feb 2007 15:13:32 +0000 (16:13 +0100)]
i915: Add copy-blit operation.

17 years agonouveau: and of course, I was missing the last nv04 piece.
Stephane Marchesin [Sat, 3 Feb 2007 05:13:27 +0000 (06:13 +0100)]
nouveau: and of course, I was missing the last nv04 piece.

17 years agonouveau: add missing nv04_graph.c symlink.
Stephane Marchesin [Sat, 3 Feb 2007 05:02:12 +0000 (06:02 +0100)]
nouveau: add missing nv04_graph.c symlink.

17 years agonouveau: plugin the nv04 graph init function.
Stephane Marchesin [Sat, 3 Feb 2007 05:00:29 +0000 (06:00 +0100)]
nouveau: plugin the nv04 graph init function.

17 years agonouveau: cleanup the nv04 pgraph save/restore mechanism.
Stephane Marchesin [Sat, 3 Feb 2007 04:56:42 +0000 (05:56 +0100)]
nouveau: cleanup the nv04 pgraph save/restore mechanism.

17 years agonouveau: fix nv04 graph routines for new register names.
Stephane Marchesin [Sat, 3 Feb 2007 04:25:36 +0000 (05:25 +0100)]
nouveau: fix nv04 graph routines for new register names.

17 years agonouveau: rename registers to their proper names.
Stephane Marchesin [Sat, 3 Feb 2007 03:57:06 +0000 (04:57 +0100)]
nouveau: rename registers to their proper names.