Alan Hourihane [Wed, 12 Mar 2008 10:18:33 +0000 (10:18 +0000)]
Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into modesetting-101
Conflicts:
shared-core/i915_dma.c
shared-core/i915_drv.h
shared-core/i915_irq.c
Alan Hourihane [Wed, 12 Mar 2008 09:47:52 +0000 (09:47 +0000)]
Add sample code to test hotplug events
Thomas Hellstrom [Wed, 12 Mar 2008 09:36:40 +0000 (10:36 +0100)]
Bug # 14712
Disable page saving for GPU read-only TTMs.
Thomas Hellstrom [Wed, 12 Mar 2008 09:19:36 +0000 (10:19 +0100)]
Dont allow !sysadmin clients to alter the memory type of
NO_EVICT buffers.
Alan Hourihane [Thu, 17 Jan 2008 13:04:42 +0000 (13:04 +0000)]
Fix for debug memory routines
Alan Hourihane [Thu, 17 Jan 2008 13:04:23 +0000 (13:04 +0000)]
Add error message
Thomas Hellstrom [Thu, 17 Jan 2008 12:10:36 +0000 (13:10 +0100)]
Add an emergency pinnable memory quota for root-only processes.
Thomas Hellstrom [Wed, 12 Mar 2008 09:07:56 +0000 (10:07 +0100)]
Fix kernel crash when we hit OOM conditions.
(Alan Hourihane)
Thomas Hellstrom [Wed, 12 Mar 2008 09:02:09 +0000 (10:02 +0100)]
Avoid duplicate calls to drm_ttm_bind in some cases.
Thomas Hellstrom [Wed, 12 Mar 2008 08:56:06 +0000 (09:56 +0100)]
Make sure other TTM memory types than TT is really unbound when evicted.
Thomas Hellstrom [Thu, 28 Feb 2008 08:08:52 +0000 (09:08 +0100)]
Avoid large kmallocs.
Dave Airlie [Wed, 12 Mar 2008 04:48:01 +0000 (14:48 +1000)]
drm: fix fd closing ordering.
If the master fd goes away before the aiglx fd, we try and get a lock
that actually doesn't exist.
Alan Hourihane [Tue, 11 Mar 2008 21:24:29 +0000 (21:24 +0000)]
global hotplug events happen in the pipe A stat register,
they are not pipe A specific. Remove pipe B code.
Alan Hourihane [Tue, 11 Mar 2008 20:29:37 +0000 (20:29 +0000)]
Add support for monitor hotplug signals/waits
Also adjust i915 irq handling as it follows the 16bit'ism's
of the i8xx series.
Stuart Bennett [Tue, 11 Mar 2008 00:33:58 +0000 (00:33 +0000)]
nouveau: move AGP reset to mem_init_agp
Also, power cycle PGRAPH when resetting AGP -- it seems to fix problems encountered by p0g on nv25
Dave Airlie [Tue, 11 Mar 2008 06:05:26 +0000 (16:05 +1000)]
drm: fix oops on unload.
if we are unloading the module, there is no master so therefore no lock
Dave Airlie [Tue, 11 Mar 2008 01:49:27 +0000 (11:49 +1000)]
drm: hopefully fix cursors on 965
Jerome Glisse [Mon, 10 Mar 2008 22:36:27 +0000 (23:36 +0100)]
Merge branch 'modesetting-101' of ssh://git.freedesktop.org/git/mesa/drm into modesetting-101
Jerome Glisse [Mon, 10 Mar 2008 22:35:07 +0000 (23:35 +0100)]
rradeon_ms: rework fence code and bring radeon ms up to date
Dave Airlie [Mon, 10 Mar 2008 08:30:17 +0000 (18:30 +1000)]
remove unneeded load call
Keith Packard [Thu, 24 Jan 2008 19:46:45 +0000 (11:46 -0800)]
Switch from PIPE_VBLANK to PIPE_EVENT interrupts.
My 965GM gets interrupts stuck when using the old PIPE_VBLANK interrupt.
Switch to the PIPE_EVENT interrupt mechanism, and set the PIPE*STAT
registers to use START_VBLANK on 965 and VBLANK on previous chips.
Dave Airlie [Fri, 7 Mar 2008 22:30:03 +0000 (08:30 +1000)]
drm/radeon: check sarea_priv exists
Dave Airlie [Fri, 7 Mar 2008 06:09:51 +0000 (17:09 +1100)]
drm: we already worked out the pitch. multiplying by 4 is just madness..
Ben Skeggs [Fri, 7 Mar 2008 04:08:59 +0000 (15:08 +1100)]
nouveau: redo channel idle detection
Will hopefully work a bit better than previous code, which depended on
knowing the channel's most recent PUT value. Some chips always return
0 on reading these regs, and currently userspace is the only other entity
which knows the value.
Ben Skeggs [Fri, 7 Mar 2008 03:38:05 +0000 (14:38 +1100)]
nouveau: don't touch NV_USER regs on channel destroy.
Not only was this entirely pointless, it actually causes my NV30GL to
die randomly when channels are destroyed.
Dave Airlie [Fri, 7 Mar 2008 02:03:42 +0000 (13:03 +1100)]
make startup of Xorg smoother if the mode doesn't change.
just flip the framebuffer in when required.
Dave Airlie [Fri, 7 Mar 2008 02:03:32 +0000 (13:03 +1100)]
actually turn the irq off
Dave Airlie [Fri, 7 Mar 2008 01:25:26 +0000 (12:25 +1100)]
worst merge effort ever
Dave Airlie [Fri, 7 Mar 2008 01:15:38 +0000 (12:15 +1100)]
drm/modesetting: fixup irq removal on exit
Dave Airlie [Fri, 7 Mar 2008 00:59:21 +0000 (11:59 +1100)]
Merge branch 'master' of ../../drm into modesetting-101
Dave Airlie [Thu, 6 Mar 2008 23:29:35 +0000 (09:29 +1000)]
flush_agp_mappings commit
Dave Airlie [Thu, 6 Mar 2008 22:58:24 +0000 (08:58 +1000)]
I really screwed up that merge somehow
Dave Airlie [Thu, 6 Mar 2008 22:56:20 +0000 (08:56 +1000)]
drm: fixup for new sysfs API
Dave Airlie [Thu, 6 Mar 2008 22:49:27 +0000 (08:49 +1000)]
woah somehow got these upstream
Dave Airlie [Thu, 6 Mar 2008 04:43:23 +0000 (14:43 +1000)]
drm/bo: allow non-suser priv to add kernel BOs.
modprobe can be run with dropped capabilities we still want the kernel bos
to work.
Alan Hourihane [Wed, 5 Mar 2008 10:33:57 +0000 (10:33 +0000)]
build fix
Alan Hourihane [Wed, 5 Mar 2008 10:33:16 +0000 (10:33 +0000)]
Add property info.
fix bo handle
Alan Hourihane [Tue, 4 Mar 2008 17:53:04 +0000 (17:53 +0000)]
Check mode before adding to EDID
Alan Hourihane [Tue, 4 Mar 2008 17:52:37 +0000 (17:52 +0000)]
Use ARRAY_SIZE
Alan Hourihane [Tue, 4 Mar 2008 17:51:56 +0000 (17:51 +0000)]
propogate failed fixups back up
Alan Hourihane [Tue, 4 Mar 2008 17:50:59 +0000 (17:50 +0000)]
Fix connector description table
Dave Airlie [Wed, 5 Mar 2008 19:39:07 +0000 (05:39 +1000)]
Merge branch 'master' of ../../drm into modesetting-101
Conflicts:
shared-core/drm.h
Dave Airlie [Mon, 18 Feb 2008 00:39:21 +0000 (10:39 +1000)]
ttm: make sure userspace can't destroy kernel create memory managers
this adds something to say the kernel initialised the memory region not
the userspace. and blocks userspace from deallocating kernel areas
Dave Airlie [Wed, 20 Feb 2008 03:27:10 +0000 (13:27 +1000)]
drm/ttm: add ioctl to get back memory managed area sized
taken from modesetting branch but could be useful outside it.
Dave Airlie [Wed, 5 Mar 2008 19:26:23 +0000 (05:26 +1000)]
Merge branch 'master' of ../../drm into modesetting-101
Conflicts:
linux-core/drmP.h
linux-core/drm_drv.c
linux-core/drm_proc.c
linux-core/drm_stub.c
linux-core/drm_sysfs.c
Dave Airlie [Wed, 5 Mar 2008 19:21:50 +0000 (05:21 +1000)]
drm: reorganise minor number handling using code from modesetting branch
Rip out the whole head thing and replace it with an idr and drm_minor
structure.
Benjamin Herrenschmidt [Wed, 5 Mar 2008 09:25:03 +0000 (19:25 +1000)]
drm: Fix for non-coherent DMA PowerPC
This patch fixes bits of the DRM so to make the radeon DRI work on
non-cache coherent PCI DMA variants of the PowerPC processors.
It moves the few places that needs change to wrappers to that
other architectures with similar issues can easily add their
own changes to those wrappers, at least until we have more useful
generic kernel API.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Xiang, Haihao [Wed, 5 Mar 2008 07:08:46 +0000 (15:08 +0800)]
i915: Evict if relocatee buffer is CACHED_MAPPED before
writting relocations, otherwise the GPU probably sees some
inconsistent data. Fix fd.o bug#14656
Dave Airlie [Wed, 5 Mar 2008 05:28:59 +0000 (15:28 +1000)]
fixup previous merge
Dave Airlie [Wed, 5 Mar 2008 05:28:38 +0000 (15:28 +1000)]
drm: fixup compat with old x.org drivers
Dave Airlie [Wed, 5 Mar 2008 00:41:54 +0000 (10:41 +1000)]
libdrm: fix warnings in mode code
Dave Airlie [Wed, 5 Mar 2008 00:37:02 +0000 (10:37 +1000)]
Merge remote branch 'origin/master' into modesetting-101
Conflicts:
linux-core/drm_compat.c
Dave Airlie [Wed, 5 Mar 2008 00:31:43 +0000 (10:31 +1000)]
remove unused functions + include header file
Eric Anholt [Tue, 4 Mar 2008 21:45:41 +0000 (13:45 -0800)]
Clarify when WAIT_LAZY is relevant to users.
Eric Anholt [Thu, 31 Jan 2008 03:02:56 +0000 (19:02 -0800)]
Remove unused DRM_FENCE_FLAG_WAIT_IGNORE_SIGNALS.
Eric Anholt [Tue, 4 Mar 2008 21:35:23 +0000 (13:35 -0800)]
Clarify through the names what drm_ttm_alloc_pages() and friend actually did.
These are all about the page directory (pointers to pages) rather than the
actual pages backing the allocation.
Eric Anholt [Tue, 4 Mar 2008 20:16:51 +0000 (12:16 -0800)]
Don't shortcut the info syscall for drmBOBusy on nonshareable objects.
This broke the results when you're trying to check if a buffer you dispatched
some time ago is done being rendered from.
Zou Nan hai [Mon, 3 Mar 2008 06:49:49 +0000 (14:49 +0800)]
[i915] 2D driver may reset Frame count value, this may lead driver
to leap it's vblank count a huge value.
This will stall some applications that switch video mode if vblank_mode is set to a non zero value in drirc.
Alan Hourihane [Sun, 2 Mar 2008 21:48:40 +0000 (21:48 +0000)]
Add FENCE registers to MMIO list
Patrice Mandin [Fri, 29 Feb 2008 20:57:40 +0000 (21:57 +0100)]
FIX_KMAP_BEGIN requires CONFIG_HIMEM (see include/asm-i386.h/fixmap.h)
Thomas Hellstrom [Fri, 29 Feb 2008 12:31:14 +0000 (13:31 +0100)]
Fix compilation breakage on x86-64.
Dave Airlie [Fri, 29 Feb 2008 04:07:29 +0000 (14:07 +1000)]
drm: change fb api to take a bo handle not the bo pointer.
Dave Airlie [Fri, 29 Feb 2008 00:16:24 +0000 (10:16 +1000)]
agp: export the correct symbol
Thomas Hellstrom [Thu, 28 Feb 2008 12:47:15 +0000 (13:47 +0100)]
Add a compat kmap_atomic_prot_pfn to do quick kernel map / unmaps of
PCI- or high memory.
This is substantially more efficient than drm_bo_kmap,
since the mapping only lives on a single processor.
Unmapping is done use kunmap_atomic(). Flushes only a single tlb() entry.
Add a support utility int drm_bo_pfn_prot() that returns the
pfn and desired page protection for a given bo offset.
This is all intended for relocations in bound TTMS or vram.
Mapping-accessing-unmapping must be atomic, either using preempt_xx() macros
or a spinlock.
Dave Airlie [Thu, 28 Feb 2008 06:24:17 +0000 (16:24 +1000)]
drm: add modesetting as a driver feature.
This change adds a driver feature that for i915 is controlled by a module
parameter. You now need to do insmod i915.ko modeset=1 to enable it the
modesetting paths.
It also fixes up lots of X paths. I can run my new DDX driver on this code
with and without modesetting enabled
Dave Airlie [Thu, 28 Feb 2008 02:59:39 +0000 (12:59 +1000)]
drm: add a check for if modesetting is supported.
This is Linux only code, it just uses sysfs to see if a control
device has been registered on the requested PCI ID
Thomas Hellstrom [Wed, 27 Feb 2008 20:44:40 +0000 (21:44 +0100)]
Reinstate buffer idle before applying relocations.
Thomas Hellstrom [Wed, 27 Feb 2008 18:46:28 +0000 (19:46 +0100)]
Don't wait for buffer idle before applying relocations.
Jerome Glisse [Tue, 26 Feb 2008 22:30:45 +0000 (23:30 +0100)]
radeon: remove TTM from an earlier merge
Alan Hourihane [Tue, 26 Feb 2008 15:42:41 +0000 (15:42 +0000)]
Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into modesetting-101
Conflicts:
shared-core/i915_dma.c
Alan Hourihane [Tue, 26 Feb 2008 15:21:44 +0000 (15:21 +0000)]
DRM_INFO -> DRM_DEBUG
Alan Hourihane [Tue, 26 Feb 2008 15:20:59 +0000 (15:20 +0000)]
DRM_INFO -> DRM_DEBUG
Alan Hourihane [Tue, 26 Feb 2008 15:20:29 +0000 (15:20 +0000)]
define PRETHAW
Alan Hourihane [Fri, 22 Feb 2008 11:46:22 +0000 (11:46 +0000)]
Implement short circuit for base change only
Allow mode to be set with fb_id set to -1, meaning set
the mode with the current fb (if we have one bound).
Allow intelfb to hook back up it's fb if modesetting
clears it (maybe temporary).
Move any crtc->fb related register changes to set_base
in intel_fb.
General intelfb cleanups.
Thomas Hellstrom [Tue, 26 Feb 2008 09:47:05 +0000 (10:47 +0100)]
[i915] Relocation fixes.
Dave Airlie [Tue, 26 Feb 2008 06:19:54 +0000 (16:19 +1000)]
i915: fix typos
Dave Airlie [Tue, 26 Feb 2008 06:11:39 +0000 (16:11 +1000)]
i915_mmio: add overlay regs
Dave Airlie [Tue, 26 Feb 2008 06:11:03 +0000 (17:11 +1100)]
drm: fix pick crtcs mode selection code
Thomas Hellstrom [Mon, 25 Feb 2008 23:01:09 +0000 (00:01 +0100)]
Make the execbuffer code reasonably safe against errors.
In particular -EAGAINs, which should be common during Xserver operation.
Also handle the fence creation failure case.
Roland Scheidegger [Sat, 23 Feb 2008 10:01:36 +0000 (11:01 +0100)]
fix texture uploads with large 3d textures (bug 13980)
Texture uploads could hit the blitter coordinate limit, adjust the texture
offset when uploading the pieces. Make sure to check the end address of the
upload too.
Jesse Barnes [Fri, 22 Feb 2008 21:57:38 +0000 (13:57 -0800)]
i915: put ARX back into index mode before doing restore
Fixes resume from hibernate in some configurations.
Maarten Maathuis [Fri, 22 Feb 2008 12:41:05 +0000 (13:41 +0100)]
nouveau: Remove some random (french) comment.
Maarten Maathuis [Fri, 22 Feb 2008 12:35:13 +0000 (13:35 +0100)]
nouveau: A single define of dma skips is more than enough.
Kristian Høgsberg [Fri, 22 Feb 2008 16:22:52 +0000 (11:22 -0500)]
Fix one last occurance of struct _drm_i915_batchbuffer.
Thanks to Todd Merrill for pointing it out.
Alan Hourihane [Fri, 22 Feb 2008 11:38:08 +0000 (11:38 +0000)]
silence warning
Kristian Høgsberg [Fri, 22 Feb 2008 05:12:39 +0000 (00:12 -0500)]
i915: Remove leading underscore from struct tags.
This matches the changes in mesa to use the system drm includes
for the definitions of the drm ioctl structs.
Dave Airlie [Thu, 21 Feb 2008 05:58:56 +0000 (15:58 +1000)]
modesetting: fix memory leak and misallocation
Dave Airlie [Wed, 20 Feb 2008 03:27:10 +0000 (13:27 +1000)]
add ioctl to get back memory managed area sized - used for kernel inited areas
Dave Airlie [Wed, 20 Feb 2008 03:26:40 +0000 (13:26 +1000)]
hopefully shit works now without this...
Alan Hourihane [Thu, 21 Feb 2008 23:56:27 +0000 (23:56 +0000)]
Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into modesetting-101
Kristian Høgsberg [Thu, 21 Feb 2008 20:31:48 +0000 (15:31 -0500)]
Don't free irq resources until after we've unregistered the handler.
Alan Hourihane [Thu, 21 Feb 2008 11:37:07 +0000 (11:37 +0000)]
Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into modesetting-101
Conflicts:
linux-core/drm_sysfs.c
Michel Dänzer [Thu, 21 Feb 2008 10:49:38 +0000 (11:49 +0100)]
linux: Clean up vblank related resources from drm_irq_uninstall().
This fixes at least two problems:
* The vblank_disable_fn timer callback could get called after the DRM was
de-initialized, e.g. on X server shutdown.
* Leak of vblank related resources when disabling and re-enabling the IRQ, e.g.
on an X server reset.
Alan Hourihane [Wed, 20 Feb 2008 22:22:49 +0000 (22:22 +0000)]
fix SAREA
Alan Hourihane [Wed, 20 Feb 2008 22:22:49 +0000 (22:22 +0000)]
fix SAREA
Alan Hourihane [Wed, 20 Feb 2008 19:54:36 +0000 (19:54 +0000)]
minor test fixes
Alan Hourihane [Tue, 19 Feb 2008 15:32:00 +0000 (15:32 +0000)]
compatibility code for pci_get_bus_and_slot()
Dave Airlie [Wed, 20 Feb 2008 01:44:10 +0000 (11:44 +1000)]
remove more offset
Dave Airlie [Wed, 20 Feb 2008 00:51:19 +0000 (10:51 +1000)]
drm/fb: get rid of offset from structure use bo offset
Dave Airlie [Mon, 18 Feb 2008 00:39:21 +0000 (10:39 +1000)]
ttm: make sure userspace can't destroy kernel create memory managers