Jesse Barnes [Wed, 3 Dec 2008 19:53:36 +0000 (11:53 -0800)]
Merge branch 'master' into modesetting-gem
Ben Skeggs [Sun, 23 Nov 2008 07:49:09 +0000 (18:49 +1100)]
nv50: support NV94 chipset
Ben Skeggs [Fri, 21 Nov 2008 01:43:44 +0000 (12:43 +1100)]
nv50: update context-related tables for original 8800GTS
I either messed up when I pulled these from a mmio-trace last time, or
the previous values didn't work on my card. Hopefully it's the former!
In any case, at least one of the original NV50 chipsets work now.
Jesse Barnes [Thu, 20 Nov 2008 19:01:24 +0000 (11:01 -0800)]
Merge branch 'master' into modesetting-gem
Jesse Barnes [Thu, 20 Nov 2008 19:00:29 +0000 (11:00 -0800)]
DRM: make drm_map_type match upstream kernel
Since the TTM type isn't upstream yet, we need to make sure libdrm uses
what the kernel uses, which is _DRM_GEM = 6.
Jesse Barnes [Thu, 20 Nov 2008 18:57:33 +0000 (10:57 -0800)]
DRM: make drm_map_type match kernel
GEM is upstream, but TTM isn't, so _DRM_GEM needs to be 6, not 7.
Stephane Marchesin [Wed, 19 Nov 2008 22:17:27 +0000 (23:17 +0100)]
Unbreak drm build.
Jesse Barnes [Wed, 19 Nov 2008 20:42:49 +0000 (12:42 -0800)]
Merge branch 'modesetting-gem' of ssh://git.freedesktop.org/git/mesa/drm into modesetting-gem
Jesse Barnes [Wed, 19 Nov 2008 18:56:48 +0000 (10:56 -0800)]
libdrm_intel: fix merge error
don't take the lock twice
Jesse Barnes [Wed, 19 Nov 2008 18:54:11 +0000 (10:54 -0800)]
Update modetest
Jerome Glisse [Mon, 17 Nov 2008 12:35:51 +0000 (13:35 +0100)]
Revert "gem: protect idr_pre with the spinlock"
This reverts commit
f46aba43329786c9b2776e82af31d90e1c67eae0.
Jerome Glisse [Sun, 16 Nov 2008 17:13:16 +0000 (18:13 +0100)]
gem: protect idr_pre with the spinlock
There seems to be an issue if we don't protect idr_pre with
the spinlock we use for idr operations.
Jerome Glisse [Sun, 16 Nov 2008 17:11:00 +0000 (18:11 +0100)]
radeon: protect cs ioctl atomic part with a mutex
A small subset of CS need to be atomic (relocation+IB commit to
ring) right now, because of the way relocation are handled, we
need to protect the whole ioctl.
Jerome Glisse [Sun, 16 Nov 2008 17:04:43 +0000 (18:04 +0100)]
libdrm-radeon: add print callback to cs & small fixes
Jerome Glisse [Sat, 15 Nov 2008 09:38:44 +0000 (10:38 +0100)]
libdrm-radeon: unref return current BO ptr to reflect BO destruction
Dave Airlie [Sat, 15 Nov 2008 02:30:09 +0000 (12:30 +1000)]
drm/bo: fix stupid lock imbalance
Jerome Glisse [Fri, 14 Nov 2008 11:13:53 +0000 (12:13 +0100)]
libdrm-radeon: unreference buffer once cs stream is submited or on cs clean
BO are referenced once by reloc to make sure that they not destroyed
before we get a chance to flush the cmd stream, so we need to unreference
them once in cs submit or cs erase if cs i never submitted so bo can
be destructed.
Jerome Glisse [Fri, 14 Nov 2008 11:08:27 +0000 (12:08 +0100)]
libdrm-radeon: new tracker tools
To keep record of bo activities and print them when necessary,
should help in tracking unbalanced ref/unref calls.
Jesse Barnes [Thu, 13 Nov 2008 23:30:06 +0000 (15:30 -0800)]
Merge branch 'master' into modesetting-gem
Conflicts:
libdrm/Makefile.am
libdrm/intel/intel_bufmgr.h
libdrm/intel/intel_bufmgr_fake.c
libdrm/intel/intel_bufmgr_gem.c
shared-core/drm.h
shared-core/i915_dma.c
shared-core/i915_irq.c
shared-core/radeon_cp.c
shared-core/radeon_drv.h
Jesse Barnes [Thu, 13 Nov 2008 21:58:32 +0000 (13:58 -0800)]
libdrm_intel: fix warnings on 64 bit
Cast a couple of %llx args to unsigned long long.
Jesse Barnes [Thu, 13 Nov 2008 21:52:04 +0000 (13:52 -0800)]
libdrm: add support for i915 GTT mapping ioctl
Add a drm_intel_gem_bo_map_gtt() function for mapping a buffer object
through the aperture rather than directly to its CPU cacheable memory.
Jakob Bornecrantz [Wed, 12 Nov 2008 18:17:18 +0000 (19:17 +0100)]
mode: Minor reodering and renaming
Jakob Bornecrantz [Wed, 12 Nov 2008 18:10:50 +0000 (19:10 +0100)]
mode: Reorder the ioctls and numbering
This is to fill in the gaps left by the removal of
the hotplug ioctls. And they also look better :)
Jakob Bornecrantz [Wed, 12 Nov 2008 17:49:46 +0000 (18:49 +0100)]
mode: Unify userspace API to uint_t
Jakob Bornecrantz [Wed, 12 Nov 2008 17:40:04 +0000 (18:40 +0100)]
mode: Remove hotplug support from ioctl interface
Jakob Bornecrantz [Wed, 12 Nov 2008 17:16:38 +0000 (18:16 +0100)]
mode: Unify types for ids and strings
Jerome Glisse [Wed, 12 Nov 2008 14:56:40 +0000 (15:56 +0100)]
radeon+libdrm-radeon: change relocation informations
Relocation now consist of the following informations (in this order) :
handle buffer object handle identifier
start_offset start offset of first data of the buffer object used by the cs
end_offset end offset of last data of the buffer object used by the cs
read_domain read domain (either VRAM, or GTT as GPU is invalid for CS)
write_domain write domain (either VRAM, or GTT as GPU is invalid for CS)
flags flags used for further optimization (like discard previous
buffer content or forget buffer content after cs which can
help in avoiding moving content in or out)
Jerome Glisse [Mon, 10 Nov 2008 21:21:32 +0000 (22:21 +0100)]
Merge branch 'modesetting-gem' of ssh://git.freedesktop.org/git/mesa/drm into modesetting-gem
Jerome Glisse [Mon, 10 Nov 2008 21:18:22 +0000 (22:18 +0100)]
libdrm-radeon: be verbose on bo failure and cleanup cs a bit
Dave Airlie [Mon, 10 Nov 2008 05:38:32 +0000 (15:38 +1000)]
radeon: add gart useable size to report to userspace
Dave Airlie [Mon, 10 Nov 2008 05:37:51 +0000 (15:37 +1000)]
radeon: upgrade atom headers
Dave Airlie [Mon, 10 Nov 2008 05:37:36 +0000 (15:37 +1000)]
radeon: fix fence race condition hopefully
For some reason reading the SCRATCH reg from RAM causes some race to occur.
Hopefully fix this.
Dave Airlie [Mon, 10 Nov 2008 05:37:16 +0000 (15:37 +1000)]
drm/radeon: add dpms connector functions
Dave Airlie [Mon, 10 Nov 2008 05:35:34 +0000 (15:35 +1000)]
radeon: avivo cursors are across the full surface.
fixes cursor on second head
Dave Airlie [Mon, 10 Nov 2008 05:35:16 +0000 (15:35 +1000)]
modesetting: set the crtc x,y after the mode base change
Dave Airlie [Mon, 10 Nov 2008 05:30:21 +0000 (15:30 +1000)]
drm/radeon: add uncached allocator to drm ttm code.
Dave Airlie [Mon, 10 Nov 2008 05:25:27 +0000 (15:25 +1000)]
radeon: fix ring tail overflow issue since alignment
Dave Airlie [Mon, 10 Nov 2008 05:25:12 +0000 (15:25 +1000)]
radeon: disable HDP read cache for now
Dave Airlie [Mon, 10 Nov 2008 05:24:42 +0000 (15:24 +1000)]
radeon: force all ring writes to 16-dword alignment.
Dave Airlie [Mon, 10 Nov 2008 05:13:08 +0000 (15:13 +1000)]
radeon: fixup vram visible calculation to take a/c pinned objects for now
Jerome Glisse [Sun, 9 Nov 2008 17:48:46 +0000 (18:48 +0100)]
radeon: add more packet3 relocations handling
Jerome Glisse [Sun, 9 Nov 2008 17:45:43 +0000 (18:45 +0100)]
libdrm-radeon: update libdrm-radeon to match current CS relocation structures
Eric Anholt [Fri, 7 Nov 2008 20:58:52 +0000 (12:58 -0800)]
intel: Restart on interrupt of bo_wait_rendering instead of complaining.
Jerome Glisse [Wed, 5 Nov 2008 23:40:06 +0000 (00:40 +0100)]
radeon: lib radeon add bo & cs gem backend
Jerome Glisse [Wed, 5 Nov 2008 15:00:04 +0000 (16:00 +0100)]
radeon: libdrm_radeon add handle to debug string
Jerome Glisse [Wed, 5 Nov 2008 14:59:37 +0000 (15:59 +0100)]
Merge branch 'modesetting-gem' of ssh://git.freedesktop.org/git/mesa/drm into modesetting-gem
Dave Airlie [Sun, 2 Nov 2008 23:58:12 +0000 (09:58 +1000)]
radeon: make build again
Dave Airlie [Sun, 2 Nov 2008 23:52:40 +0000 (09:52 +1000)]
radeon: fix ROP values for the paint ROP
Dave Airlie [Sun, 2 Nov 2008 23:52:25 +0000 (09:52 +1000)]
radeon: add mtrr support for VRAM aperture.
Dave Airlie [Sun, 2 Nov 2008 23:51:57 +0000 (09:51 +1000)]
radeon: disable AGP for certain chips if not specified until we figure it out
Dave Airlie [Sun, 2 Nov 2008 23:51:33 +0000 (09:51 +1000)]
radeon: disable debugging message
Dave Airlie [Sun, 2 Nov 2008 23:50:46 +0000 (09:50 +1000)]
radeon: commit ring after emitting the buffer discards
Dave Airlie [Sun, 2 Nov 2008 23:49:59 +0000 (09:49 +1000)]
radeon: add more HDMI bits
Dave Airlie [Sun, 2 Nov 2008 23:49:41 +0000 (09:49 +1000)]
radeon: set dma bufs bo type to a kernel type
Dave Airlie [Sun, 2 Nov 2008 23:48:10 +0000 (09:48 +1000)]
radeon: enable DVI-D + HDMI connectors.
This allows the rs690 to work on DVI
Dave Airlie [Sun, 2 Nov 2008 23:47:49 +0000 (09:47 +1000)]
radeon: setup isync cntl properly
Dave Airlie [Sun, 2 Nov 2008 23:47:14 +0000 (09:47 +1000)]
radeon: add more debugging
Dave Airlie [Sun, 2 Nov 2008 23:46:54 +0000 (09:46 +1000)]
radeon: overhaul ring interactions
emit in 16-dword blocks, emit irqs at same time as everything else
Dave Airlie [Sun, 2 Nov 2008 23:46:07 +0000 (09:46 +1000)]
radeon: fix race in sysfs
Dave Airlie [Sun, 2 Nov 2008 23:45:43 +0000 (09:45 +1000)]
radeon: add proc debugging for interrupts/ring
Dave Airlie [Sun, 2 Nov 2008 23:44:32 +0000 (09:44 +1000)]
radeon: only enable dynclks if asked for
Dave Airlie [Sun, 2 Nov 2008 23:44:03 +0000 (09:44 +1000)]
radeon: add wait rendering API
Dave Airlie [Sun, 2 Nov 2008 23:43:29 +0000 (09:43 +1000)]
radeon: rs480 fixes for bus mastering
Dave Airlie [Sun, 2 Nov 2008 23:42:01 +0000 (09:42 +1000)]
radeon: remove unused gem indirect ioctl
Dave Airlie [Sun, 2 Nov 2008 23:41:30 +0000 (09:41 +1000)]
radeon: fix some warnings
Dave Airlie [Sun, 2 Nov 2008 23:41:12 +0000 (09:41 +1000)]
radeon: fix free after refcount
Dave Airlie [Sun, 2 Nov 2008 23:40:52 +0000 (09:40 +1000)]
radeon: CS2 make it all work with new relocs style
Dave Airlie [Sun, 2 Nov 2008 23:40:24 +0000 (09:40 +1000)]
radeon: don't copy to user the cs ids
Dave Airlie [Sun, 2 Nov 2008 23:39:53 +0000 (09:39 +1000)]
radeon: make new CS2 command submission interface port older interface to this
Dave Airlie [Sun, 2 Nov 2008 23:36:03 +0000 (09:36 +1000)]
radeon/drm: fixup ref counting in on fb objs
Dave Airlie [Sun, 2 Nov 2008 23:33:32 +0000 (09:33 +1000)]
radeon: release agp on module unload
Dave Airlie [Sun, 2 Nov 2008 23:33:12 +0000 (09:33 +1000)]
radeon: add r423 bits to modesetting
Dave Airlie [Sun, 2 Nov 2008 23:32:39 +0000 (09:32 +1000)]
radeon: pull bus master enable into its own function
Dave Airlie [Sun, 2 Nov 2008 23:31:17 +0000 (09:31 +1000)]
radeon: fix accessible VRAM sizing
Dave Airlie [Sun, 2 Nov 2008 23:30:48 +0000 (09:30 +1000)]
radeon: update proper chip family
Dave Airlie [Sun, 2 Nov 2008 23:29:22 +0000 (09:29 +1000)]
radeon: fixup scratch register interactions properly
Dave Airlie [Sun, 2 Nov 2008 23:28:56 +0000 (09:28 +1000)]
radeon: make writeback work again
Dave Airlie [Sun, 2 Nov 2008 23:28:36 +0000 (09:28 +1000)]
radeon: fix some warnings
Dave Airlie [Sun, 2 Nov 2008 23:27:00 +0000 (09:27 +1000)]
radeon: fix small typo in agp code
Dave Airlie [Sun, 2 Nov 2008 23:26:32 +0000 (09:26 +1000)]
radeon: workaround failure to parse some rs48x edid
Dave Airlie [Sun, 2 Nov 2008 23:26:00 +0000 (09:26 +1000)]
radeon: don't enable dynclks on rs48x
Dave Airlie [Sun, 2 Nov 2008 23:25:32 +0000 (09:25 +1000)]
radeon: export radeon_modeset
Dave Airlie [Sun, 2 Nov 2008 23:24:13 +0000 (09:24 +1000)]
radeon: fix unused agp functionality
Dave Airlie [Sun, 2 Nov 2008 23:23:19 +0000 (09:23 +1000)]
radeon: add some more r100 support to test AGP
Jerome Glisse [Sun, 2 Nov 2008 15:00:06 +0000 (16:00 +0100)]
radeon: debug bo
Pekka Paalanen [Sun, 2 Nov 2008 11:48:32 +0000 (13:48 +0200)]
nouveau: compat fix for set_page_locked().
The set_page_locked() function has changed its name again.
2.6.28 offers __set_page_locked() instead, which uses non-atomic
__set_bit() to do the work. In this case, offer our own
set_page_locked() using the atomic set_bit(), because I do not know
if atomic access is really necessary. Atomic behaviour is the one
previously expected.
Signed-off-by: Pekka Paalanen <pq@iki.fi>
Eric Anholt [Thu, 30 Oct 2008 18:36:46 +0000 (11:36 -0700)]
libdrm 2.4.1.
Eric Anholt [Thu, 30 Oct 2008 16:33:07 +0000 (09:33 -0700)]
intel: Rename dri_ and intel_ symbols to drm_intel_.
I wanted to avoid doing this, as it's a bunch of churn, but there was a
conflict between the dri_ symbols in libdrm and the symbols that were in
Mesa in 7.2, which broke Mesa 7.2 AIGLX when the 2D driver had loaded new
libdrm symbols. The new naming was recommended by cworth for giving the
code a unique prefix identifying where the code lives.
Additionally, take the opportunity to fix up two API mistakes: emit_reloc's
arguments were in a nonsensical order, and set_tiling lacked the stride
argument that the kernel will want to use soon. API compatibility with
released code is maintained using #defines.
Jerome Glisse [Wed, 29 Oct 2008 22:41:48 +0000 (23:41 +0100)]
Merge branch 'modesetting-gem' of ssh://git.freedesktop.org/git/mesa/drm into modesetting-gem
Jerome Glisse [Wed, 29 Oct 2008 22:40:20 +0000 (23:40 +0100)]
radeon: libdrm_radeon updates bo & cs interfaces
Jesse Barnes [Wed, 29 Oct 2008 19:17:39 +0000 (12:17 -0700)]
libdrm: fix ABI change in drm_mode_get_encoder
The encoder_type field should be at the top to match the kernel.
Eric Anholt [Tue, 21 Oct 2008 07:10:54 +0000 (00:10 -0700)]
intel: Add dri_bufmgr_check_aperture support for bufmgr_gem.
This relies on a new kernel ioctl to get the available aperture size.
In order to provide reasonable performance from dri_bufmgr_check_aperture, we
now require that once a buffer has been used as the target of a relocation,
it gets no further relocations added to it. This cuts the cost of
check_aperture from 10% to 1% in the 3D driver with no code changes, but
slightly complicates our plans for the 2D driver.
Ben Skeggs [Tue, 28 Oct 2008 01:00:08 +0000 (12:00 +1100)]
nv50: symlink nv50_grctx.h to linux-core...
Ben Skeggs [Tue, 28 Oct 2008 00:38:30 +0000 (11:38 +1100)]
nv50: move context-related tables a separate header file
This turns the various nvXX_graph_init_ctxvals() methods into tables,
and speeds up compliation of nv50_graph.c quite a bit. This has bothered
me for a while, but others are complaining now so it's time to fix it :)
Jerome Glisse [Mon, 27 Oct 2008 22:26:15 +0000 (23:26 +0100)]
radeon: reloc are backend dependant
Pekka Paalanen [Mon, 27 Oct 2008 19:21:15 +0000 (21:21 +0200)]
drm: missing init_mm symbol, compatibility fix
The drm_compat.c version of kmap_atomic_prot_pfn() uses the macro
pgd_offset_k(), which references the symbol init_mm.
Starting in 2.6.25, init_mm is no longer exported by default.
The only user of kmap_atomic_prot_pfn() is i915, so this should
not hurt anyone, and it allows people to load drm.ko.
Signed-off-by: Pekka Paalanen <pq@iki.fi>
Robert Noland [Mon, 27 Oct 2008 18:39:05 +0000 (14:39 -0400)]
i915: Since FreeBSD doesn't have gem support yet, don't advertise it.
This allows us to not crash X when using newer Intel ddx drivers.
Jerome Glisse [Mon, 27 Oct 2008 18:33:56 +0000 (19:33 +0100)]
Merge branch 'modesetting-gem' of ssh://git.freedesktop.org/git/mesa/drm into modesetting-gem
Jerome Glisse [Mon, 27 Oct 2008 18:27:15 +0000 (19:27 +0100)]
radeon: radeon util library
Alex Deucher [Mon, 27 Oct 2008 17:18:07 +0000 (13:18 -0400)]
radeon: fix error in busmaster enable logic
- logic was wrong. rs400/rs480 should clear the RADEON_BUS_MASTER_DIS bit
- should fix kernel bug 11798