Jeremy Kolb [Thu, 1 Nov 2007 00:14:48 +0000 (20:14 -0400)]
Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm
Jeremy Kolb [Thu, 1 Nov 2007 00:13:01 +0000 (20:13 -0400)]
nouveau: ttm stubs
Dave Airlie [Wed, 31 Oct 2007 23:34:11 +0000 (10:34 +1100)]
drm/ttm: add support for cached un-snooped mappings.
This mapping allows cached objects to be mapped in/out of the TT space
with the appropriate flushing calls.
It should put back the old CACHED functionality for snooped mappings
Dave Airlie [Wed, 31 Oct 2007 16:00:36 +0000 (02:00 +1000)]
i915: fix compat code on 965/g33
Dave Airlie [Wed, 31 Oct 2007 00:33:34 +0000 (11:33 +1100)]
drm: add chipset flushing via agp support
Dave Airlie [Wed, 31 Oct 2007 00:27:44 +0000 (11:27 +1100)]
i915: add backwards compat chipset flushing code
Dave Airlie [Wed, 31 Oct 2007 00:21:05 +0000 (11:21 +1100)]
drm: call driver load after initing agp subsystem
Stephane Marchesin [Tue, 30 Oct 2007 15:55:17 +0000 (16:55 +0100)]
Nouveau: add a comment about SKIPS for next API breakage.
Stephane Marchesin [Tue, 30 Oct 2007 15:54:57 +0000 (16:54 +0100)]
Nouveau: fold some loops.
Dave Airlie [Tue, 30 Oct 2007 07:51:59 +0000 (17:51 +1000)]
drm/i915: add driver cache flush entry point
Use clflush on Intel hardware to flush cached objects.
Kristian Høgsberg [Mon, 29 Oct 2007 23:32:32 +0000 (19:32 -0400)]
Move struct drm_drawable_info out of public header file.
Jesse Barnes [Mon, 29 Oct 2007 17:51:11 +0000 (10:51 -0700)]
Remove unused memory save areas
These need to be kmalloc'd separately anyway or we may hit kmalloc size
limits.
Stephane Marchesin [Sat, 27 Oct 2007 23:59:11 +0000 (01:59 +0200)]
nouveau: don't touch PMC_BOOT_1 on x86, it seems to be undefined on some early cards.
Jesse Barnes [Fri, 26 Oct 2007 23:10:02 +0000 (16:10 -0700)]
i915: suspend/resume support
Add suspend/resume support to the i915 driver. Moves some of the
initialization into the driver load routine, and fixes up places where we
assumed no dev_private existed in some of the cleanup paths. This allows
us to suspend/resume properly even if X isn't running.
Jesse Barnes [Fri, 26 Oct 2007 23:08:54 +0000 (16:08 -0700)]
update DRM sysfs support
Make DRM devices use real Linux devices instead of class devices, which are
going away. While we're at it, clean up some of the interfaces to take
struct drm_device * or struct device * and use the global drm_class where
needed instead of passing it around.
Stephane Marchesin [Fri, 26 Oct 2007 13:11:38 +0000 (15:11 +0200)]
nouveau: flip the CHECK_STATE bit off on nv30. This lets you do 8-bit surface destination.
Thomas Hellstrom [Fri, 26 Oct 2007 08:31:14 +0000 (10:31 +0200)]
Minor libdrm fixes.
Thomas Hellstrom [Fri, 26 Oct 2007 08:25:57 +0000 (10:25 +0200)]
Buffer flags and masks are 64-bit.
don't mask off the high dword.
Signed-off-by: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
Thomas Hellstrom [Thu, 25 Oct 2007 08:29:15 +0000 (10:29 +0200)]
Tighten permissions on some buffer manager ioctls.
Set bo init minor to 0.
Add the version function to header.
Thomas Hellstrom [Thu, 25 Oct 2007 08:12:21 +0000 (10:12 +0200)]
Buffer manager:
Implement a version check IOCTL for drivers that don't use
drmMMInit from user-space.
Remove the minor check from the kernel code. That's really up
to the driver.
Bump major.
Thomas Hellstrom [Thu, 25 Oct 2007 07:49:33 +0000 (09:49 +0200)]
Fix buffer object flag / mask checking.
Thomas Hellstrom [Thu, 25 Oct 2007 07:24:45 +0000 (09:24 +0200)]
Merge branch 'master' into drm-ttm-finalize
Dave Airlie [Thu, 25 Oct 2007 06:53:18 +0000 (16:53 +1000)]
i915: relocate buffers before validation add memory barrier between two
Dave Airlie [Thu, 25 Oct 2007 06:52:33 +0000 (16:52 +1000)]
i915: remove relocatee kernel mapping sooner stops mutex taking during sleep
Roel Kluin [Thu, 25 Oct 2007 00:24:55 +0000 (10:24 +1000)]
missing mutex unlock bug
Eric Anholt [Wed, 24 Oct 2007 23:27:46 +0000 (16:27 -0700)]
Fix missing \n on some DRM_ERROR in i915_dma.c
Dave Airlie [Wed, 24 Oct 2007 00:13:15 +0000 (11:13 +1100)]
i915: use a drm memory barrier define
Dave Airlie [Tue, 23 Oct 2007 07:54:07 +0000 (17:54 +1000)]
i915: require mfence before submitting batchbuffer
Stephane Marchesin [Tue, 23 Oct 2007 00:18:56 +0000 (02:18 +0200)]
nouveau: fix IGP
Thomas Hellstrom [Mon, 22 Oct 2007 17:16:39 +0000 (19:16 +0200)]
Remove duplicate file.
Thomas Hellstrom [Mon, 22 Oct 2007 17:09:36 +0000 (19:09 +0200)]
Don't clobber the unfenced list with DONT_FENCE operations.
Thomas Hellstrom [Mon, 22 Oct 2007 16:59:37 +0000 (18:59 +0200)]
A cmdbuf mutex to implement validate-submit-fence atomicity in the absence
of a hardware lock.
Thomas Hellstrom [Mon, 22 Oct 2007 11:16:51 +0000 (13:16 +0200)]
Setstatus header.
Dave Airlie [Mon, 22 Oct 2007 00:54:41 +0000 (11:54 +1100)]
i915: split reloc execution into separate function
Thomas Hellstrom [Sun, 21 Oct 2007 10:57:43 +0000 (12:57 +0200)]
Get the lock flags right in libdrm.
Thomas Hellstrom [Sun, 21 Oct 2007 10:31:00 +0000 (12:31 +0200)]
Disable i915 accelerated blit copy moves for now until we can
guarantee that it doesn't clash with the X server.
Thomas Hellstrom [Sun, 21 Oct 2007 10:26:26 +0000 (12:26 +0200)]
Adapt i915 super-ioctl for lock-free operation.
Thomas Hellstrom [Sun, 21 Oct 2007 10:20:56 +0000 (12:20 +0200)]
Remove the need for the hardware lock in the buffer manager.
Add interface entry cleaning a memory type without touching NO_EVICT buffers.
Thomas Hellstrom [Sat, 20 Oct 2007 14:49:43 +0000 (16:49 +0200)]
Simple replacement for hardware lock in some cases.
Fix i915 since last commit.
Thomas Hellstrom [Fri, 19 Oct 2007 14:44:12 +0000 (16:44 +0200)]
Some comment updates pending removal of the init mutex.
Thomas Hellstrom [Fri, 19 Oct 2007 14:28:47 +0000 (16:28 +0200)]
No fence_class argument on drmBOSetStatus since it's not
associated with a particular command submission.
Thomas Hellstrom [Fri, 19 Oct 2007 14:24:36 +0000 (16:24 +0200)]
Remove the clean_unfenced function.
Change the restriction that non-creators can't change the buffer flags to
non-creators can't change EVICT and NO_MOVE flags.
Robert Noland [Wed, 17 Oct 2007 20:25:31 +0000 (13:25 -0700)]
Bug #12838: Fix lock test client vs. server master race and misplaced closes.
Robert Noland [Wed, 17 Oct 2007 20:20:46 +0000 (13:20 -0700)]
Fix a race in the auth test where client prevents server from being
Jung-uk Kim [Wed, 17 Oct 2007 19:50:29 +0000 (12:50 -0700)]
Bug #11870: FreeBSD hardware lock cleanup fix with multiple opens by a process.
Previously, the lock would get released on the first close by the X Server
(during AIGLX setup), and the Radeon driver would then hang in initialization
due to unexpected failure in DRM calls that required the lock to be held.
Based on a patch by Kostik Belousov.
Thomas Hellstrom [Wed, 17 Oct 2007 08:57:12 +0000 (10:57 +0200)]
Only allow creator to change shared buffer mask.
Thomas Hellstrom [Wed, 17 Oct 2007 08:55:21 +0000 (10:55 +0200)]
Remove the op ioctl, and replace it with a setuser ioctl.
Remove need for lock for now.
May create races when we clean memory areas or on takedown.
Needs to be fixed.
Really do a validate on buffer creation in order to avoid problems with
fixed memory buffers.
Thomas Hellstrom [Thu, 4 Oct 2007 08:14:41 +0000 (10:14 +0200)]
Revert "Replace NO_MOVE/NO_EVICT flags to buffer objects with an ioctl to set pinning."
This reverts
cf2d569daca6954d11a796f4d110148ae2e0c827 commit.
Thomas Hellstrom [Thu, 4 Oct 2007 08:01:30 +0000 (10:01 +0200)]
Revert "Copy the important parts of object_validate into object_create()."
This reverts
f9c27aa50b715a7d21858f1ce9e4785120bd0c36 commit.
Thomas Hellstrom [Thu, 4 Oct 2007 07:51:01 +0000 (09:51 +0200)]
Revert "Remove the pinned buffer from the LRU when pinning."
This reverts
3a0bc518e35c62bb9c64c9105f836584d949653f commit.
Thomas Hellstrom [Thu, 4 Oct 2007 07:50:29 +0000 (09:50 +0200)]
Revert "Add some more verbosity to drm_bo_set_pin_req comments."
This reverts
e7bfeb3031374653f7e55d67cc1b5c823849359f commit.
Dave Airlie [Wed, 17 Oct 2007 05:36:14 +0000 (15:36 +1000)]
i915: lock struct mutex about buffer object lookups
Michel Dänzer [Tue, 16 Oct 2007 13:10:08 +0000 (15:10 +0200)]
Revert part of earlier commit that caused an unresolved symbol for i915.
Dave Airlie [Tue, 16 Oct 2007 11:28:00 +0000 (22:28 +1100)]
drm: drop drm bo list handling code
Dave Airlie [Tue, 16 Oct 2007 11:08:55 +0000 (22:08 +1100)]
drm: rename drmBOUnReference to drmBOUnreference for consistency
Kristian Høgsberg [Wed, 10 Oct 2007 01:09:31 +0000 (21:09 -0400)]
Drop destroy ioctls for fences and buffer objects.
We now always create a drm_ref_object for user objects and this is then the only
things that holds a reference to the user object. This way unreference on will
destroy the user object when the last drm_ref_object goes way.
Kristian Høgsberg [Wed, 10 Oct 2007 01:09:30 +0000 (21:09 -0400)]
Take bo type argument out of the ioctl interface.
The buffer object type is still tracked internally, but it is no longer
part of the user space visible ioctl interface. If the bo create ioctl
specifies a non-NULL buffer address we assume drm_bo_type_user,
otherwise drm_bo_type_dc. Kernel side allocations call
drm_buffer_object_create() directly and can still specify drm_bo_type_kernel.
Not 100% this makes sense either, but with this patch, the buffer type
is no longer exported and we can clean up the internals later on.
[utf-8] Kristian Høgsberg [Wed, 10 Oct 2007 01:09:29 +0000 (21:09 -0400)]
Eliminate support for fake buffers.
Ben Skeggs [Tue, 16 Oct 2007 03:43:57 +0000 (14:43 +1100)]
nouveau: revert unintended change.
Ben Skeggs [Tue, 16 Oct 2007 03:42:26 +0000 (14:42 +1100)]
nouveau: Cleanup PGRAPH handler, attempt to survive PGRAPH exceptions.
Ben Skeggs [Tue, 16 Oct 2007 02:32:03 +0000 (13:32 +1100)]
nouveau: Survive PFIFO_CACHE_ERROR.
Ben Skeggs [Tue, 16 Oct 2007 02:27:27 +0000 (13:27 +1100)]
nouveau: Handle multiple PFIFO exceptions per irq, cleanup output.
Stephane Marchesin [Sun, 14 Oct 2007 21:07:30 +0000 (23:07 +0200)]
nouveau: PPC fixes. These regs are very touchy.
Jeremy Kolb [Sun, 14 Oct 2007 14:56:31 +0000 (10:56 -0400)]
nouveau: fix warning.
Jeremy Kolb [Sun, 14 Oct 2007 14:56:17 +0000 (10:56 -0400)]
nouveau: fix warning.
Dave Airlie [Sun, 14 Oct 2007 11:19:13 +0000 (21:19 +1000)]
i915: fix vbl_swap allocation
Pekka Paalanen [Fri, 12 Oct 2007 20:55:59 +0000 (23:55 +0300)]
nouveau: Fix a typo in nv25_graph_context_init
Stuart Bennett [Tue, 9 Oct 2007 19:39:10 +0000 (20:39 +0100)]
nouveau: Fix typos in nv20_graph_context_init
Pekka Paalanen [Fri, 12 Oct 2007 20:43:31 +0000 (23:43 +0300)]
nouveau: Make notifiers go into PCI memory
On some hardware notifers in AGP memory just don't work.
Arthur Huillet [Fri, 12 Oct 2007 20:39:58 +0000 (22:39 +0200)]
nouveau: mandatory "oops I forgot half of the files" commit
Arthur Huillet [Fri, 12 Oct 2007 20:35:39 +0000 (22:35 +0200)]
nouveau: added support for software methods, and implemented those necessary for NV04 (TNT1) to start X
Dave Airlie [Fri, 12 Oct 2007 00:54:38 +0000 (10:54 +1000)]
i915: add superioctl support to i915
This adds the initial i915 superioctl interface. The interface should be
sufficent even if the implementation may needs fixes/optimisations internally
in the drm wrt caching etc.
Dave Airlie [Thu, 11 Oct 2007 23:46:11 +0000 (09:46 +1000)]
i915: check mask instead of flags for buffer fence types
Eric Anholt [Wed, 10 Oct 2007 22:31:00 +0000 (15:31 -0700)]
FreeBSD: Fill in domain field when supported.
Ian Romanick [Wed, 10 Oct 2007 22:27:07 +0000 (15:27 -0700)]
Eliminate trailing whitespace from last commit.
Ian Romanick [Wed, 10 Oct 2007 22:25:30 +0000 (15:25 -0700)]
Fix command list submission on big-endian.
Matthieu Castet [Wed, 10 Oct 2007 19:11:43 +0000 (21:11 +0200)]
nouveau : nv10 and nv04 PGRAPH_NSTATUS are different
Maarten Maathuis [Wed, 10 Oct 2007 14:41:21 +0000 (16:41 +0200)]
nouveau: PMC_BOOT_1 was not mapped.
Thomas Hellstrom [Wed, 10 Oct 2007 07:31:51 +0000 (09:31 +0200)]
Only add native-type on EXE signals. Otherwise flush flags may
get out of sync.
Stephane Marchesin [Tue, 9 Oct 2007 23:12:20 +0000 (01:12 +0200)]
nouveau: try to fix big endian.
Maarten Maathuis [Sun, 7 Oct 2007 17:01:56 +0000 (19:01 +0200)]
nouveau: A char is signed, so it may overflow for >NV50.
Matthieu Castet [Sat, 6 Oct 2007 10:00:08 +0000 (12:00 +0200)]
nouveau : print correct value in nouveau_graph_dump_trap_info for nv04
Dave Airlie [Fri, 5 Oct 2007 02:11:43 +0000 (12:11 +1000)]
Merge branch 'pre-superioctl-branch'
Maarten Maathuis [Thu, 4 Oct 2007 07:46:16 +0000 (09:46 +0200)]
nouveau: Remove excess device classes.
Maarten Maathuis [Thu, 4 Oct 2007 07:39:31 +0000 (09:39 +0200)]
nouveau: NV47 context switching voodoo + warning
Maarten Maathuis [Thu, 4 Oct 2007 07:31:46 +0000 (09:31 +0200)]
nouveau: Switch over to using PMC_BOOT_0 for card detection.
Maarten Maathuis [Tue, 2 Oct 2007 19:54:37 +0000 (21:54 +0200)]
linux-drm: Obey device class requirements when detecting devices.
Dave Airlie [Thu, 4 Oct 2007 06:13:22 +0000 (16:13 +1000)]
drm: fix page count calculation
Also no need to do pre-populate work on single page
Stephane Marchesin [Thu, 4 Oct 2007 01:43:59 +0000 (03:43 +0200)]
nouveau: nv2a drm context switch support.
Ian Romanick [Wed, 3 Oct 2007 21:12:16 +0000 (14:12 -0700)]
Use 'ifdef __BIG_ENDIAN' instead of 'if __BIG_ENDIAN'
Ian Romanick [Wed, 3 Oct 2007 21:08:18 +0000 (14:08 -0700)]
First round of byte-ordering fixes for PowerPC.
This isn't 100% as command submission via PCI-e GART buffers doesn't work.
I've hacked around that for the time being. This is essentially the code
that was used at the POWER.org event to show Bimini.
Pekka Paalanen [Tue, 2 Oct 2007 18:56:01 +0000 (21:56 +0300)]
nouveau: nv20 graph_create_context difference
nv20 writes the chan->id to a different place than nv28.
This still does not make nv20 run nv10_demo.
Pekka Paalanen [Tue, 2 Oct 2007 18:51:14 +0000 (21:51 +0300)]
nouveau: fix nv25_graph_context_init
It was writing 4x the data in a loop.
Stuart Bennett [Tue, 2 Oct 2007 14:45:30 +0000 (15:45 +0100)]
nouveau: nv20 graph context init
Dave Airlie [Tue, 2 Oct 2007 05:48:28 +0000 (15:48 +1000)]
ttm: returning into dummy causes a buffer object leak
as nobody ever derefs dummy, however not returning does the deref
correctly.
Maarten Maathuis [Mon, 1 Oct 2007 20:21:23 +0000 (22:21 +0200)]
nouveau: Fix dereferencing a NULL pointer when erroring out during initialization.
Stephane Marchesin [Mon, 1 Oct 2007 01:28:10 +0000 (03:28 +0200)]
nouveau: flip the ctx switch bit on. it seems to be ignored on nv34 but causes nv30 issues.
Matthieu Castet [Sun, 30 Sep 2007 21:19:39 +0000 (23:19 +0200)]
nouveau : nv30 remove harcoded NV20_PGRAPH_CHANNEL_CTX_TABLE
Matthieu Castet [Sun, 30 Sep 2007 21:09:30 +0000 (23:09 +0200)]
nouveau : nv20_graph replace nouveau_graph_wait_idle by nouveau_wait_for_idle
Also clean PGRAPH_CHANNEL macros
Pekka Paalanen [Sun, 30 Sep 2007 19:04:53 +0000 (22:04 +0300)]
nouveau: rename nv30_graph.c to nv20_graph.c