Alan Hourihane [Tue, 16 Oct 2007 14:28:33 +0000 (15:28 +0100)]
Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into modesetting-101
Conflicts:
linux-core/drm_bo.c
linux-core/drm_objects.h
shared-core/i915_dma.c
shared-core/i915_drv.h
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.
Alan Hourihane [Mon, 15 Oct 2007 10:54:18 +0000 (11:54 +0100)]
should be unlocked
Alan Hourihane [Mon, 15 Oct 2007 10:51:19 +0000 (11:51 +0100)]
Fix some buffer teardown problems.
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
Pekka Paalanen [Sun, 30 Sep 2007 18:10:06 +0000 (21:10 +0300)]
nouveau: nv30 graph function renames, removed nv20_graph.c
All nv30 functions in nv30_graph.c that can be used on nv20 are renamed
as accordingly. nv20 specific parts from nv20_graph.c are moved into
nv30_graph.c.
Pekka Paalanen [Sun, 30 Sep 2007 15:14:24 +0000 (18:14 +0300)]
nouveau: graph ctx init nv25
According to mmio_trace_900XGL.tar.bz2 by Evan Fraser the nv25 init is
exactly the same as nv28 init.
Pekka Paalanen [Sun, 30 Sep 2007 09:03:22 +0000 (12:03 +0300)]
nouveau: nv28 graph context init
Pekka Paalanen [Sat, 29 Sep 2007 20:17:19 +0000 (23:17 +0300)]
nouveau: let nv20 hardware do ctx switching automatically.
Pekka Paalanen [Sat, 29 Sep 2007 20:06:29 +0000 (23:06 +0300)]
nouveau: Make nv20 use the nv30 PGRAPH ctx functions.
Pekka Paalanen [Sat, 29 Sep 2007 18:09:09 +0000 (21:09 +0300)]
nouveau: Change couple constants to symbols.
Pekka Paalanen [Sat, 29 Sep 2007 18:07:46 +0000 (21:07 +0300)]
nouveau: NV30 should never call nouveau_nv20_context_switch().
Matthieu Castet [Sun, 30 Sep 2007 12:50:22 +0000 (14:50 +0200)]
nouveau : pgraph_ctx dynamic alloc for nv04, nv10
Matthieu Castet [Sun, 30 Sep 2007 12:21:47 +0000 (14:21 +0200)]
nouveau : nv04 don't use chan->pgraph_ctx array
This commit is a first step to dynamic alloc pgraph context on nv04, nv10.
Matthieu Castet [Sat, 29 Sep 2007 21:06:29 +0000 (23:06 +0200)]
nouveau : stop the fifo of the channel we are deleting
Matthieu Castet [Sat, 29 Sep 2007 21:05:44 +0000 (23:05 +0200)]
nouveau : nv1x fix strange corruption
that appears when running glxgears and nouveau demo
chaohong guo [Sat, 29 Sep 2007 16:06:47 +0000 (18:06 +0200)]
radeon: Commit the ring after each partial texture upload blit.
This makes sure each blit starts as early as possible, which may improve
texture upload performance in some cases.
Michel Dänzer [Thu, 27 Sep 2007 06:01:58 +0000 (08:01 +0200)]
Don't build without any optimization on Linux.
Building without optimization causes the drm module not to link correctly on
ppc.
Matthieu Castet [Fri, 28 Sep 2007 19:28:47 +0000 (21:28 +0200)]
nouveau : clean chan->pgraph_ctx stuff. We now do a static init of the array.
This avoid hardcoding pgraph_ctx size and potential buffer overflow.
Jesse Barnes [Fri, 28 Sep 2007 17:10:08 +0000 (10:10 -0700)]
Revert drm_i915_flip_t braindamage
I should not have renamed this field.
I should not have renamed this field.
I should not have renamed this field.
On the plus side, it was at least binary compatible.
Alan Hourihane [Fri, 28 Sep 2007 08:21:09 +0000 (09:21 +0100)]
Set the fb_base, so userspace applications can actually work
now instead of locking up.
Alan Hourihane [Thu, 27 Sep 2007 13:21:29 +0000 (14:21 +0100)]
Create memory pool for TT memory
Alan Hourihane [Thu, 27 Sep 2007 13:21:03 +0000 (14:21 +0100)]
Add some more checks to modelist walking for matching
incoming modes to current modelist.
Keith Packard [Wed, 26 Sep 2007 21:25:10 +0000 (14:25 -0700)]
Allow parallel module compile
Alan Hourihane [Wed, 26 Sep 2007 15:18:19 +0000 (16:18 +0100)]
Add brackets
Alan Hourihane [Wed, 26 Sep 2007 15:18:19 +0000 (16:18 +0100)]
Add brackets
Alan Hourihane [Wed, 26 Sep 2007 14:40:40 +0000 (15:40 +0100)]
no need to copy to/from user as the unlocked ioctl does
that for us.
other small cleanups.
Alan Hourihane [Wed, 26 Sep 2007 14:38:54 +0000 (15:38 +0100)]
don't copy back if an error was returned.
Alan Hourihane [Wed, 26 Sep 2007 14:38:54 +0000 (15:38 +0100)]
don't copy back if an error was returned.
Jesse Barnes [Tue, 25 Sep 2007 23:18:01 +0000 (16:18 -0700)]
Hack out i915_mem_takedown
We may want to make the old i915 memory manager obsolete eventually, and in the
meantime the takedown causes problems on unload so remove it for now.
Jesse Barnes [Tue, 25 Sep 2007 23:16:33 +0000 (16:16 -0700)]
Move map hash destruction to after driver unload hook is called
The driver unload routine will want to remove register and SAREA maps, so don't
destroy the map hash before we get there.
Jesse Barnes [Tue, 25 Sep 2007 23:15:48 +0000 (16:15 -0700)]
Remove buffer object user list check in drm_bo_destroy_unlocked
In the case of driver allocated buffers, there won't necessarily be a user list
associated with the buffer, so don't bug out on an empty list.
Thomas Hellstrom [Tue, 25 Sep 2007 16:03:31 +0000 (18:03 +0200)]
Merge branch 'master' into pre-superioctl-branch
Conflicts:
linux-core/drm_bo.c
linux-core/drm_fence.c
linux-core/drm_objects.h
shared-core/drm.h
Dave Airlie [Tue, 25 Sep 2007 06:16:14 +0000 (16:16 +1000)]
drm: use fence_class as name instead of class
Dave Airlie [Wed, 12 Sep 2007 13:50:38 +0000 (23:50 +1000)]
drm/ttm: fixup fence class naming and interfaces
This is some code for nouveau that Ben Skeggs worked on, and also
fixes the naming (having class in a system header file == C++ keyword == bad plan)
Jesse Barnes [Mon, 24 Sep 2007 22:43:00 +0000 (15:43 -0700)]
Cleanup SDVO debug output
SDVO debug messages were incorrectly including severity prefixes in each print
rather than each unique line. Fix it up.
Jesse Barnes [Mon, 24 Sep 2007 22:40:55 +0000 (15:40 -0700)]
Add 965GM macro bits
Update IS_MOBILE macro to include new IS_I965GM test.
Jesse Barnes [Mon, 24 Sep 2007 21:41:46 +0000 (14:41 -0700)]
Merge branch 'master' into modesetting-101 - TTM & typedef removal
Conflicts:
linux-core/drmP.h
linux-core/drm_bo.c
linux-core/drm_drv.c
linux-core/drm_objects.h
shared-core/drm.h
shared-core/i915_dma.c
shared-core/i915_drv.h
shared-core/i915_irq.c
Mostly removing typedefs that snuck into the modesetting code and
updating to the latest TTM APIs. As of today, the i915 driver builds,
but there are likely to be problems, so debugging and bugfixes will
come next.
Jakob Bornecrantz [Mon, 24 Sep 2007 12:53:10 +0000 (14:53 +0200)]
Added small modesetting test
Thomas Hellstrom [Sat, 22 Sep 2007 12:30:55 +0000 (14:30 +0200)]
Fix pinned buffer fence class.
Thomas Hellstrom [Sat, 22 Sep 2007 11:59:56 +0000 (13:59 +0200)]
Fix drm_bo.c compiling.
Thomas Hellstrom [Sat, 22 Sep 2007 11:38:36 +0000 (13:38 +0200)]
Make nouveau compile on older kernels.
Thomas Hellstrom [Sat, 22 Sep 2007 11:34:33 +0000 (13:34 +0200)]
Add fence error member.
Modify the TTM backend bind arguments.
Export a number of functions needed for driver-specific super-ioctls.
Add a function to map buffer objects from the kernel, regardless of where they're
currently placed.
A number of error fixes.
Eric Anholt [Sat, 22 Sep 2007 00:05:21 +0000 (17:05 -0700)]
Merge branch 'bo-set-pin'
This branch replaces the NO_MOVE/NO_EVICT flags to buffer validation with a
separate privileged ioctl to pin buffers like NO_EVICT meant before. The
functionality that was supposed to be covered by NO_MOVE may be reintroduced
later, possibly in a different way, after the superioctl branch is merged.
Eric Anholt [Fri, 21 Sep 2007 23:14:22 +0000 (16:14 -0700)]
Add some more verbosity to drm_bo_set_pin_req comments.
Eric Anholt [Fri, 21 Sep 2007 22:58:02 +0000 (15:58 -0700)]
Fix mapCount refcounting on unmap, even though the value is unused.
Stephane Marchesin [Fri, 21 Sep 2007 20:42:39 +0000 (22:42 +0200)]
nouveau: fix ppc and get it right this time.
Stephane Marchesin [Fri, 21 Sep 2007 20:27:53 +0000 (22:27 +0200)]
nouveau: fix notifiers on PPC.
Stephane Marchesin [Fri, 21 Sep 2007 20:04:45 +0000 (22:04 +0200)]
nouveau: add some checks to the nv04 graph switching code.
Dave Airlie [Thu, 20 Sep 2007 04:01:29 +0000 (14:01 +1000)]
drm_sysfs: update sysfs code from kernel
Eric Anholt [Wed, 19 Sep 2007 22:55:58 +0000 (15:55 -0700)]
Merge branch 'origin' into bo-set-pin
Michel Dänzer [Tue, 18 Sep 2007 20:03:22 +0000 (21:03 +0100)]
i915: Reinstate check that drawable has valid information in i915_vblank_swap.
Michel Dänzer [Tue, 18 Sep 2007 19:55:43 +0000 (20:55 +0100)]
i915: Fix scheduled buffer swaps.
One instance of unlocking a spinlock was converted incorrectly when this code
was fixed to build on BSD.
Ian Romanick [Tue, 18 Sep 2007 18:03:49 +0000 (11:03 -0700)]
Add ioc32 compat layer for XGI DRM.