summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/nouveau/core/subdev
AgeCommit message (Collapse)Author
2013-02-28drm/nouveau/bios: store a type/mask hash in parsed dcb dataBen Skeggs
commit 8e992c8d9eebc2bd3246252ee5c0422dbbbce7ae upstream. Matches format used by a couple of other vbios tables, useful to have laying around already calculated. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-02-28drm/nouveau/bios: parse external transmitter type if off-chipBen Skeggs
commit f3ed1048715f2edc10c4dda6148b60e93f6282ed upstream. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-31drm/nv50/fb: Fix nullptr-deref on IGPsRoy Spliet
When COMP_MAX_TAG == 0, the tags mm was uninitialised. Fixed by initialising with zero length. v2: Fix style error Signed-off-by: Roy Spliet <r.spliet@student.tudelft.nl> Tested-by: Roy Spliet <r.spliet@student.tudelft.nl> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-01-13drm/nvc0/fb: fix crash when different mutex is used to protect same listAleksi Torhamo
Fixes regression introduced in commit 861d2107 "drm/nouveau/fb: merge fb/vram and port to subdev interfaces" nv50_fb_vram_{new,del} functions were changed to use nouveau_subdev->mutex instead of the old nouveau_mm->mutex. nvc0_fb_vram_new still uses the nouveau_mm->mutex, but nvc0 doesn't have its own fb_vram_del function, using nv50_fb_vram_del instead. Because of this, on nvc0 a different mutex ends up being used to protect additions and deletions to the same list. This patch is a -stable candidate for 3.7. Signed-off-by: Aleksi Torhamo <aleksi@torhamo.net> Reported-by: Roy Spliet <r.spliet@student.tudelft.nl> Tested-by: Roy Spliet <r.spliet@student.tudelft.nl> Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Cc: stable@vger.kernel.org
2013-01-13drm/nouveau/clock: fix support for more than 2 monitors on nve0Aleksi Torhamo
Fixes regression introduced in commit 70790f4f "drm/nouveau/clock: pull in the implementation from all over the place" When code was moved from nv50_crtc_set_clock to nvc0_clock_pll_set, the PLLs it is used for got limited to only the first two VPLLs. nv50_crtc_set_clock was only called to change VPLLs, so it didn't limit what it was used for in any way. Since nvc0_clock_pll_set is used for all PLLs, it has to specify which PLLs the code is used for, and only listed the first two VPLLs. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=58735 This patch is a -stable candidate for 3.7. Signed-off-by: Aleksi Torhamo <aleksi@torhamo.net> Tested-by: Aleksi Torhamo <aleksi@torhamo.net> Tested-by: Sean Santos <quantheory@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Cc: stable@vger.kernel.org
2013-01-13drm/nouveau/vm: fix memory corruption when pgt allocation failsMarcin Slusarz
If we return freed vm, nouveau_drm_open will happily call nouveau_cli_destroy, which will try to free it again. Reported-by: Peter Hurley <peter@hurleysoftware.com> Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-01-13drm/nouveau: add locking around instobj list operationsMarcin Slusarz
Fixes memory corruptions, oopses, etc. when multiple gpuobjs are simultaneously created or destroyed. Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Cc: stable@vger.kernel.org
2013-01-13drm/nouveau/devinit: ensure legacy vga control is enabled during postBen Skeggs
Fixes ACPI backlight control after suspend on some systems. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-12-23drm/nouveau/bios: cache ramcfg strap on later chipsetsBen Skeggs
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 Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-12-23drm/nouveau/bios: parse/display extra version componentBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-12-23drm/nouveau/bios: implement opcode 0xa9Ben Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-12-23drm/nouveau/bios: update gpio parsing apis to match current designBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-12-23drm/nouveau: initial support for GK106Ben Skeggs
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-10Merge branch 'drm-next-3.8' of git://people.freedesktop.org/~agd5f/linux ↵Dave Airlie
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-29drm/nouveau/device: Remove duplicate inclusion of core/device.hSachin Kamat
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: prevent log manglingDaniel J Blueman
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-29nve0/ppp: enable support via nvc0's implementationBen Skeggs
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 Lankhorst
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 Lankhorst
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 Lankhorst
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/nve0/vp: implement initial support for engineBen Skeggs
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 Skeggs
Will allow use of the engine if firmware (nvXX_fuc084) provided. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nv50/fb: implement trap handler as subdev interrupt handlerBen Skeggs
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 Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nouveau: remove (now obsolete) BIT U table parsing from DRM codeBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nouveau/bios: implement some dcb output entry parsing/matching functionsBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nouveau/bios: implement "full" BIT 'd' table (and subtable) parsing in coreBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nouveau/core: add some missing subdev/engine disable flagsBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nouveau/bios: implement BIT 'U' table (and subtable) parsing in coreBen Skeggs
This will, in the near future, replace what's currently in the DRM nouveau_bios.c code. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nvd0-nve0/disp: initial implementation of evo channel classesBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nv50/disp: create skeleton display/channel object classesBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nvd0/dmaobj: duplicate fermi class, will diverge real soon nowBen Skeggs
The hardware dmaobj format completely changed in GF119, so these will need a separate implementation. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nouveau: pass address to object accessor functions as u64Ben Skeggs
Will be required by future work. Make the API change now to catch any (but hopefully none) unexpected fallout. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nouveau/gpio: place upper limit on using old-school tvdac bios dataBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nouveau/clk: fix crystal frequency retrieval on nv25Viktor Novotný
Signed-off-by: Viktor Novotný <noviktor@seznam.cz> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nouveau: remove unused variable from nouveau_bios_shadow_ofMarcin Slusarz
drivers/gpu/drm/nouveau/core/subdev/bios/base.c: warning: unused variable 'i' Reported-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nv40/fb: use an actual compressed zeta formatBen Skeggs
SPLIT is apparently just that, and only splits Z and S components. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nv30/fb: enable z compressionBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nv40/fb: enable z compressionBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nv20/fb: fixup compression tag allocation sizeBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nv30-nv40/fb: call zcomp setup hook from tiling setupBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nouveau/fb: create tag heap from common code for all relevant chipsetsBen Skeggs
A nv2x bug wrt hardcoded tag counts is now also fixed as a side-effect. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nv30/fb: start bashing zcomp registers with 'disabled' (for now)Ben Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nouveau: replace some open-coded mm_initialised checksBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nouveau/fb: read TILE_BASE after writing it to avoid a hardware raceBen Skeggs
Apparently needed for turbocache nv4x chips at least, we'll just do it everywhere... Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nv40/fb: start bashing zcomp registers on relevant chipsetsBen Skeggs
Always bashing "disabled" for now, actual compressing coming up... Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nv30-nv40/fb: make use of bankoff for zeta buffers, where supportedBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nv20/fb: fix zcomp register calculation on big-endian systemsBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2012-11-29drm/nv40/fb: split implementation into nv40/nv41/nv44/nv46/nv47/nv49/nv4e piecesBen Skeggs
Wow, this is a nice complicated mess of build-your-own-mc blocks... Signed-off-by: Ben Skeggs <bskeggs@redhat.com>