OSDN Git Service
Dave Airlie [Thu, 18 Sep 2008 00:20:29 +0000 (10:20 +1000)]
[PATCH] radeon: fixup GEM domain setting - allows more userspace paths
also dirty buffer on validate
Dave Airlie [Thu, 18 Sep 2008 00:19:53 +0000 (10:19 +1000)]
[PATCH] radeon: disable blit moves
Dave Airlie [Thu, 18 Sep 2008 00:19:08 +0000 (10:19 +1000)]
radeon: fail properly if we can't create the ring.
Normally this will be due to an AGP driver needing updating
Dave Airlie [Thu, 18 Sep 2008 00:17:27 +0000 (10:17 +1000)]
radeon: do proper memory controller init and setup
Dave Airlie [Thu, 18 Sep 2008 00:16:41 +0000 (10:16 +1000)]
radeon: fix return value
Dave Airlie [Thu, 18 Sep 2008 00:16:09 +0000 (10:16 +1000)]
radeon: fixup reference counting properly
Dave Airlie [Thu, 18 Sep 2008 00:15:43 +0000 (10:15 +1000)]
radeon: sort out atom vs combios tables for r400 cards
Dave Airlie [Thu, 18 Sep 2008 00:14:32 +0000 (10:14 +1000)]
radeon: remove unneeded debugging
Dave Airlie [Thu, 18 Sep 2008 00:13:30 +0000 (10:13 +1000)]
radeon: don't do full edid for detection purposes
Dave Airlie [Thu, 18 Sep 2008 00:11:43 +0000 (10:11 +1000)]
make text reserve 256k
Dave Airlie [Thu, 18 Sep 2008 00:05:59 +0000 (10:05 +1000)]
radeon: add initial suspend/resume support
plus a bunch of fixes
Dave Airlie [Wed, 17 Sep 2008 23:59:08 +0000 (09:59 +1000)]
modesetting: Add helper to force restore modes on crtcs at resume time
Alex Deucher [Wed, 17 Sep 2008 22:16:25 +0000 (18:16 -0400)]
radeon: fix legacy LVDS
Dave Airlie [Sat, 6 Sep 2008 22:09:24 +0000 (08:09 +1000)]
radeon: change interface from headers add pin_domain into padding
Dave Airlie [Fri, 5 Sep 2008 00:56:18 +0000 (10:56 +1000)]
radeon: rs690 GART tables need to be in uncached memory.
Allocate the rs480/690 tables from uncached memory.
Dave Airlie [Thu, 4 Sep 2008 01:57:00 +0000 (11:57 +1000)]
radeon: fixup a number of avivo checks for rs690
Dave Airlie [Thu, 28 Aug 2008 21:18:53 +0000 (07:18 +1000)]
radeon: fixup LVDS mode getting
if we have no DDC we were oopsing. fix that.
then make a native panel mode
Dave Airlie [Thu, 28 Aug 2008 06:35:25 +0000 (16:35 +1000)]
radeon: get lvds atombios info
set the correct values from atombios makes LVDS work a lot better
Dave Airlie [Thu, 28 Aug 2008 06:18:09 +0000 (16:18 +1000)]
drm: port X crtc picking algorithm.
This mimics the X.org from ajax with less options
Dave Airlie [Thu, 28 Aug 2008 01:30:55 +0000 (11:30 +1000)]
radeon: limit LVDS to first CRTC for now
Dave Airlie [Thu, 28 Aug 2008 01:30:20 +0000 (11:30 +1000)]
radeon: fixup checks for crtc in dpms paths
Dave Airlie [Wed, 27 Aug 2008 03:41:53 +0000 (13:41 +1000)]
drm: fix some whitespace
Dave Airlie [Wed, 27 Aug 2008 02:35:11 +0000 (12:35 +1000)]
radeon: braino pointed out on mailing list
thanks to Ville Syrjälä
Dave Airlie [Wed, 27 Aug 2008 01:12:19 +0000 (11:12 +1000)]
radeon: avoid oops on encoders with no crtc set
Dave Airlie [Tue, 26 Aug 2008 07:44:47 +0000 (17:44 +1000)]
radeon/ttm: add support for zeroing the contents of VRAM buffers
This uses a solid fill fastpath, falling back to the slow memset path.
Dave Airlie [Tue, 26 Aug 2008 07:43:12 +0000 (17:43 +1000)]
drm: add move zero function to memset unclean buffers
Dave Airlie [Tue, 26 Aug 2008 07:42:36 +0000 (17:42 +1000)]
drm/ttm: export drm_bo_add_ttm
Dave Airlie [Tue, 26 Aug 2008 07:39:00 +0000 (17:39 +1000)]
radeon: fixup domains and use them properly
Dave Airlie [Tue, 26 Aug 2008 07:33:46 +0000 (17:33 +1000)]
drm: add memory clean flag.
When the mapping is clean this flag will be set. This can be used
by a driver to save migrating and allocating pages for an object
that will first be used in VRAM.
Dave Airlie [Thu, 21 Aug 2008 21:08:29 +0000 (07:08 +1000)]
drm: add gpu create script
Alex Deucher [Tue, 19 Aug 2008 17:08:47 +0000 (13:08 -0400)]
Merge branch 'modesetting-gem' of git+ssh://agd5f@git.freedesktop.org/git/mesa/drm into modesetting-gem
Alex Deucher [Tue, 19 Aug 2008 17:06:04 +0000 (13:06 -0400)]
radeon: fix warning from radeon_legacy_state removal
Alex Deucher [Tue, 19 Aug 2008 17:03:23 +0000 (13:03 -0400)]
radeon: legacy lvds updates
Dave Airlie [Mon, 18 Aug 2008 22:18:46 +0000 (08:18 +1000)]
radeon: oops set correct scratch
Alex Deucher [Sun, 17 Aug 2008 22:38:41 +0000 (18:38 -0400)]
radeon: first pass at legacy dac detect
- done: primary dac, vga on tvdac
- todo: ext dac, tv on tvdac
Alex Deucher [Sun, 17 Aug 2008 22:09:07 +0000 (18:09 -0400)]
radeon: first pass at bios scratch regs
- todo: updated connected status
Alex Deucher [Sun, 17 Aug 2008 19:38:05 +0000 (15:38 -0400)]
radeon: remove unused legacy state
Alex Deucher [Sun, 17 Aug 2008 19:33:31 +0000 (15:33 -0400)]
radeon: get primary dac adj info from bios tables
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.