Commit Graph

1825 Commits (81644198aeced288d26e17fadd8e5eb19798352f)

Author SHA1 Message Date
Dave Airlie 2fa2db138b libdrm/radeon: add initial libdrm_radeon
requires --enable-radeon-experimental-api for now
2009-06-17 17:47:42 +10:00
Ben Skeggs 3d4bfe8c89 nouveau: 0.0.14 + extend bo interface to support subrange mapping
Normal map() should operate as before, and map_range()/map_flush() should
give correct results but lacking any performance difference from map().

Nothing exiting being done here yet, but the interface is a good start.
2009-06-05 14:07:23 +10:00
Ben Skeggs dbffeadcfc nv50: magic fix for "3d busted without the binary driver first" issue
No idea what this reg does.. NVIDIA put 0x802 into it on some chips, the
criteria aren't too clear on when they do that however.  Hopefully 0x800
will work everywhere...
2009-06-02 17:06:34 +10:00
Ben Skeggs c65a343ed2 nouveau: bump for 0.0.13 2009-05-26 15:47:14 +10:00
Danny Tholen 85b9f737db nouveau: backlight support for ppc laptops
Patch allows the backlight to be manipulated under gnome on apple powerpc
based NV30 machines.  It works fine on my powerbook, and should also work
for older NV17/NV18 machines.

Note that older powerpc specific tools (pbbuttonsd) have some problems with
this implementation (because the device is not yet there at the start time
of the daemon, and the code makes incorrect assumptions about the max
brightness values). However, IMHO these things can and should be addressed
in the daemon.

Some style/warning fixes applied by Stuart Bennett <stuart@freedesktop.org>
2009-05-22 15:43:26 +01:00
Carl Worth afd245dd7f Add new drm_intel_get_pipe_from_crtc_id function.
This wraps the new DRM_IOCTL_I915_GET_PIPE_FROM_CRTC_ID ioctl,
allowing applications to discover the pipe number corresponding
to a given CRTC ID. This is necessary for doing pipe-specific
operations such as waiting for vblank on a given CRTC.
2009-05-14 15:32:54 -07:00
Alan Coopersmith 628dc48a16 Use C99 versions of __FUNCTION__ & __volatile__ when not building with gcc 2009-05-10 15:35:03 -07:00
Danny Tholen e2b5fde7f6 nouveau: fix ppc for swab changes in Linux 2.6.29 2009-05-07 01:00:41 +01:00
Stuart Bennett 93e6527160 nouveau: nForce 1/2 IGP memory sanity check from DDX 2009-03-30 20:48:08 +01:00
Stuart Bennett c9cfeaa554 nouveau: plug drm fifo ioremap leak (#14941) 2009-03-25 02:50:34 +00:00
Stuart Bennett 03ca202fa5 nouveau: add linux compat defines for PCI config access, use them for nvidia IGPs 2009-03-25 02:50:34 +00:00
Stuart Bennett b71f3f114e nouveau: use PFB_CSTATUS naming from ddx (reg introduced with nv10)
NV04 had a PFB_FIFO_DATA at the same address, which we don't use, so
remove it to reduce confusion
2009-03-25 02:50:34 +00:00
Robert Noland 6777c6bb8b FreeBSD: Don't set the PZERO flag to mtx_sleep.
We also don't support anything old enough to need tsleep.
2009-03-16 00:17:54 -05:00
Ben Skeggs 391c92ae17 drm/nouveau: make portion of vram as reserved for PRAMIN on all chipsets
NV04 was completely busted.  Push buffers were getting allocated at the
end of VRAM, overwriting PRAMIN.  So, it turns out PRAMIN is in VRAM on
all chips.  Question answered!
2009-03-06 09:16:54 +10:00
Pekka Paalanen f44c740dc7 drm: drop Linux < 2.6.19 support
This also means dropping the DRM_ODD_MM_COMPAT case.

Signed-off-by: Pekka Paalanen <pq@iki.fi>
2009-03-02 23:14:45 +02:00
Robert Noland 957b10695b Move vblank_init to driver load time. 2009-02-27 18:16:17 -06:00
Robert Noland 948af0bd9b i915: Backport jbarnes gm45 vblank counter patch. 2009-02-25 14:20:52 -06:00
Robert Noland a44b4ca820 i915: A few whitespace cleanups. 2009-02-24 14:01:38 -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
Robert Noland 9f94e39f0d i915: Rip out the use of vblank_swap 2009-02-23 22:39:07 -06: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
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 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 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
Stephane Marchesin 39755db856 Remove the "nv" driver. 2009-02-02 23:47:11 +01:00
Stuart Bennett 854bd8f2ca nouveau: don't save channel context if it has recently become invalid
Bug exposed by DDX change d9da090c
2009-01-29 23:59:47 +00:00
Stuart Bennett 408fc85a21 nouveau: no suspend support for nv50+ 2009-01-29 23:53:01 +00:00
Jesse Barnes 2fa5f28eee intel: libdrm support for fence management in execbuf
This patch tries to use the available fence count to figure out whether a
given batch can succeed or not (just like the aperture check).

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
2009-01-27 17:23:42 -08:00
Ben Skeggs e6a062c21a nv50: support chipset NV96
ctxprog seen in okias' trace identical to one we use on NV94, assuming
the initial context values for NV94 will work here too.
2009-01-27 08:36:33 +10:00
Ben Skeggs 753d4c39ff nv04-nv40: correct RAMHT size 2009-01-27 08:36:08 +10:00
Ben Skeggs ac8b3308b9 nv50: ack nsource to prevent continuous protection fault irqs 2009-01-12 10:33:48 +10:00
Robert Noland 58d557c73b [FreeBSD] Fix build on FreeBSD after modesetting import. 2008-12-23 13:56:23 -05:00
Dave Airlie b48bd3a036 radeon: only write irq regs if irq is enabled 2008-12-23 11:30:37 +10:00
Eric Anholt dfd7fdafd8 intel: Rename plane[AB]* back to pipe[AB]*.
The values are really going to continue meaning pipe, not plane, and that's
what they're called in the kernel copy of the header.  Userland hasn't ever
made the switch to pipe!=plane, since userland checks are based on DRM
version, which is still stuck at 1.6.  However, Mesa did start using
plane[AB] names, so provide a compat define.
2008-12-22 16:03:35 -08:00
Eric Anholt d221e00105 intel: Sync GEM ioctl comments for easier diffing against the kernel. 2008-12-22 16:03:35 -08:00
Jesse Barnes 731cd5526e libdrm: add mode setting files
Add mode setting files to libdrm, including xf86drmMode.* and the new
drm_mode.h header.  Also add a couple of tests to sanity check the
kernel interfaces and update code to support them.
2008-12-17 10:11:37 -08:00
Jesse Barnes 9583c099b4 Revert "Merge branch 'modesetting-gem'"
This reverts commit 6656db1055.

We really just want the libdrm and ioctl bits, not all the driver
stuff.
2008-12-10 15:50:22 -08:00
Jesse Barnes d5d5aca7f9 Merge branch 'master' into modesetting-gem 2008-12-03 11:53:36 -08:00
Ben Skeggs 7e4e0fbbb8 nv50: support NV94 chipset 2008-11-23 18:49:09 +11:00
Ben Skeggs 52232ad702 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.
2008-11-21 13:18:58 +11:00
Jesse Barnes 2e2fd6c632 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.
2008-11-20 11:00:29 -08:00
Jesse Barnes 5923831baf DRM: make drm_map_type match kernel
GEM is upstream, but TTM isn't, so _DRM_GEM needs to be 6, not 7.
2008-11-20 10:57:33 -08:00
Stephane Marchesin c029ed2510 Unbreak drm build. 2008-11-19 23:17:27 +01:00