Commit Graph

4640 Commits (6bf1ed2979ca56d3e8dd8938fc08e3810887ae8a)

Author SHA1 Message Date
Eric Anholt 7ce8d4c1fe intel: Update reloc_tree_size of the first buffer when we count the tree size.
This helps avoid the n^2 performance cost of counting tree size when we
get a lot of relocations into our batch buffer.  rgb10text on keithp's laptop
went from 136k glyphs/sec to 234k glyphs/sec.
2009-02-27 14:12:54 -08:00
Robert Noland ab582f64fd FreeBSD: Fix up some ioctl permissions issues missed many times over.
This was somehow hit with r600 demo.

Submitted by: 	Jung-uk Kim <jkim@FreeBSD.org>
2009-02-26 23:51:57 -06:00
Robert Noland 948af0bd9b i915: Backport jbarnes gm45 vblank counter patch. 2009-02-25 14:20:52 -06:00
Eric Anholt efa485b2cf intel: Don't copy dirty data out when freeing a BO in the fake bufmgr. 2009-02-24 22:31:27 -08:00
Robert Noland e96fc62e53 FreeBSD: Drop the Giant lock. 2009-02-24 15:49:45 -06:00
Robert Noland b9b8e8f3cc FreeBSD: Turn on msi
There is a blacklist for devices that advertise the capability, but
don't work properly.
2009-02-24 15:47:35 -06:00
Robert Noland 153a0803db FreeBSD: Add some vblank related debugging and replace DRM_WAIT_ON with a local instance. 2009-02-24 14:21:10 -06:00
Robert Noland a44b4ca820 i915: A few whitespace cleanups. 2009-02-24 14:01:38 -06:00
Robert Noland 04d94197e6 linux: Add msi_enabled to the drm_device so the build should be happy. 2009-02-24 12:59:08 -06:00
Robert Noland 6870780428 radeon: Prepare radeon for msi support. 2009-02-24 12:28:42 -06:00
Robert Noland d45bc6667c i915: This was part of a sync to the intel driver at some point
-Remove the old TTM interface
	-Move register definitions to i915_reg.h
	-Rework the irq handler
2009-02-24 12:24:29 -06:00
Kristian Høgsberg c3c21303e3 nouveau: Dist nouvea_dma.h as well.
Oops.  Disting is hard.
2009-02-24 11:42:46 -05:00
Kristian Høgsberg a71d3edd6c nouveau: Also dist nouveau_private.h. 2009-02-24 11:19:41 -05:00
Robert Noland 1c381092a3 FreeBSD: Rip out the locked task support now that i915 no longer uses it. 2009-02-24 00:22:56 -06:00
Robert Noland 9f94e39f0d i915: Rip out the use of vblank_swap 2009-02-23 22:39:07 -06:00
Robert Noland 9d402905c0 FreeBSD: There is no compelling reason to hold the lock here.
When I was lock profiling, this was high up on the list and I
see no reason to do it.
2009-02-23 20:22:44 -06:00
Robert Noland d6c9786836 FreeBSD: Don't set PZERO in mtx_sleep. 2009-02-23 20:16:15 -06:00
Robert Noland a9486ee3a8 FreeBSD: Set MAP_NOSYNC on mmaps.
There is no reason to gratuitously sync these maps to swap.
2009-02-23 20:07:44 -06:00
Eric Anholt a773ce1db8 Add libdrm_intel.pc by popular demand. 2009-02-23 13:30:44 -08:00
Ivan Kokshaysky 6feac49398 Fix DRM_CAS() on Alpha. (#16549) 2009-02-23 15:54:42 -05:00
Kristian Høgsberg 9fc85b4084 modetest: Print names of properties. 2009-02-23 15:10:30 -05:00
Pekka Paalanen 4a0d19ef4f Fix fix distcheck for optional nouveau stuff.
Tylo.

Signed-off-by: Pekka Paalanen <pq@iki.fi>
2009-02-22 12:40:47 +02:00
Eric Anholt 4d5341340f Fix distcheck for optional nouveau stuff. 2009-02-21 10:01:40 -08:00
Eric Anholt 2f1cdf79a7 Bump version to 2.4.5 for new API additions. 2009-02-21 09:57:19 -08:00
Eric Anholt 72abe983ad intel: Add a new bufmgr alloc function to get BOs ready for rendering to.
This avoids using the oldest BO in the BO cache and waiting for it to be
idle before we turn around and render to it with the GPU.  Thanks to
Chris Wilson for pointing out how silly we were being.
2009-02-21 09:57:06 -08:00
Ben Skeggs a1345338fe libdrm/nouveau: free drmVersion after we're done with it 2009-02-20 14:11:22 +10:00
Ben Skeggs 18f2fcf5aa libdrm/nouveau: fix dma debugging 2009-02-20 14:11:18 +10:00
Pekka Paalanen 6a31b445fa nouveau: support backlight only when kernel does
Loading nouveau.ko would fail with unknown symbols, if the backlight
class device support is not provided in the kernel. Let's make the
backlight support dependant on the kernel configuration.

This is a bit ugly, the proper way would be to check for the config in
Makefile.kernel whether to build nouveau_backlight.o at all, and if not,
nouveau_drv.h should provide the stubs.

Signed-off-by: Pekka Paalanen <pq@iki.fi>
2009-02-18 22:46:40 +02:00
Matthew Garrett 25c60cfeca nv40, nv50: fix backlight build for <2.6.29 kernels
Signed-off-by: Matthew Garrett <mjg59@srcf.ucam.org>
Signed-off-by: Pekka Paalanen <pq@iki.fi>
2009-02-18 22:31:47 +02:00
Matthew Garrett 96ce587e8b nouveau: Add in-kernel backlight control support
Several nvidia-based systems don't support backlight control via the
standard ACPI control mechanisms. Instead, it's necessary for the driver
to modify the backlight control registers directly. This patch adds
support for determining whether the registers appear to be in use, and
if so registers a kernel backlight device to control them. The backlight
can then be controlled via existing userspace tools.

Signed-off-by: Matthew Garrett <mjg@redhat.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2009-02-18 13:48:33 +10:00
Pekka Paalanen 0054e14793 drm_compat: remove kmap_atomic_prot_pfn()
This function is unused, and yet creates build problems: the symbol
init_mm is not exported by the latest -rc kernels and I don't believe it
ever will be. Even CONFIG_UNUSED_SYMBOLS does not provide it anymore.

If this function is needed in the future, it needs to be reinvented in
any case. So remove it.

Signed-off-by: Pekka Paalanen <pq@iki.fi>
2009-02-16 20:45:16 +02:00
Pekka Paalanen e32aa6226f Remove i915 driver sources from linux-core
Intel developers have stated, that their DRM development continues
elsewhere in some Linux kernel trees. This makes the code in drm.git
just dead weight. This removal allows further cleanup of compatibility
code.

shared-core and bsd-core are left untouched this time.

Signed-off-by: Pekka Paalanen <pq@iki.fi>
Acked-by: Eric Anholt <eric@anholt.net>
2009-02-16 20:43:02 +02:00
Eric Anholt 709b82e1a5 intel: Clear ioctl parameter outvalues and pads that confuse valgrind.
The minor CPU cost here is probably outweighed by bothering us with noise in
the tool.
2009-02-15 18:35:03 -08:00
Ben Skeggs 084e143d0c nv40: fail completely if we don't have a ctxprog for the chipset 2009-02-15 22:06:18 +10:00
Ben Skeggs a4ac60a102 nv50: context info for chipset 0xa0 2009-02-15 21:52:19 +10:00
Ben Skeggs 7e5c512104 libdrm: make libdrm_nouveau conditional, disabled by default
libdrm isn't supposed to ship APIs not present in a released kernel.
2009-02-15 21:51:46 +10:00
Jakob Bornecrantz eb78c53aa1 mode: Make xfdrmMode.[c|h] not depend on drm_mode.h 2009-02-11 17:11:00 +01:00
Pekka Paalanen 2d2f105f79 nouveau: fix type warnings: void* arith, un/signed
nouveau_notifier.c had two places where void* was used in arithmetic,
fixed by using char*.

nouveau_dma_wait(), nouveau_notifier_wait_status() and
nouveau_resource_alloc() had signed/unsigned comparison warnings, fixed
by changing the function parameter into an unsigned type.

Signed-off-by: Pekka Paalanen <pq@iki.fi>
2009-02-11 23:48:49 +02:00
Ben Skeggs bc92c0edf3 drm/nv50: fix nv9x chipsets
NVIDIA do this fun little sequence after updating the PRAMIN page tables.

On 9xxx chips, none of the PRAMIN BAR bindings (except the initial one)
worked, hence the majority of the setup needed to create a channel
ended up in the wrong place, causing all sorts of fun.

This is done by NVIDIA on nv8x chips also, so we'll do it for them too,
even though they appear to work without it.
2009-02-11 11:22:41 +10:00
Ben Skeggs 7bbd605a21 drm/nv50: add context info for nv98
It won't work yet, just like the other 9xxx chips.  Real soon now :)
2009-02-11 10:12:43 +10:00
Ben Skeggs efcef2c2bc drm/nv50: use a slightly different initial context for nv96
I'm not 100% sure that the nv94 one we were using won't work.  The context
layouts are identical (well.. same ctxprog, so of course!), only a couple
of registers differ.  But, be safe until we actually get some 9xxx chips
working.
2009-02-10 09:11:41 +10:00
Ben Skeggs f43039c52c drm/nv50: correct ramfc pointer in channel header
Suprisingly the card still worked without this...
2009-02-10 09:11:35 +10:00
Ben Skeggs 889b811e31 drm/nv50: let the card handle the initial context switch
Our PFIFO/PGRAPH context save/load functions don't really work well
(at all?) on nv5x yet.  Depending on what random state the card is
in before the drm loads, fbcon probably won't work correctly.

Luckily we've setup the GPU in such a way that it'll actually do a
hw context switch for the first context.  Not sure of how successful
this'd be currently on the older chips (actually, pretty sure it won't
work), so NV50 only for now.
2009-02-10 09:11:27 +10:00
Stuart Bennett 9c8d634e68 nouveau: don't try to traverse non-existent lists
Fixes nouveau_ioctl_mem_free Oops
2009-02-07 21:20:17 +00:00
Ben Skeggs 97fdadee6a nouveau: fix some issues where buffer objects never get freed 2009-02-05 23:17:05 +10:00
Kristian Høgsberg 8b8803695b modetest: Add syntax to also specify a crtc when setting a mode. 2009-02-04 12:17:32 -05:00
Ben Skeggs 225e7e274f nouveau: install libdrm_nouveau with libdrm 2009-02-04 14:32:31 +10:00
Ben Skeggs cb85630c02 nouveau: bring in new mm api definitions, without the actual mm code
Use of the new bits is guarded with a mm_enabled=0 hardcode.
2009-02-04 13:22:56 +10:00
Kristian Høgsberg 7a389aab86 modetest: Use cairo (if available) to paint a better pattern. 2009-02-03 15:03:41 -05:00
Kristian Høgsberg 2c113a1b15 modetest: Don't sleep when just dumping state, wait for key for modeset. 2009-02-03 14:03:09 -05:00