Commit graph

1775 commits

Author SHA1 Message Date
Jesse Barnes
c67a83dfe1 Merge branch 'modesetting-gem' of ssh://git.freedesktop.org/git/mesa/drm into modesetting-gem 2008-11-19 12:42:49 -08:00
Jerome Glisse
7270731a8b 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.
2008-11-16 18:11:00 +01:00
Jesse Barnes
965b4d662a 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
2008-11-13 15:30:06 -08:00
Jesse Barnes
276c07d885 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.
2008-11-13 13:52:04 -08:00
Jakob Bornecrantz
9a4cb7eab4 mode: Minor reodering and renaming 2008-11-12 19:17:18 +01:00
Jakob Bornecrantz
17789a409d 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 :)
2008-11-12 19:10:50 +01:00
Jakob Bornecrantz
1ead45c8f0 mode: Remove hotplug support from ioctl interface 2008-11-12 18:40:04 +01:00
Jakob Bornecrantz
13948c635d mode: Unify types for ids and strings 2008-11-12 18:16:38 +01:00
Dave Airlie
15464f5181 radeon: add gart useable size to report to userspace 2008-11-10 15:38:32 +10:00
Dave Airlie
994f240503 radeon: fix ring tail overflow issue since alignment 2008-11-10 15:25:27 +10:00
Dave Airlie
758376e6eb radeon: disable HDP read cache for now 2008-11-10 15:25:12 +10:00
Dave Airlie
08ef5b5e67 radeon: force all ring writes to 16-dword alignment. 2008-11-10 15:24:42 +10:00
Jerome Glisse
7abb8416a7 radeon: add more packet3 relocations handling 2008-11-09 18:48:46 +01:00
Dave Airlie
68fcb7770e radeon: make build again 2008-11-03 09:58:12 +10:00
Dave Airlie
0e1df6216e radeon: add mtrr support for VRAM aperture. 2008-11-03 09:52:25 +10:00
Dave Airlie
2b9a7d5381 radeon: disable AGP for certain chips if not specified until we figure it out 2008-11-03 09:51:57 +10:00
Dave Airlie
d3aa052f61 radeon: disable debugging message 2008-11-03 09:51:33 +10:00
Dave Airlie
28c9eb7b74 radeon: commit ring after emitting the buffer discards 2008-11-03 09:50:46 +10:00
Dave Airlie
e829d5b6bc radeon: setup isync cntl properly 2008-11-03 09:47:49 +10:00
Dave Airlie
31b8a640db radeon: overhaul ring interactions
emit in 16-dword blocks, emit irqs at same time as everything else
2008-11-03 09:46:54 +10:00
Dave Airlie
4ef8ace9a9 radeon: add proc debugging for interrupts/ring 2008-11-03 09:45:43 +10:00
Dave Airlie
be3dac976e radeon: only enable dynclks if asked for 2008-11-03 09:44:32 +10:00
Dave Airlie
31f8d4218c radeon: add wait rendering API 2008-11-03 09:44:03 +10:00
Dave Airlie
fc25c81eab radeon: rs480 fixes for bus mastering 2008-11-03 09:43:29 +10:00
Dave Airlie
4ccec67a23 radeon: remove unused gem indirect ioctl 2008-11-03 09:42:01 +10:00
Dave Airlie
6000fa6862 radeon: CS2 make it all work with new relocs style 2008-11-03 09:40:52 +10:00
Dave Airlie
35f0805592 radeon: don't copy to user the cs ids 2008-11-03 09:40:24 +10:00
Dave Airlie
8b2925468d radeon: make new CS2 command submission interface port older interface to this 2008-11-03 09:39:53 +10:00
Dave Airlie
fd9e05b3f4 radeon: release agp on module unload 2008-11-03 09:33:32 +10:00
Dave Airlie
624da91277 radeon: add r423 bits to modesetting 2008-11-03 09:33:12 +10:00
Dave Airlie
1c817cc3fc radeon: pull bus master enable into its own function 2008-11-03 09:32:39 +10:00
Dave Airlie
b4803991c8 radeon: update proper chip family 2008-11-03 09:30:48 +10:00
Dave Airlie
3fd0e1483e radeon: fixup scratch register interactions properly 2008-11-03 09:29:22 +10:00
Dave Airlie
a066a5f908 radeon: make writeback work again 2008-11-03 09:28:56 +10:00
Dave Airlie
0dbe3436ee radeon: fix some warnings 2008-11-03 09:28:36 +10:00
Dave Airlie
52ef9d87db radeon: fix small typo in agp code 2008-11-03 09:27:00 +10:00
Dave Airlie
d275f99c9a radeon: don't enable dynclks on rs48x 2008-11-03 09:26:00 +10:00
Dave Airlie
48f2227516 radeon: export radeon_modeset 2008-11-03 09:25:32 +10:00
Dave Airlie
f74721fc25 radeon: fix unused agp functionality 2008-11-03 09:24:13 +10:00
Dave Airlie
b09cb93e2d radeon: add some more r100 support to test AGP 2008-11-03 09:23:19 +10:00
Jesse Barnes
1db35ba583 libdrm: fix ABI change in drm_mode_get_encoder
The encoder_type field should be at the top to match the kernel.
2008-10-29 12:18:15 -07:00
Eric Anholt
0e86731232 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.
2008-10-28 14:27:49 -07:00
Ben Skeggs
48b73904b4 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 :)
2008-10-28 11:56:07 +11:00
Robert Noland
145d2d610b 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.
2008-10-27 14:39:05 -04:00
Alex Deucher
e1372f6727 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
2008-10-27 13:18:07 -04:00
Alex Deucher
848f00d773 radeon: fix some fallout from the busmaster disable cleanup
rs400 is just like rs480.  I mixed up the internal
chipset names for rs600 and rs400.
2008-10-27 12:59:39 -04:00
Dave Airlie
389b7617b5 drm: make handles 32-bits again not sure why they changed 2008-10-27 17:06:23 +10:00
Matthias Hopf
1d930fc75b drm/i915: fix ioremap of a user address for non-root (CVE-2008-3831)
Olaf Kirch noticed that the i915_set_status_page() function of the i915
kernel driver calls ioremap with an address offset that is supplied by
userspace via ioctl. The function zeroes the mapped memory via memset
and tells the hardware about the address. Turns out that access to that
ioctl is not restricted to root so users could probably exploit that to
do nasty things. We haven't tried to write actual exploit code though.

It only affects the Intel G33 series and newer.
2008-10-25 12:15:50 -04:00
Jakob Bornecrantz
34a3ebffc3 mode: Try to settle on a standard for struct fields 2008-10-24 18:46:47 +02:00
Jakob Bornecrantz
0796bf8c6b mode: Indent defines 2008-10-24 18:23:39 +02:00