Jesse Barnes [Sat, 16 Aug 2008 19:09:24 +0000 (12:09 -0700)]
i915: finish removing TTM bits
Makes it build again.
Jesse Barnes [Sat, 16 Aug 2008 18:45:53 +0000 (11:45 -0700)]
Merge branch 'modesetting-gem' of ssh://git.freedesktop.org/git/mesa/drm into modesetting-gem
Jesse Barnes [Sat, 16 Aug 2008 18:35:10 +0000 (11:35 -0700)]
i915: set domain properly on fb mapping, flush out changes
The user visible ioctl does this, but since we call into GEM internals
directly, we have to flush things ourselves. Fixes initial fb console
corruption.
Dave Airlie [Thu, 14 Aug 2008 23:56:42 +0000 (09:56 +1000)]
radeon: reserve 64k of VRAM for now for text mode so we don't trample it
need to revisit this later I'm sure
Dave Airlie [Thu, 14 Aug 2008 23:42:06 +0000 (09:42 +1000)]
radeon: fix LVDS modes problem
Dave Airlie [Thu, 14 Aug 2008 04:43:51 +0000 (14:43 +1000)]
radeon: add support for memory map init
Dave Airlie [Thu, 14 Aug 2008 04:41:15 +0000 (14:41 +1000)]
radeon: add copy/solid regs for rn50
Jesse Barnes [Wed, 13 Aug 2008 23:57:42 +0000 (16:57 -0700)]
i915: update cursor handling to use GEM objects
Dave Airlie [Wed, 13 Aug 2008 23:43:23 +0000 (09:43 +1000)]
i915: fixup from last merge hopefully
Dave Airlie [Wed, 13 Aug 2008 23:36:34 +0000 (09:36 +1000)]
Merge branch 'radeon-gem-cs' into modesetting-gem
Conflicts:
libdrm/xf86drm.c
linux-core/Makefile.kernel
linux-core/drmP.h
linux-core/drm_compat.h
linux-core/drm_drv.c
linux-core/drm_stub.c
linux-core/drm_vm.c
shared-core/i915_dma.c
shared-core/r300_cmdbuf.c
shared-core/radeon_drv.h
Alex Deucher [Wed, 13 Aug 2008 00:18:07 +0000 (20:18 -0400)]
Add com bios asic init bits
Alex Deucher [Tue, 12 Aug 2008 22:13:21 +0000 (18:13 -0400)]
Fill in and make use of more com bios tables on legacy chips
Alex Deucher [Tue, 12 Aug 2008 19:33:20 +0000 (15:33 -0400)]
Add additional quirks from ddx
Alex Deucher [Tue, 12 Aug 2008 18:07:33 +0000 (14:07 -0400)]
Fix warnings
Alex Deucher [Tue, 12 Aug 2008 17:52:35 +0000 (13:52 -0400)]
Get legacy working finally
- extra ~ in RADEON_WRITE_P()
- re-arrange crtc setup a bit
- add debugging for tracing calls
- fix pitch calculation
Alex Deucher [Tue, 12 Aug 2008 07:05:11 +0000 (03:05 -0400)]
set base in legacy crtc mode set
Alex Deucher [Tue, 12 Aug 2008 06:11:44 +0000 (02:11 -0400)]
Convert COM BIOS to table offset lookup function
Alex Deucher [Mon, 11 Aug 2008 22:37:16 +0000 (18:37 -0400)]
Restructure cursor handling and add support for legacy cursors
Alex Deucher [Mon, 11 Aug 2008 21:02:18 +0000 (17:02 -0400)]
atom: implement crtc lock
Alex Deucher [Mon, 11 Aug 2008 20:29:19 +0000 (16:29 -0400)]
LUT updates
- Add gamma set for legacy chips
- Add 16 bpp gamma set
Alex Deucher [Mon, 11 Aug 2008 20:15:21 +0000 (16:15 -0400)]
various cleanups
- white space
- move i2c_lock to radeon_i2c.c
- enable tv dac on legacy
Alex Deucher [Mon, 11 Aug 2008 18:41:13 +0000 (14:41 -0400)]
Add legacy dac detect stubs
Alex Deucher [Mon, 11 Aug 2008 18:26:43 +0000 (14:26 -0400)]
unify connector, i2c handling for atom and legacy
Alex Deucher [Mon, 11 Aug 2008 16:29:42 +0000 (12:29 -0400)]
Brute force port of legacy crtc/encoder code
- removed save/init/restore chain with set functions
Alex Deucher [Fri, 8 Aug 2008 23:36:46 +0000 (19:36 -0400)]
on_each_cpu() compat fixup from krh
Dave Airlie [Wed, 13 Aug 2008 23:17:43 +0000 (09:17 +1000)]
radeon: fix kernel_mm properly
Dave Airlie [Wed, 13 Aug 2008 23:15:28 +0000 (09:15 +1000)]
radeon: FEDORA: patch to make 3D driver work
set gart buffers start
Dave Airlie [Wed, 13 Aug 2008 23:14:56 +0000 (09:14 +1000)]
radeon: remove debugging
Dave Airlie [Wed, 13 Aug 2008 23:14:14 +0000 (09:14 +1000)]
radeon: use mm_enabled variable to denote memory manager running
Dave Airlie [Wed, 13 Aug 2008 23:12:36 +0000 (09:12 +1000)]
radeon: make buffer swap for older drivers work again on GEM
Dave Airlie [Wed, 13 Aug 2008 23:11:15 +0000 (09:11 +1000)]
radeon: add userspace call for mm support check
Dave Airlie [Wed, 13 Aug 2008 23:10:11 +0000 (09:10 +1000)]
radeon: FEDORA: add old DMA buffers on top of GEM
This really shouldn't go upstream, it just lets me
run the old 3D driver on GEM setup system
Jesse Barnes [Wed, 13 Aug 2008 18:39:22 +0000 (11:39 -0700)]
i915: setup hardware status page if physical addrs are required
Needed for the modesetting case where we initialize the ring at load time.
Jesse Barnes [Wed, 13 Aug 2008 17:09:41 +0000 (10:09 -0700)]
Merge branch 'modesetting-101' into modesetting-gem
Jesse Barnes [Wed, 13 Aug 2008 17:08:02 +0000 (10:08 -0700)]
Merge branch 'master' into modesetting-gem
Conflicts:
libdrm/Makefile.am
libdrm/xf86drm.h
shared-core/i915_dma.c
shared-core/i915_irq.c
Kristian Høgsberg [Wed, 13 Aug 2008 02:22:15 +0000 (22:22 -0400)]
[intel_bufmgr_gem] Fix flink buffer name caching (#17085, #17092).
Store the global name in global_name, don't overwrite the gem_handle.
Jesse Barnes [Wed, 13 Aug 2008 01:23:58 +0000 (18:23 -0700)]
Add error checking to framebuffer creation
Make the Intel routine return an error if needed and make the core check for
it.
Jesse Barnes [Wed, 13 Aug 2008 01:22:34 +0000 (18:22 -0700)]
Export a generic dri_bo handle for use by clients
We'll need something like this (either a handle field or a dri_bo_get_handle
function) for kernel mode setting to get at the handles.
Matthieu Herrb [Mon, 11 Aug 2008 17:44:39 +0000 (10:44 -0700)]
libdrm: Allow build outside of source tree.
Dave Airlie [Mon, 11 Aug 2008 00:58:41 +0000 (10:58 +1000)]
drm_vm: fix for build on 2.6.22
thanks to malc0 for pointing it out
Dave Airlie [Mon, 11 Aug 2008 00:47:00 +0000 (10:47 +1000)]
drm: add OS_HAS_GEM option.
To build i915 driver pass OS_HAS_GEM=1 to make for now
Maarten Maathuis [Sat, 9 Aug 2008 17:50:00 +0000 (19:50 +0200)]
NV50: minor changes
Maarten Maathuis [Sat, 9 Aug 2008 17:47:06 +0000 (19:47 +0200)]
NV50: enable hotplug irq
Maarten Maathuis [Sat, 9 Aug 2008 17:33:32 +0000 (19:33 +0200)]
NV50: call drm_sysfs_hotplug_event when appropriate
Dave Airlie [Sat, 9 Aug 2008 07:19:16 +0000 (17:19 +1000)]
drm: TRUE/true
Eric Anholt [Fri, 8 Aug 2008 22:55:34 +0000 (15:55 -0700)]
Drop TTM interfaces from the userland library.
Eric Anholt [Fri, 8 Aug 2008 21:08:43 +0000 (14:08 -0700)]
Fix compile warning from check_aperture change.
Eric Anholt [Fri, 8 Aug 2008 21:05:01 +0000 (14:05 -0700)]
Merge branch 'drm-gem'
Conflicts:
shared-core/i915_dma.c
This brings in kernel support and userland interface for intel GEM.
Eric Anholt [Fri, 8 Aug 2008 20:13:46 +0000 (13:13 -0700)]
Replace the check_aperture API with one we can make thread-safe.
While the bufmgr isn't thread-safe at the moment, we need it to be for shared
objects between contexts.
Stuart Bennett [Fri, 8 Aug 2008 15:20:52 +0000 (16:20 +0100)]
nouveau: wait for pgraph idle after loading or saving a context
the nvidia driver does this, and it stops the error message appearing on nv40
Dave Airlie [Fri, 8 Aug 2008 06:04:45 +0000 (16:04 +1000)]
radeon: add initial support for legacy crtc/encoders.
not all there yet
Jesse Barnes [Fri, 8 Aug 2008 00:15:50 +0000 (17:15 -0700)]
Make modesetting-gem build with recent kernels
Needed to merge in VM fault changes & pci_read_base API update.
Keith Packard [Thu, 7 Aug 2008 22:26:30 +0000 (15:26 -0700)]
Make flink save the kernel-assigned name and return it instead of creating another name
Jesse Barnes [Thu, 7 Aug 2008 21:02:04 +0000 (14:02 -0700)]
Merge branch 'drm-gem' into modesetting-gem
Keith Packard [Tue, 5 Aug 2008 06:33:03 +0000 (23:33 -0700)]
Switch from shmem_getpage to read_mapping_page
Dave Airlie [Wed, 6 Aug 2008 05:59:31 +0000 (15:59 +1000)]
radeon: fixup PCI GART table with GEM enabled
Dave Airlie [Wed, 6 Aug 2008 05:58:09 +0000 (15:58 +1000)]
radeon: just evict to TT not cached
Dave Airlie [Wed, 6 Aug 2008 05:57:38 +0000 (15:57 +1000)]
drm: don't teardown things in modeset paths
Dave Airlie [Wed, 6 Aug 2008 05:56:08 +0000 (15:56 +1000)]
pcigart: fixup memset + remove wbinvd
Dave Airlie [Wed, 6 Aug 2008 00:21:20 +0000 (10:21 +1000)]
radeon: fix setting new memmap in right place
Keith Packard [Tue, 5 Aug 2008 23:06:40 +0000 (16:06 -0700)]
[gem-intel] Retiring flush requests should clear flushed write_domains
When i915_gem_retire_request has a flush which matches an object write
domain, clear the write domain. This will move the object to the inactive
list rather than the flushing list, avoiding trouble with objects left stuck
on the flushing list.
Keith Packard [Tue, 5 Aug 2008 21:44:53 +0000 (14:44 -0700)]
[gem-intel] Don't clear write_domain until flush completes
In i915_gem_object_wait_rendering, if the object write domain is being
written by the GPU, the appropriate flushing commands are written to the
device and an additional request queued to mark that flush. Finally, the
function blocks on that new request.
The bug was that the write_domain in the object was cleared before the
function blocked.
If the wait is interrupted by a signal, the flushing commands may still be
pending. With the current write_domain information lost, the restarted
syscall will drop right through the write_domain test as that value was
lost, and so the function will not block at all. Oops.
Fixed by simply moving the write_domain clear until after the wait_request
succeeds. Note that the restarted system call will generate an additional
flush sequence and request, but that should be 'harmless', aside from a
slight performance impact.
Someday we'll track flushing more accurately and clear write_domains more
efficiently, but for now, this should suffice.
This bug was discovered in the 2d gem development by running x11perf
-copypixwin500 and noticing that the window got cleared accidentally.
Keith Packard [Mon, 4 Aug 2008 07:34:08 +0000 (00:34 -0700)]
Expose pin/unpin/set_tiling/flink APIs
Dave Airlie [Tue, 5 Aug 2008 01:36:20 +0000 (11:36 +1000)]
radeon: fix blit due to registers wrong
Dave Airlie [Mon, 4 Aug 2008 04:59:49 +0000 (14:59 +1000)]
drm: finish bo after lastclose
Dave Airlie [Mon, 4 Aug 2008 04:59:17 +0000 (14:59 +1000)]
radeon: add userspace mm enable switch
Dave Airlie [Mon, 4 Aug 2008 04:56:08 +0000 (14:56 +1000)]
radeon: don't use ring if cp not going
Dave Airlie [Mon, 4 Aug 2008 04:55:12 +0000 (14:55 +1000)]
drm: remove unused types
Dave Airlie [Mon, 4 Aug 2008 04:54:32 +0000 (14:54 +1000)]
drm: fixup master code to use krefs
Dave Airlie [Mon, 4 Aug 2008 04:53:45 +0000 (14:53 +1000)]
i915/radeon: use rmmap locked
Dave Airlie [Mon, 4 Aug 2008 04:53:14 +0000 (14:53 +1000)]
modesetting: pick_crtcs can't be static
Dave Airlie [Mon, 4 Aug 2008 04:52:58 +0000 (14:52 +1000)]
drm: remove unneeded debugging
Kristian Høgsberg [Fri, 1 Aug 2008 17:35:56 +0000 (13:35 -0400)]
Merge commit 'origin/drm-gem' into modesetting-gem
Conflicts:
linux-core/Makefile.kernel
linux-core/drmP.h
linux-core/drm_mm.c
linux-core/drm_stub.c
linux-core/i915_gem.c
linux-core/i915_opregion.c
shared-core/i915_dma.c
shared-core/i915_drv.h
shared-core/i915_irq.c
Dave Airlie [Thu, 31 Jul 2008 21:43:58 +0000 (07:43 +1000)]
Revert "i915: Move all of the irq install/uninstall to load time."
This reverts commit
965a72202b439068e62ac341990f51953457b202.
Please re-do over properly
Kristian Høgsberg [Thu, 31 Jul 2008 19:18:32 +0000 (15:18 -0400)]
Merge commit 'origin/master' into modesetting-gem
Conflicts:
linux-core/Makefile.kernel
linux-core/ati_pcigart.c
linux-core/drm_compat.h
linux-core/drm_irq.c
linux-core/drm_lock.c
linux-core/i915_drv.c
shared-core/i915_dma.c
shared-core/i915_drv.h
shared-core/i915_irq.c
shared-core/nouveau_mem.c
shared-core/radeon_cp.c
shared-core/radeon_drv.h
Dave Airlie [Thu, 31 Jul 2008 04:39:25 +0000 (14:39 +1000)]
drm: remove object hash
Dave Airlie [Thu, 31 Jul 2008 03:13:21 +0000 (13:13 +1000)]
drm: userspace rip out TTM API
Dave Airlie [Thu, 31 Jul 2008 03:12:36 +0000 (13:12 +1000)]
drm: add fault handler support so as to be more like possible upstream
Dave Airlie [Thu, 31 Jul 2008 03:12:36 +0000 (13:12 +1000)]
drm: add fault handler support so as to be more like possible upstream
(cherry picked from commit
10d5b037b85706037df89bf0275436797e4eb559)
Dave Airlie [Thu, 31 Jul 2008 02:54:48 +0000 (12:54 +1000)]
TTM: remove API and userspace objects.
This removes all the TTM userspace API and all userspace objects.
It also removes the drm_bo_lock.c code
Eric Anholt [Wed, 30 Jul 2008 21:10:36 +0000 (14:10 -0700)]
intel-gem: Replace version bump signalling GEM with I915_PARAM_HAS_GEM.
Kristian Høgsberg [Tue, 22 Jul 2008 18:24:32 +0000 (14:24 -0400)]
Make it compile again.
Eric Anholt [Wed, 30 Jul 2008 18:29:32 +0000 (11:29 -0700)]
intel-gem: Remove dead field from reverted changes.
Eric Anholt [Wed, 30 Jul 2008 18:22:48 +0000 (11:22 -0700)]
Revert "Rename drm_mm.c and its fuctions to drm_memrange."
This reverts commit
3ad8db2071d30c198403e605f2726fc5c3e46bfd.
We ended up not needing that namespace, and I'd rather not have the churn
for producing diffs.
Dave Airlie [Wed, 30 Jul 2008 07:06:11 +0000 (17:06 +1000)]
radeon: hack gem to get an offset back for Mesa.
Dave Airlie [Wed, 30 Jul 2008 07:05:50 +0000 (17:05 +1000)]
radeon: add some handles to the sarea + kernel mm available check
Dave Airlie [Wed, 30 Jul 2008 06:52:13 +0000 (16:52 +1000)]
i915: more version checks
Dave Airlie [Wed, 30 Jul 2008 06:26:51 +0000 (16:26 +1000)]
i915: add version checks for opregion on old kernels
Eric Anholt [Wed, 30 Jul 2008 03:26:38 +0000 (20:26 -0700)]
intel-gem: actually add i915_gem_debug.c.
Eric Anholt [Tue, 29 Jul 2008 18:10:47 +0000 (11:10 -0700)]
intel-gem: Check return value of pci_read_base.
Nicolai Haehnle [Tue, 29 Jul 2008 17:56:51 +0000 (19:56 +0200)]
r300: Fix cliprect emit
This makes our handling of cliprects sane. drm_clip_rect always has exclusive
bottom-right corners, but the hardware expects inclusive bottom-right corners,
so we adjust this here.
This complements Michel Daenzer's commit
57aea290e1e0a26d1e74df6cff777eb9f038f1f8
to Mesa. See also http://bugs.freedesktop.org/show_bug.cgi?id=16123 .
Dave Airlie [Tue, 29 Jul 2008 08:05:11 +0000 (18:05 +1000)]
radeon: move code around putting emit into cs
Dave Airlie [Tue, 29 Jul 2008 06:51:47 +0000 (16:51 +1000)]
radeon_cs: add relocate hook for mm and non-mm relocations
Eric Anholt [Tue, 29 Jul 2008 06:14:11 +0000 (23:14 -0700)]
intel: Fix typo in unused register definition name.
Eric Anholt [Mon, 28 Jul 2008 23:33:50 +0000 (16:33 -0700)]
intel-gem: checkpatch.pl on drm_proc.c new contents.
Eric Anholt [Mon, 28 Jul 2008 22:17:21 +0000 (15:17 -0700)]
Merge commit 'origin/master' into drm-gem
Conflicts:
linux-core/Makefile.kernel
shared-core/i915_dma.c
shared-core/i915_drv.h
shared-core/i915_irq.c
Stuart Bennett [Tue, 29 Jul 2008 01:32:13 +0000 (02:32 +0100)]
nouveau: fix nv04 fifo context save to save reg contents, not reg offset
clearly the function had never been used :)
Stuart Bennett [Tue, 29 Jul 2008 01:26:34 +0000 (02:26 +0100)]
Eric Anholt [Mon, 28 Jul 2008 18:45:22 +0000 (11:45 -0700)]
intel-gem: Another checkpatch.pl pass.
Eric Anholt [Mon, 28 Jul 2008 18:24:00 +0000 (11:24 -0700)]
intel-gem: Fix regression tests.
Main fix is an oops that was triggered by the gtt pwrite path when we don't
have the gtt initialized. Also, settle on -EBADF for "bad object handle",
and -EINVAL for "reading/writing beyond object boundary".