summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau
AgeCommit message (Collapse)AuthorFilesLines
2013-01-04Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linuxLinus Torvalds2-3/+3
Pull radeon and minor nouveau fixes from Dave Airlie: "Just a radeon pull from Alex, fixes a few regressions since 3.7 and reworks some of the reset handling, and two minor nouveau fixes I found on the list, Ben will be back next week to take care of the couple of larger nouveau patches that I see outstanding." * 'drm-next' of git://people.freedesktop.org/~airlied/linux: drm/nouveau: fix init with agpgart-uninorth drm: nouveau: Fix build warning seen if HWMON is undefined drm/radeon: switch to a finer grained reset for SI (v2) drm/radeon: switch to a finer grained reset for cayman/TN drm/radeon: switch to a finer grained reset for evergreen drm/radeon: switch to a finer grained reset for r6xx/7xx drm/radeon: add GPU reset flags drm/radeon: fix typo in evergreen dma fence drm/radeon: Properly handle DDC probe for DP bridges drm/radeon: reset dma engine on gpu reset (v2) drm/radeon: print dma status reg on lockup (v2) drm/radeon: improve ring debugfs printing drm/radeon: add debugfs file for dma rings drm/radeon/r6xx: fix DMA engine for ttm bo transfers drm/radeon: add connector table for Mac G4 Silver
2013-01-04drm/nouveau: fix init with agpgart-uninorthAaro Koskinen1-1/+1
Check that the AGP aperture can be mapped. This follows a similar change done for Radeon (commit 365048ff, drm/radeon: AGP memory is only I/O if the aperture can be mapped by the CPU.). The patch fixes the following error seen on G5 iMac: nouveau E[ DRM] failed to create kernel channel, -12 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=58806 Cc: stable@vger.kernel.org Reviewed-by: Michel Dänzer <michel@daenzer.net> Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi> Signed-off-by: Dave Airlie <airlied@redhat.com>
2013-01-04drm: nouveau: Fix build warning seen if HWMON is undefinedGuenter Roeck1-2/+2
Fix: nouveau_pm.c: In function ‘nouveau_hwmon_init’: nouveau_pm.c:703:24: warning: unused variable ‘therm’ [-Wunused-variable] Introduced by commit 095f979a (drm/nouveau/pm: fix build with HWMON off) which fixed a build error but introduced a build warning. Cc: Randy Dunlap <rdunlap@xenotime.net> Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Dave Airlie <airlied@redhat.com>
2013-01-03Drivers: gpu: remove __dev* attributes.Greg Kroah-Hartman1-2/+2
CONFIG_HOTPLUG is going away as an option. As a result, the __dev* markings need to be removed. This change removes the use of __devinit, __devexit_p, and __devexit from these drivers. Based on patches originally written by Bill Pemberton, but redone by me in order to handle some of the coding style issues better, by hand. Cc: Bill Pemberton <wfp5p@virginia.edu> Cc: David Airlie <airlied@linux.ie> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-12-23drm/nve0/graph: fix fuc, and enable acceleration on all known chipsetsBen Skeggs5-86/+108
Also adds GK106 to chipsets known by ucode. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-12-23drm/nvc0/graph: fix fuc, and enable acceleration on GF119Ben Skeggs3-83/+85
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-12-23drm/nouveau/bios: cache ramcfg strap on later chipsetsBen Skeggs2-1/+18
This fixes suspend/resume on at least Quadro 400. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-12-23drm/nouveau/mxm: silence output if no bios dataBen Skeggs1-1/+1
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-12-23drm/nouveau/bios: parse/display extra version componentBen Skeggs2-2/+4
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-12-23drm/nouveau/bios: implement opcode 0xa9Ben Skeggs5-8/+53
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-12-23drm/nouveau/bios: update gpio parsing apis to match current designBen Skeggs5-61/+90
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-12-23drm/nouveau: initial support for GK106Ben Skeggs3-0/+30
Modesetting seems to work alright, as does graphics (using binary driver fuc from nve7...). Lots to be done no doubt, but this'll get an image on the screen for people. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-12-10drm/ttm: remove no_wait_reserve, v3Maarten Lankhorst3-31/+28
All items on the lru list are always reservable, so this is a stupid thing to keep. Not only that, it is used in a way which would guarantee deadlocks if it were ever to be set to block on reserve. This is a lot of churn, but mostly because of the removal of the argument which can be nested arbitrarily deeply in many places. No change of code in this patch except removal of the no_wait_reserve argument, the previous patch removed the use of no_wait_reserve. v2: - Warn if -EBUSY is returned on reservation, all objects on the list should be reservable. Adjusted patch slightly due to conflicts. v3: - Focus on no_wait_reserve removal only. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com> Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-12-10Merge branch 'drm-next-3.8' of git://people.freedesktop.org/~agd5f/linux ↵Dave Airlie14-29/+74
into drm-next Alex writes: Pretty minor -next pull request. We some additional new bits waiting internally for release. Hopefully Monday we can get at least some of them out. The others will probably take a few more weeks. Highlights of the current request: - ELD registers for passing audio information to the sound hardware - Handle GPUVM page faults more gracefully - Misc fixes Merge radeon test * 'drm-next-3.8' of git://people.freedesktop.org/~agd5f/linux: (483 commits) drm/radeon: bump driver version for new info ioctl requests drm/radeon: fix eDP clk and lane setup for scaled modes drm/radeon: add new INFO ioctl requests drm/radeon/dce32+: use fractional fb dividers for high clocks drm/radeon: use cached memory when evicting for vram on non agp drm/radeon: add a CS flag END_OF_FRAME drm/radeon: stop page faults from hanging the system (v2) drm/radeon/dce4/5: add registers for ELD handling drm/radeon/dce3.2: add registers for ELD handling radeon: fix pll/ctrc mapping on dce2 and dce3 hardware Linux 3.7-rc7 powerpc/eeh: Do not invalidate PE properly Revert "drm/i915: enable rc6 on ilk again" ALSA: hda - Fix build without CONFIG_PM of/address: sparc: Declare of_iomap as an extern function for sparc again PM / QoS: fix wrong error-checking condition bnx2x: remove redundant warning log vxlan: fix command usage in its doc 8139cp: revert "set ring address before enabling receiver" MPI: Fix compilation on MIPS with GCC 4.4 and newer ... Conflicts: drivers/gpu/drm/exynos/exynos_drm_encoder.c drivers/gpu/drm/exynos/exynos_drm_fbdev.c drivers/gpu/drm/nouveau/core/engine/disp/nv50.c
2012-11-30drm/nouveau: drm_connector_property -> drm_object_propertyRob Clark2-19/+19
Signed-off-by: Rob Clark <rob@ti.com>
2012-11-29drm/nouveau/device: Remove duplicate inclusion of core/device.hSachin Kamat1-1/+0
core/device.h was included twice. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nouveau: remove duplicate inclusion of nouveau_ttm.hSachin Kamat1-2/+0
nouveau_ttm.h was included twice. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nouveau/fifo: trigger engine context unload before zeroing context pointerBen Skeggs4-25/+25
Fixes a PCE0 page fault noticed on NVD9 during module unload. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nouveau: prevent log manglingDaniel J Blueman1-1/+1
On 3.7-rc6, add missing newline to to prevent the following kernel log line getting appended to the current one after switching the integrated GPU and suspending the discrete GPU. Signed-off-by: Daniel J Blueman <daniel@quora.org> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nouveau: unpin various bo's before destroyingMarcin Slusarz5-7/+39
These objects leak VRAM - but only on module unload. Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nouveau: unpin pushbuffer bo before destroying itMarcin Slusarz1-0/+2
Fixes GART leak (as accounted by nouveau_drm.gem.gart_available). Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nouveau: remove misleading comment from nouveau_prime_newMarcin Slusarz1-4/+0
Copy/pasted from nouveau_gem_new. Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nouveau: raise reporting levels of some messagesMarcin Slusarz6-13/+13
Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nouveau/core: fix the assumption that NVDEV_XXXX is always under 32Martin Peres11-58/+58
It fixes a bug that would have been introduced when adding more sudevs/engines. Signed-off-by: Martin Peres <martin.peres@labri.fr> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nouveau/ppp: remove nouveau_ppp base classBen Skeggs2-131/+15
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29nve0/ppp: enable support via nvc0's implementationBen Skeggs1-0/+3
NVIDIA also appear to use the same class on Fermi/Kepler for PPP. Will allow use of the engine if firmware (nvXX_fuc086) provided. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29nvc0/ppp: initial implementation of engineMaarten Lankhorst4-8/+120
Will allow use of the engine if firmware (nvXX_fuc086) provided. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29nvc0/vp: initial implementation of engineMaarten Lankhorst4-8/+120
Will allow use of the engine if firmware (nvXX_fuc085) provided. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29nvc0/bsp: initial implementation of engineMaarten Lankhorst5-9/+130
Will allow use of the engine if firmware (nvXX_fuc084) provided. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nouveau/vdec: remove nouveau_{bsp,vp} base classes, use nouveau_engine ↵Ben Skeggs4-268/+26
directly Later chipsets use falcon anyway, and I can't currently see a good need for a shared base class. PPP will get the same treatment once Maarten's patches are merged. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nve0/fifo: allow for future binding of ppp contextsBen Skeggs1-0/+2
No support for the class yet, but will be pulled in with Maarten's Fermi vdec patches. The Kepler PPP class is identical. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nve0/vp: implement initial support for engineBen Skeggs6-0/+118
Will allow use of the engine if firmware (nvXX_fuc085) provided. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nve0/bsp: implement initial support for engineBen Skeggs5-0/+117
Will allow use of the engine if firmware (nvXX_fuc084) provided. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nve0: allow specification of channel engine type in abi16 callBen Skeggs3-11/+18
Previously, if either vram/gart handles were specified as ~0, the ioctl call would fail. In order to hack engine selection into the ioctl for kepler, we now define (fb_ctxdma_handle == ~0) to mean "engine mask is in tt_ctxdma_handle". This approach also allows new userspace to detect lack of support for non-PGRAPH channels on older kernels. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nouveau/core: implement shortcut for simple engctx constructionBen Skeggs8-115/+24
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nvc0/copy: share interrupt handler with nva3Ben Skeggs3-59/+16
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nv50/fb: implement trap handler as subdev interrupt handlerBen Skeggs10-111/+104
nv50_fb_trap() will now be called automagically by the mc intr handler, rather than each engine's handler having to check for traps manually. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nouveau/mc: allow calling of multiple handlers for a give intr bitBen Skeggs1-4/+4
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nouveau/copy: remove nouveau_copy base classBen Skeggs2-56/+19
nva3/nvc0 are using falcon, nve0 is now using engine directly. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nvc0/copy: use nouveau_falcon base classBen Skeggs1-73/+53
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@canonical.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nva3/copy: use nouveau_falcon base classBen Skeggs1-59/+22
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nv98/crypt: use nouveau_falcon base classBen Skeggs3-95/+35
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nouveau: initial falcon (fuc) engine base class implementationBen Skeggs3-0/+328
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nouveau: convert to dev_pm_opsDave Airlie3-31/+71
This is a precursor to dynamic power management support for nouveau, we need to use pm ops for that, so first convert the driver to using pm ops interfaces. Signed-off-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nouveau: Add interface to detect optimus and v1 supportDave Airlie2-12/+22
This is required to decide if we can auto-powerdown and how to implement it. Signed-off-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nouveau/disp: add support for 10bpc over DisplayPortBen Skeggs3-6/+16
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nouveau: rename nvd0_display to nv50_display to reflect reality since mergeBen Skeggs9-279/+268
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nv50-nvc0: switch to common disp impl, removing previous versionBen Skeggs17-2700/+31
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nvd0/disp: implement support for colour vibrance controlBen Skeggs2-1/+36
Ported from original nv50 commit by Christoph, with added support for the setting on later chipsets. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nvd0/disp: remove fetching of capabilities reportBen Skeggs1-7/+1
Unused, and caused a race with evo_sync(). Will revisit using it properly later on. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>