aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau
Commit message (Collapse)AuthorAge
...
* | Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linuxLinus Torvalds2013-01-08
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pull drm update from Dave Airlie: "Exynos and Radeon mostly, with a dma-buf and ttm fix thrown in. It's a bit big but its mostly exynos license fix ups and I'd rather not hold those up since its legally stuff. Radeon has a couple of fixes from dma engine work, TTM is just a locking fix, and dma-buf fix has been hanging around and I finally got a chance to review it." * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (30 commits) drm/ttm: fix fence locking in ttm_buffer_object_transfer drm/prime: drop reference on imported dma-buf come from gem drm/radeon: add quirk for d3 delay during switcheroo poweron for apple macbooks drm/exynos: move finish page flip to a common place drm/exynos: fimd: modify condition in fimd resume drm/radeon: fix DMA CS parser for r6xx linear copy packet drm/radeon: split r6xx and r7xx copy_dma functions drm/exynos: Use devm_clk_get in exynos_drm_gsc.c drm/exynos: Remove redundant NULL check in exynos_drm_gsc.c drm/exynos: Remove explicit freeing using devm_* APIs in exynos_drm_gsc.c drm/exynos: Use devm_clk_get in exynos_drm_rotator.c drm/exynos: Remove redundant NULL check in exynos_drm_rotator.c drm/exynos: Remove unnecessary devm_* freeing APIs in exynos_drm_rotator.c drm/exynos: Use devm_clk_get in exynos_drm_fimc.c drm/exynos: Remove redundant NULL check drm/exynos: Remove explicit freeing using devm_* APIs in exynos_drm_fimc.c drm/exynos: Use devm_kzalloc in exynos_drm_ipp.c drm/exynos: fix gem buffer allocation type checking drm/exynos: remove needless parenthesis. drm/exynos: fix incorrect interrupt induced by m2m operation. ...
| * | drm/prime: drop reference on imported dma-buf come from gemSeung-Woo Kim2013-01-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Increasing ref counts of both dma-buf and gem for imported dma-buf come from gem makes memory leak. release function of dma-buf cannot be called because f_count of dma-buf increased by importing gem and gem ref count cannot be decrease because of exported dma-buf. So I add dma_buf_put() for imported gem come from its own gem into each drivers having prime_import and prime_export capabilities. With this, only gem ref count is increased if importing gem exported from gem of same driver. Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com> Signed-off-by: Kyungmin.park <kyungmin.park@samsung.com> Cc: Inki Dae <inki.dae@samsung.com> Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: Rob Clark <rob.clark@linaro.org> Cc: Alex Deucher <alexander.deucher@amd.com> Cc: stable <stable@vger.kernel.org> Signed-off-by: Dave Airlie <airlied@redhat.com>
* | | Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linuxLinus Torvalds2013-01-04
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | drm/nouveau: fix init with agpgart-uninorthAaro Koskinen2013-01-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | drm: nouveau: Fix build warning seen if HWMON is undefinedGuenter Roeck2013-01-04
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* / Drivers: gpu: remove __dev* attributes.Greg Kroah-Hartman2013-01-03
|/ | | | | | | | | | | | | | | 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>
* drm/nve0/graph: fix fuc, and enable acceleration on all known chipsetsBen Skeggs2012-12-23
| | | | | | Also adds GK106 to chipsets known by ucode. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvc0/graph: fix fuc, and enable acceleration on GF119Ben Skeggs2012-12-23
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/bios: cache ramcfg strap on later chipsetsBen Skeggs2012-12-23
| | | | | | This fixes suspend/resume on at least Quadro 400. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/mxm: silence output if no bios dataBen Skeggs2012-12-23
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/bios: parse/display extra version componentBen Skeggs2012-12-23
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/bios: implement opcode 0xa9Ben Skeggs2012-12-23
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/bios: update gpio parsing apis to match current designBen Skeggs2012-12-23
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau: initial support for GK106Ben Skeggs2012-12-23
| | | | | | | | | | 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>
* drm/ttm: remove no_wait_reserve, v3Maarten Lankhorst2012-12-10
| | | | | | | | | | | | | | | | | | | | | | 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>
* Merge branch 'drm-next-3.8' of git://people.freedesktop.org/~agd5f/linux ↵Dave Airlie2012-12-10
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * drm/nouveau: use the correct fence implementation for nv50Maarten Lankhorst2012-11-21
| | | | | | | | | | | | | | | | | | | | Only compile time tested, noticed nv50_fence_create was never used, so fix this. This will probably fix vblank on nv50 cards. Hopefully this is still in time for 3.7 final release. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau/bios: fix DCB v1.5 parsingMarcin Slusarz2012-11-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | memcmp->nv_strncmp conversion, in addition to name change, should have inverted the return value. But nv_strncmp does not act like strncmp - it does not check for string terminator, returns true/false instead of -1/0/1 and has different parameters order. Let's rename it to nv_memcmp and let it act like memcmp. Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: add missing pll_calc callsMaarten Lankhorst2012-11-18
| | | | | | | | | | | | | | Fixes a null pointer dereference when reclocking on my fermi. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: fix crash with noaccel=1Marcin Slusarz2012-11-18
| | | | | | | | | | | | Reported-by: Ortwin Glück <odi@odi.ch> Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nv40: allocate ctxprog with kmallocMarcin Slusarz2012-11-18
| | | | | | | | | | | | | | | | | | | | | | Some archs defconfigs have CONFIG_FRAME_WARN set to 1024, which lead to this warning: drivers/gpu/drm/nouveau/core/engine/graph/ctxnv40.c: warning: the frame size of 1184 bytes is larger than 1024 bytes 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>
| * drm/nvc0/disp: fix thinko in vblank regression fix..Kelly Doran2012-11-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: fix acpi edid retrievalMaarten Lankhorst2012-11-08
| | | | | | | | | | | | | | | | | | Commit c0077061e7ea accidentally inverted the logic for nouveau_acpi_edid, causing it to only show a connector as connected when the edid could not be retrieved with acpi. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nvc0/disp: fix regression in vblank semaphore releaseKelly Doran2012-11-08
| | | | | | | | | | | | Signed-off-by: Kelly Doran <kel.p.doran@gmail.com> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@canonical.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nv40/mpeg: fix context handlingMarcin Slusarz2012-11-08
| | | | | | | | | | | | | | It slipped in thanks to typeless API. Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nv40/graph: fix typo in type namesMarcin Slusarz2012-11-08
| | | | | | | | | | | | | | nv04_graph_priv / nv04_graph_chan are not defined in this context... Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nv41/vm: fix typo in type nameMarcin Slusarz2012-11-08
| | | | | | | | | | | | | | | | It's a miracle it compiles at all - nv04_vm_priv does not exist anywhere in the tree. Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau: drm_connector_property -> drm_object_propertyRob Clark2012-11-30
| | | | | | | | Signed-off-by: Rob Clark <rob@ti.com>
* | drm/nouveau/device: Remove duplicate inclusion of core/device.hSachin Kamat2012-11-28
| | | | | | | | | | | | | | core/device.h was included twice. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau: remove duplicate inclusion of nouveau_ttm.hSachin Kamat2012-11-28
| | | | | | | | | | | | | | nouveau_ttm.h was included twice. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/fifo: trigger engine context unload before zeroing context pointerBen Skeggs2012-11-28
| | | | | | | | | | | | Fixes a PCE0 page fault noticed on NVD9 during module unload. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau: prevent log manglingDaniel J Blueman2012-11-28
| | | | | | | | | | | | | | | | | | 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>
* | drm/nouveau: unpin various bo's before destroyingMarcin Slusarz2012-11-28
| | | | | | | | | | | | | | 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>
* | drm/nouveau: unpin pushbuffer bo before destroying itMarcin Slusarz2012-11-28
| | | | | | | | | | | | | | 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>
* | drm/nouveau: remove misleading comment from nouveau_prime_newMarcin Slusarz2012-11-28
| | | | | | | | | | | | | | Copy/pasted from nouveau_gem_new. Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau: raise reporting levels of some messagesMarcin Slusarz2012-11-28
| | | | | | | | | | Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/core: fix the assumption that NVDEV_XXXX is always under 32Martin Peres2012-11-28
| | | | | | | | | | | | | | | | 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>
* | drm/nouveau/ppp: remove nouveau_ppp base classBen Skeggs2012-11-28
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | nve0/ppp: enable support via nvc0's implementationBen Skeggs2012-11-28
| | | | | | | | | | | | | | | | 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>
* | nvc0/ppp: initial implementation of engineMaarten Lankhorst2012-11-28
| | | | | | | | | | | | | | 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>
* | nvc0/vp: initial implementation of engineMaarten Lankhorst2012-11-28
| | | | | | | | | | | | | | 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>
* | nvc0/bsp: initial implementation of engineMaarten Lankhorst2012-11-28
| | | | | | | | | | | | | | 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>
* | drm/nouveau/vdec: remove nouveau_{bsp,vp} base classes, use nouveau_engine ↵Ben Skeggs2012-11-28
| | | | | | | | | | | | | | | | | | | | | | 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>
* | drm/nve0/fifo: allow for future binding of ppp contextsBen Skeggs2012-11-28
| | | | | | | | | | | | | | 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>
* | drm/nve0/vp: implement initial support for engineBen Skeggs2012-11-28
| | | | | | | | | | | | Will allow use of the engine if firmware (nvXX_fuc085) provided. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nve0/bsp: implement initial support for engineBen Skeggs2012-11-28
| | | | | | | | | | | | Will allow use of the engine if firmware (nvXX_fuc084) provided. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nve0: allow specification of channel engine type in abi16 callBen Skeggs2012-11-28
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | drm/nouveau/core: implement shortcut for simple engctx constructionBen Skeggs2012-11-28
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nvc0/copy: share interrupt handler with nva3Ben Skeggs2012-11-28
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nv50/fb: implement trap handler as subdev interrupt handlerBen Skeggs2012-11-28
| | | | | | | | | | | | | | 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>