Commit Graph

2663 Commits

Author SHA1 Message Date
Francisco Jerez
15bee69ee1 drm/nv10: Add the initial graph context and soft methods needed for LMA.
Signed-off-by: Francisco Jerez <currojerez@riseup.net>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2009-12-16 17:05:33 +10:00
Francisco Jerez
22fbd53809 drm/nouveau: Fix up buffer eviction, and evict them to GART, if possible.
Signed-off-by: Francisco Jerez <currojerez@riseup.net>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2009-12-16 17:05:26 +10:00
Marcin Kościelnicki
c5804be062 drm/nouveau: Add proper error handling to nouveau_card_init
Signed-off-by: Marcin Kościelnicki <koriakin@0x04.net>
Signed-off-by: Maarten Maathuis <madman2003@gmail.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2009-12-16 17:05:20 +10:00
Marcin Kościelnicki
13c5443b51 drm/nv04: Fix NV04 set_operation software method.
Signed-off-by: Marcin Kościelnicki <koriakin@0x04.net>
Signed-off-by: Maarten Maathuis <madman2003@gmail.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2009-12-16 17:05:13 +10:00
Marcin Kościelnicki
37383650e4 drm/nouveau: Kill global state in BIOS script interpreter
Signed-off-by: Marcin Kościelnicki <koriakin@0x04.net>
Signed-off-by: Maarten Maathuis <madman2003@gmail.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2009-12-16 17:05:02 +10:00
Marcin Kościelnicki
657b6245ba drm/nouveau: Kill global state in NvShadowBIOS
Signed-off-by: Marcin Kościelnicki <koriakin@0x04.net>
Signed-off-by: Maarten Maathuis <madman2003@gmail.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2009-12-16 17:04:55 +10:00
Maarten Maathuis
ef2bb50668 drm/nouveau: use drm debug levels
- Use driver level (0x2) for NV_DEBUG instead of all levels
- Create a NV_DEBUG_KMS for KMS level (0x4) and use them in modesetting code
- Remove a few odd NV_TRACE calls and replace some of them with NV_DEBUG_KMS or
NV_INFO

Signed-off-by: Maarten Maathuis <madman2003@gmail.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2009-12-16 17:04:48 +10:00
Francisco Jerez
95f158eab4 drm/nv04-nv40: Fix "conflicting memory types" when saving/restoring VGA fonts.
Signed-off-by: Francisco Jerez <currojerez@riseup.net>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2009-12-16 17:04:23 +10:00
Ben Skeggs
9ddc8c52f5 drm/nouveau: remove use of -ERESTART
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2009-12-15 11:04:25 +10:00
Benjamin Herrenschmidt
81a5487756 nouveau: Fix endianness with new context program loader
When switching to request_firmware() to load the context programs,
some endian fixes need to be applied. This makes it work again on
my quad g5 nvidia 6600.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2009-12-15 10:57:50 +10:00
Ben Skeggs
b694dfb25a drm/nouveau: fix build with CONFIG_AGP=n
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2009-12-15 10:57:36 +10:00
Randy Dunlap
61c2bb4569 drm/nouveau: fix ch7006 build
The ch7006 driver could be built even when nouveau was not enabled,
but the build fails in that case, so make it depend on DRM_NOUVEUA.

Also make the I2c encoder/helper chips menu depend on I2C (no build
error, just visual inspection).

ERROR: "drm_helper_probe_single_connector_modes" [drivers/gpu/drm/i2c/ch7006.ko] undefined!

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2009-12-15 09:49:18 +10:00
Ben Skeggs
6ee738610f drm/nouveau: Add DRM driver for NVIDIA GPUs
This adds a drm/kms staging non-API stable driver for GPUs from NVIDIA.

This driver is a KMS-based driver and requires a compatible nouveau
userspace libdrm and nouveau X.org driver.

This driver requires firmware files not available in this kernel tree,
interested parties can find them via the nouveau project git archive.

This driver is reverse engineered, and is in no way supported by nVidia.

Support for nearly the complete range of nvidia hw from nv04->g80 (nv50)
is available, and the kms driver should support driving nearly all
output types (displayport is under development still) along with supporting
suspend/resume.

This work is all from the upstream nouveau project found at
nouveau.freedesktop.org.

The original authors list from nouveau git tree is:
Anssi Hannula <anssi.hannula@iki.fi>
Ben Skeggs <bskeggs@redhat.com>
Francisco Jerez <currojerez@riseup.net>
Maarten Maathuis <madman2003@gmail.com>
Marcin Kościelnicki <koriakin@0x04.net>
Matthew Garrett <mjg@redhat.com>
Matt Parnell <mparnell@gmail.com>
Patrice Mandin <patmandin@gmail.com>
Pekka Paalanen <pq@iki.fi>
Xavier Chantry <shiningxc@gmail.com>
along with project founder Stephane Marchesin <marchesin@icps.u-strasbg.fr>

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2009-12-11 21:29:34 +10:00