Dave Airlie [Wed, 13 Feb 2008 02:20:02 +0000 (12:20 +1000)]
Revert "After the previous revert fix libdrm to start at minor 1"
This reverts commit
f51dc37d75b0b1b8e5636f8f2c201e29986517ea.
Conflicts:
tests/modedemo/demo.c
Dave Airlie [Wed, 13 Feb 2008 02:12:52 +0000 (12:12 +1000)]
drm: re-write minor number allocation to use an idr.
Fixup the minor number allocation scheme to use an idr and move the control
nodes up higher.
Jerome Glisse [Sat, 9 Feb 2008 17:23:35 +0000 (18:23 +0100)]
radeon_ms: bring radeon_ms up to date with lastest changes
Jakob Bornecrantz [Thu, 7 Feb 2008 22:32:59 +0000 (23:32 +0100)]
Added you can now clone displays in modedemo
Alan Hourihane [Thu, 7 Feb 2008 22:21:50 +0000 (22:21 +0000)]
After the previous revert fix libdrm to start at minor 1
and fixup the demos
Alan Hourihane [Thu, 7 Feb 2008 21:13:36 +0000 (21:13 +0000)]
Revert "DRM_CONTROL_ALLOW logic was reversed"
This reverts commit
7af1bb874d9b8b1b8760ad200cee587c41c23434.
Jakob Bornecrantz [Thu, 7 Feb 2008 18:32:20 +0000 (19:32 +0100)]
Wrong open call
Jakob Bornecrantz [Thu, 7 Feb 2008 18:25:52 +0000 (19:25 +0100)]
Added userspace part of hotplug ioctl and demo
Jakob Bornecrantz [Thu, 7 Feb 2008 18:24:58 +0000 (19:24 +0100)]
Added kernel part of hotplug ioctl
Jakob Bornecrantz [Thu, 7 Feb 2008 18:23:27 +0000 (19:23 +0100)]
Added hotplug ioctl
Jakob Bornecrantz [Thu, 7 Feb 2008 18:22:38 +0000 (19:22 +0100)]
Small update to modedemo
Alan Hourihane [Tue, 5 Feb 2008 15:30:28 +0000 (15:30 +0000)]
update app to cycle through 4 fbdev's
Alan Hourihane [Tue, 5 Feb 2008 15:24:29 +0000 (15:24 +0000)]
tweak it
Alan Hourihane [Tue, 5 Feb 2008 15:18:05 +0000 (15:18 +0000)]
make modefb/modedemo match each others test output.
Alan Hourihane [Tue, 5 Feb 2008 15:15:13 +0000 (15:15 +0000)]
consistency
Alan Hourihane [Tue, 5 Feb 2008 15:12:46 +0000 (15:12 +0000)]
DRM_CONTROL_ALLOW logic was reversed
Alan Hourihane [Tue, 5 Feb 2008 10:12:21 +0000 (10:12 +0000)]
build fix for older kernels
Alan Hourihane [Tue, 5 Feb 2008 10:11:46 +0000 (10:11 +0000)]
fix some warnings
Alan Hourihane [Tue, 5 Feb 2008 10:11:24 +0000 (10:11 +0000)]
build fix for older kernels
Alan Hourihane [Tue, 5 Feb 2008 10:11:01 +0000 (10:11 +0000)]
Fix function declaration
Alan Hourihane [Tue, 5 Feb 2008 10:10:36 +0000 (10:10 +0000)]
Add missing round_jiffies_relative() for older kernels
Alan Hourihane [Tue, 5 Feb 2008 09:28:51 +0000 (09:28 +0000)]
consistency
Alan Hourihane [Tue, 5 Feb 2008 09:28:32 +0000 (09:28 +0000)]
Remove duplicate
Jakob Bornecrantz [Mon, 4 Feb 2008 19:51:59 +0000 (20:51 +0100)]
Modedemo now uses two crtc and output pairs
Jakob Bornecrantz [Wed, 30 Jan 2008 15:16:10 +0000 (16:16 +0100)]
Fix for cursor off
Jakob Bornecrantz [Wed, 30 Jan 2008 14:47:26 +0000 (15:47 +0100)]
ModeFB demo now display cursor
Jakob Bornecrantz [Mon, 28 Jan 2008 21:06:09 +0000 (22:06 +0100)]
Misc panning fixes for intel_fb
Jakob Bornecrantz [Mon, 28 Jan 2008 02:12:29 +0000 (03:12 +0100)]
Added cursor support
Dave Airlie [Fri, 25 Jan 2008 06:34:05 +0000 (16:34 +1000)]
if irq already enabled well just keep trucking
Dave Airlie [Fri, 25 Jan 2008 06:32:09 +0000 (16:32 +1000)]
don't reinit ring if already initialised
Dave Airlie [Fri, 25 Jan 2008 05:27:53 +0000 (15:27 +1000)]
Merge remote branch 'origin/master' into modesetting-101
Conflicts:
linux-core/drm_bo.c
linux-core/drm_drv.c
shared-core/drm.h
shared-core/i915_dma.c
shared-core/i915_drv.h
shared-core/i915_irq.c
shared-core/radeon_irq.c
Jesse Barnes [Fri, 25 Jan 2008 04:59:51 +0000 (20:59 -0800)]
Fixup modeset ioctl number & typedef usage
Should be 0x08 rather than 0xa0, and shouldn't use typedefs.
Eric Anholt [Thu, 24 Jan 2008 20:32:08 +0000 (12:32 -0800)]
Merge commit 'airlied/i915-ttm-cfu'
This requires updated Mesa to handle the new relocation format.
Jesse Barnes [Thu, 24 Jan 2008 16:57:04 +0000 (08:57 -0800)]
Remove broken 'in vblank' accounting
We need to return an accurate vblank count to the callers of
->get_vblank_counter, and in the Intel case the actual frame count
register isn't udpated until the next active line is displayed, so we
need to return one more than the frame count register if we're currently
in a vblank period.
However, none of the various ways of doing this is working yet, so
disable the logic for now. This may result in a few missed events, but
should fix the hangs some people have seen due to the current code
tripping the wraparound logic in drm_update_vblank_count.
Dave Airlie [Thu, 24 Jan 2008 05:18:09 +0000 (15:18 +1000)]
i915: fix missing header when copying data from userspace
Dave Airlie [Thu, 24 Jan 2008 04:37:40 +0000 (14:37 +1000)]
i915 make relocs use copy from user
Switch relocs to using copy from user and remove index and pass buffer
handles in instead.
Jesse Barnes [Wed, 23 Jan 2008 16:39:57 +0000 (08:39 -0800)]
Fix thinko in get_vblank_counter
Should use vtotal not htotal to figure out if we're in a vblank period.
Jesse Barnes [Wed, 23 Jan 2008 16:38:01 +0000 (08:38 -0800)]
Fix IS_I915G macro
One to many parantheses...
Maarten Maathuis [Wed, 23 Jan 2008 15:40:19 +0000 (16:40 +0100)]
nouveau: Fix warning in nouveau_mem.c
Dave Airlie [Wed, 23 Jan 2008 06:45:09 +0000 (16:45 +1000)]
i915/flush: get the ret the right way around
Dave Airlie [Wed, 23 Jan 2008 06:44:51 +0000 (16:44 +1000)]
drm/i915: add support for E7221
Jesse Barnes [Tue, 22 Jan 2008 23:16:01 +0000 (15:16 -0800)]
Correct vblank count value
The frame count registers don't increment until the start of the next
frame, so make sure we return an incremented count if called during the
actual vblank period.
Jesse Barnes [Tue, 22 Jan 2008 21:11:29 +0000 (13:11 -0800)]
i915 irq fixes
Ack the IRQs correctly (PIPExSTAT first followed by IIR). Don't read
vblank counter registers on disabled pipes (might hang otherwise). And
deal with flipped pipe/plane mappings if present.
Jesse Barnes [Tue, 22 Jan 2008 17:42:37 +0000 (09:42 -0800)]
Merge branch 'master' into vblank-rework, including mach64 support
Conflicts:
linux-core/drmP.h
linux-core/drm_drv.c
shared-core/i915_drv.h
shared-core/i915_irq.c
shared-core/mga_irq.c
shared-core/radeon_irq.c
shared-core/via_irq.c
Mostly trivial conflicts.
mach64 support from Mathieu Bérard.
Dave Airlie [Tue, 22 Jan 2008 03:39:28 +0000 (14:39 +1100)]
Revert "Fix pipe<->plane mapping vs. vblank handling (again)"
This reverts commit
bfc29606e4a818897eebca46a5e23bbe7bc3ce25.
This regresses i915 here for me I can't get greater than 0.333 fps with gears
Stephane Marchesin [Mon, 21 Jan 2008 20:11:47 +0000 (21:11 +0100)]
nouveau: don't forget NV80.
Stephane Marchesin [Mon, 21 Jan 2008 20:01:28 +0000 (21:01 +0100)]
nouveau: new card family for old card designs.
Jakob Bornecrantz [Fri, 18 Jan 2008 14:00:31 +0000 (15:00 +0100)]
Made radeon_ms not always compile
Kyle McMartin [Thu, 17 Jan 2008 23:51:56 +0000 (18:51 -0500)]
i915: fix invalid opcode exception on cpus without clflush
i915_flush_ttm was unconditionally executing a clflush instruction
to (obviously) flush the cache. Instead, check if the cpu supports
clflush, and if not, fall back to calling wbinvd to flush the entire
cache.
Signed-off-by: Kyle McMartin <kmcmartin@redhat.com>
Eric Anholt [Mon, 7 Jan 2008 21:10:50 +0000 (13:10 -0800)]
Add additional explanation of DRM_BO_FLAG_CACHED_MAPPED before I forget again.
Zhenyu Wang [Wed, 9 Jan 2008 03:30:35 +0000 (11:30 +0800)]
i915: Add chipset id for Intel Integrated Graphics Device
This adds new chipset id in drm.
Signed-off-by: Zhenyu Wang <zhenyu.z.wang@intel.com>
Jerome Glisse [Tue, 15 Jan 2008 15:01:39 +0000 (16:01 +0100)]
radeon_ms: use radeon connector type insted of drm
Jerome Glisse [Tue, 15 Jan 2008 13:30:40 +0000 (14:30 +0100)]
radeon_ms: cope with lastest drm modesetting change
Jerome Glisse [Tue, 15 Jan 2008 13:05:25 +0000 (14:05 +0100)]
radeon_ms: add rom parsing & adapt code
Add rom (only combios for now) parsing and use informations
retrieve instead of hardcoded table. Shuffle code around a
bit.
Thomas Hellstrom [Tue, 15 Jan 2008 09:03:41 +0000 (10:03 +0100)]
Properly propagate the user-space fence flags.
This avoids a sync flush when user-space has already programmed
and MI_FLUSH in the batchbuffer.
Thomas Hellstrom [Tue, 15 Jan 2008 08:46:59 +0000 (09:46 +0100)]
Define i915_compat.c upper_32_bits for kernels < 2.6.21
Zou Nan hai [Tue, 15 Jan 2008 01:19:02 +0000 (09:19 +0800)]
this is to fix a deadloop in drm hang system issue.
(1 << bits) is an undefined value when bits == 32.
gcc may generate 1 with this expression
which will lead to an infinite retry loop in
drm_ht_just_insert_please.
Because of the different implement of hash_long,
this issue is more frequenly see on 64 bit system
Dave Airlie [Mon, 14 Jan 2008 09:36:10 +0000 (19:36 +1000)]
fixup i915 compat resource allocation
Stephane Marchesin [Mon, 14 Jan 2008 02:16:40 +0000 (03:16 +0100)]
nouveau: make mem alloc debug a little more verbose.
Jakob Bornecrantz [Fri, 11 Jan 2008 16:33:00 +0000 (17:33 +0100)]
Fix for X axis panning problem
Jakob Bornecrantz [Fri, 11 Jan 2008 16:13:48 +0000 (17:13 +0100)]
Panning now works without modeset
Jakob Bornecrantz [Fri, 11 Jan 2008 03:23:32 +0000 (04:23 +0100)]
Updated the modedemo test
Jakob Bornecrantz [Fri, 11 Jan 2008 01:55:00 +0000 (02:55 +0100)]
Added fixed misc framebuffer problems
Ben Skeggs [Fri, 11 Jan 2008 01:51:08 +0000 (12:51 +1100)]
nv05: enable ctx/op methods, and ignore patch valid failures.
Yes, I'm quite aware "real" nv04 doesn't support this, hopefully the GPU
will just ignore those PGRAPH_DEBUG_3 bits on that hw.
Jakob Bornecrantz [Thu, 10 Jan 2008 04:03:13 +0000 (05:03 +0100)]
Updated test mode and added modedemo
Dave Airlie [Wed, 9 Jan 2008 07:11:17 +0000 (18:11 +1100)]
fixup crtcinfo on modes from userspace
Dave Airlie [Wed, 9 Jan 2008 07:11:04 +0000 (18:11 +1100)]
add control node open
Dave Airlie [Wed, 9 Jan 2008 05:44:31 +0000 (16:44 +1100)]
add internals for opening a control node
Dave Airlie [Wed, 9 Jan 2008 05:43:51 +0000 (16:43 +1100)]
allow control getversion
Dave Airlie [Wed, 9 Jan 2008 05:31:37 +0000 (16:31 +1100)]
add control ioctls
Dave Airlie [Wed, 9 Jan 2008 05:21:56 +0000 (16:21 +1100)]
drm: only call suspend/resume on control node
Stuart Bennett [Mon, 7 Jan 2008 17:38:18 +0000 (17:38 +0000)]
nouveau: AGP reset correction - don't touch FW bit
Ben Skeggs [Mon, 7 Jan 2008 07:56:44 +0000 (18:56 +1100)]
nv50: more small changes
Ben Skeggs [Mon, 7 Jan 2008 07:18:51 +0000 (18:18 +1100)]
nv50: oops, lost some state saving along the way somewhere.
xf86-video-nv will now work again after nouveau.
Ben Skeggs [Mon, 7 Jan 2008 06:23:31 +0000 (17:23 +1100)]
nv50: hook up timer funcs...
Ben Skeggs [Mon, 7 Jan 2008 06:10:36 +0000 (17:10 +1100)]
nv50: abort on chips without ctx ucode
Ben Skeggs [Mon, 7 Jan 2008 06:07:59 +0000 (17:07 +1100)]
nv50: some needed ctx vals
Ben Skeggs [Mon, 7 Jan 2008 05:55:20 +0000 (16:55 +1100)]
nv50: use dummy page in gart tables
Just to be safe, we don't really know exactly how the tables work yet, so
we can't be certain there's a way to say "page not present".
Ben Skeggs [Mon, 7 Jan 2008 05:52:47 +0000 (16:52 +1100)]
nv50: some cleanups + small changes
Stephane Marchesin [Mon, 7 Jan 2008 05:11:33 +0000 (06:11 +0100)]
Nouveau: ppc oops.
Stephane Marchesin [Mon, 7 Jan 2008 04:54:05 +0000 (05:54 +0100)]
Nouveau: move PPC bios copy to firstopen.
Jeremy Kolb [Sun, 6 Jan 2008 15:09:47 +0000 (10:09 -0500)]
nouveau: Add ctx_voodoo for NV86
Pekka Paalanen [Fri, 4 Jan 2008 21:47:57 +0000 (23:47 +0200)]
drm: One forgotten rename of 'mask' to 'proposed_flags'.
Due to commit
d1187641d64f442968a3b9ea6a19de6cdd45acd4.
Dave Airlie [Fri, 4 Jan 2008 06:49:40 +0000 (17:49 +1100)]
drm: add initial support for a drm control device node
Dave Airlie [Fri, 4 Jan 2008 06:48:42 +0000 (17:48 +1100)]
crtc: fixup allocation size
Xavier Bachelot [Fri, 4 Jan 2008 06:29:04 +0000 (16:29 +1000)]
via: add P4M900 pci id.
bug 12108
Dave Airlie [Fri, 4 Jan 2008 05:12:24 +0000 (16:12 +1100)]
drm: move drm_head to drm_minor and fix up users
Stuart Bennett [Thu, 3 Jan 2008 16:57:55 +0000 (16:57 +0000)]
[PATCH] nouveau: reset AGP on init for < nv40
This is necessary for AGP to work after running bios init scripts on nv3x, and
is seen in mmio traces of all cards (nv04-nv4x)
I'm not making the equivalent change to nv40_mc.c, as early cards (6200, 6800gt)
use the 0x000018XX PBUS and later cards use the 0x000880XX PBUS and I don't know
the effects of using the wrong one
Stuart Bennett [Thu, 27 Dec 2007 01:10:52 +0000 (01:10 +0000)]
[PATCH] nouveau: Fix nv20/30 context loading
Don't set the context as valid until it has been loaded
Dave Airlie [Thu, 3 Jan 2008 07:44:04 +0000 (17:44 +1000)]
mach64: some more minor cleanups
Dave Airlie [Thu, 3 Jan 2008 07:10:30 +0000 (17:10 +1000)]
mach64: cleanup some of the macro formatting
Márton Németh [Thu, 3 Jan 2008 06:56:04 +0000 (16:56 +1000)]
drm: cleanup DRM_DEBUG() parameters
As DRM_DEBUG macro already prints out the __FUNCTION__ string (see
drivers/char/drm/drmP.h), it is not worth doing this again. At some
other places the ending "\n" was added.
airlied:- I cleaned up a few that this patch missed also
Dave Airlie [Thu, 3 Jan 2008 06:05:13 +0000 (16:05 +1000)]
Merge branch 'r500-support'
Dave Airlie [Thu, 3 Jan 2008 06:03:05 +0000 (16:03 +1000)]
remove duplicate pciids
Xiang, Haihao [Wed, 26 Dec 2007 09:13:58 +0000 (17:13 +0800)]
i915: return fence argument from i915_execbuffer ioctl32 routine
Xiang, Haihao [Tue, 25 Dec 2007 08:57:14 +0000 (16:57 +0800)]
i915: i915_execbuffer ioctl32 routine, fix #13732
Keith Packard [Mon, 17 Dec 2007 06:00:45 +0000 (22:00 -0800)]
Change drm_bo_type_dc to drm_bo_type_device and comment usage of this value.
I couldn't figure out what drm_bo_type_dc was for; Dave Airlie finally clued
me in that it was the 'normal' buffer objects with kernel allocated pages
that could be mmapped from the drm device file.
I thought that 'drm_bo_type_device' was a more descriptive name.
I also added a bunch of comments describing the use of the type enum values and
the functions that use them.
Keith Packard [Mon, 17 Dec 2007 04:16:50 +0000 (20:16 -0800)]
Rename inappropriately named 'mask' fields to 'proposed_flags' instead.
Flags pending validation were stored in a misleadingly named field, 'mask'.
As 'mask' is already used to indicate pieces of a flags field which are
changing, it seems better to use a name reflecting the actual purpose of
this field. I chose 'proposed_flags' as they may not actually end up in
'flags', and in an case will be modified when they are moved over.
This affects the API, but not ABI of the user-mode interface.
Keith Packard [Sun, 16 Dec 2007 09:47:51 +0000 (01:47 -0800)]
Use dummy_read_page for unpopulated kernel-allocated ttm pages.
Previously, dummy_read_page was used only for read-only user allocations; it
filled in pages that were not present in the user address map (presumably,
these were allocated but never written to pages).
This patch allows them to be used for read-only ttms allocated from the
kernel, so that applications can over-allocate buffers without forcing every
page to be allocated.
Keith Packard [Sun, 16 Dec 2007 09:12:07 +0000 (01:12 -0800)]
Move dummy_read_page from drm_ttm_set_user to drm_ttm_create.
I'm hoping to use the dummy_read_page for kernel allocated buffers to avoid
allocating extra pages for read-only buffers (like vertex and batch buffers).
This also eliminates the 'write' parameter to drm_ttm_set_user and just
has DRM_TTM_PAGE_WRITE passed into drm_ttm_create.