summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau (follow)
Commit message (Collapse)AuthorAgeFilesLines
* drm/nouveau/bios: fix a bit shift error introduced by 457e77bSergei Antonov2014-04-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | Commit 457e77b26428ab4a24998eecfb99f27fa4195397 added two checks applied to a value received from nv_rd32(bios, 0x619f04). But after this new piece of code is executed, the addr local variable does not hold the same value it used to hold before the commit. Here is what is was assigned in the original code: (u64)(nv_rd32(bios, 0x619f04) & 0xffffff00) << 8 in the committed code it ends up with this value: (u64)(nv_rd32(bios, 0x619f04) >> 8) << 8 These expressions are obviously not equivalent. My Nvidia video card does not show anything on the display when I boot a kernel containing this commit. The patch fixes the code so that the new checks are still done, but the side effect of an incorrect addr value is gone. Cc: Ben Skeggs <bskeggs@redhat.com> Cc: Dave Airlie <airlied@redhat.com> Cc: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Sergei Antonov <saproj@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linuxLinus Torvalds2014-04-08157-4445/+10065
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pull drm updates from Dave Airlie: "Highlights: - drm: Generic display port aux features, primary plane support, drm master management fixes, logging cleanups, enforced locking checks (instead of docs), documentation improvements, minor number handling cleanup, pseudofs for shared inodes. - ttm: add ability to allocate from both ends - i915: broadwell features, power domain and runtime pm, per-process address space infrastructure (not enabled) - msm: power management, hdmi audio support - nouveau: ongoing GPU fault recovery, initial maxwell support, random fixes - exynos: refactored driver to clean up a lot of abstraction, DP support moved into drm, LVDS bridge support added, parallel panel support - gma500: SGX MMU support, SGX irq handling, asle irq work fixes - radeon: video engine bringup, ring handling fixes, use dp aux helpers - vmwgfx: add rendernode support" * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (849 commits) DRM: armada: fix corruption while loading cursors drm/dp_helper: don't return EPROTO for defers (v2) drm/bridge: export ptn3460_init function drm/exynos: remove MODULE_DEVICE_TABLE definitions ARM: dts: exynos4412-trats2: enable exynos/fimd node ARM: dts: exynos4210-trats: enable exynos/fimd node ARM: dts: exynos4412-trats2: add panel node ARM: dts: exynos4210-trats: add panel node ARM: dts: exynos4: add MIPI DSI Master node drm/panel: add S6E8AA0 driver ARM: dts: exynos4210-universal_c210: add proper panel node drm/panel: add ld9040 driver panel/ld9040: add DT bindings panel/s6e8aa0: add DT bindings drm/exynos: add DSIM driver exynos/dsim: add DT bindings drm/exynos: disallow fbdev initialization if no device is connected drm/mipi_dsi: create dsi devices only for nodes with reg property drm/mipi_dsi: add flags to DSI messages Skip intel_crt_init for Dell XPS 8700 ...
| * Merge tag 'drm-intel-fixes-2014-04-04' of ↵Dave Airlie2014-04-051-4/+10
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://anongit.freedesktop.org/drm-intel into drm-next Merge window -fixes pull request as usual. Well, I did sneak in Jani's drm_i915_private_t typedef removal, need to have fun with a big sed job too ;-) Otherwise: - hdmi interlaced fixes (Jesse&Ville) - pipe error/underrun/crc tracking fixes, regression in late 3.14-rc (but not cc: stable since only really relevant for igt runs) - large cursor wm fixes (Chris) - fix gpu turbo boost/throttle again, was getting stuck due to vlv rps patches (Chris+Imre) - fix runtime pm fallout (Paulo) - bios framebuffer inherit fix (Chris) - a few smaller things * tag 'drm-intel-fixes-2014-04-04' of git://anongit.freedesktop.org/drm-intel: (196 commits) Skip intel_crt_init for Dell XPS 8700 drm/i915: vlv: fix RPS interrupt mask setting Revert "drm/i915/vlv: fixup DDR freq detection per Punit spec" drm/i915: move power domain init earlier during system resume drm/i915: Fix the computation of required fb size for pipe drm/i915: don't get/put runtime PM at the debugfs forcewake file drm/i915: fix WARNs when reading DDI state while suspended drm/i915: don't read cursor registers on powered down pipes drm/i915: get runtime PM at i915_display_info drm/i915: don't read pp_ctrl_reg if we're suspended drm/i915: get runtime PM at i915_reg_read_ioctl drm/i915: don't schedule force_wake_timer at gen6_read drm/i915: vlv: reserve the GT power context only once during driver init drm/i915: prefer struct drm_i915_private to drm_i915_private_t drm/i915/overlay: prefer struct drm_i915_private to drm_i915_private_t drm/i915/ringbuffer: prefer struct drm_i915_private to drm_i915_private_t drm/i915/display: prefer struct drm_i915_private to drm_i915_private_t drm/i915/irq: prefer struct drm_i915_private to drm_i915_private_t drm/i915/gem: prefer struct drm_i915_private to drm_i915_private_t drm/i915/dma: prefer struct drm_i915_private to drm_i915_private_t ...
| | * Merge tag 'v3.14' into drm-intel-next-queuedDaniel Vetter2014-03-311-4/+10
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Linux 3.14 The vt-d w/a merged late in 3.14-rc needs a bit of fine-tuning, hence backmerge. Conflicts: drivers/gpu/drm/i915/i915_gem_gtt.c drivers/gpu/drm/i915/intel_ddi.c drivers/gpu/drm/i915/intel_dp.c All trivial adjacent lines changed type conflicts, so trivial git doesn't even show them in the merg commit. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
| * | \ Merge branch 'primary-plane' of git://people.freedesktop.org/~robclark/linux ↵Dave Airlie2014-04-024-23/+24
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into drm-next Here's the latest iteration of the universal planes work, which I believe is finally ready for merging. Aside from the minor driver patches to use the new drm_for_each_legacy_plane() macro for plane loops, these should all have an r-b from Rob Clark now. Actual userspace-visibility is currently hidden behind a drm.universal_planes module parameter so that we can do some experimental testing of this before flipping it on universally. * 'primary-plane' of git://people.freedesktop.org/~robclark/linux: drm/doc: Update plane documentation and add plane helper library drm: Allow userspace to ask for universal plane list (v2) drm: Remove unused drm_crtc->fb drm: Replace crtc fb with primary plane fb (v3) drm/msm: Switch to universal plane API's drm: Add drm_crtc_init_with_planes() (v2) drm: Add plane type property (v2) drm: Add drm_universal_plane_init() drm: Add primary plane helpers (v3) drm: Make drm_crtc_check_viewport non-static drm/shmobile: Restrict plane loops to only operate on legacy planes drm/i915: Restrict plane loops to only operate on overlay planes (v2) drm/exynos: Restrict plane loops to only operate on overlay planes (v2) drm: Add support for multiple plane types (v2)
| | * | | drm: Replace crtc fb with primary plane fb (v3)Matt Roper2014-04-024-23/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that CRTC's have a primary plane, there's no need to track the framebuffer in the CRTC. Replace all references to the CRTC fb with the primary plane's fb. This patch was generated by the Coccinelle semantic patching tool using the following rules: @@ struct drm_crtc C; @@ - (C).fb + C.primary->fb @@ struct drm_crtc *C; @@ - (C)->fb + C->primary->fb v3: Generate patch via coccinelle. Actual removal of crtc->fb has been moved to a subsequent patch. v2: Fixup several lingering crtc->fb instances that were missed in the first patch iteration. [Rob Clark] Signed-off-by: Matt Roper <matthew.d.roper@intel.com> Reviewed-by: Rob Clark <robdclark@gmail.com>
| * | | | drm/nouveau: don't suspend/resume display on runtime s/rDave Airlie2014-04-021-7/+5
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | This should ensure we don't hit a locking problem when someone wakes us up via a connector, we should never go into suspend while the display is on anyways. Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | | drm/nouveau: fix missing newlineAlexandre Courbot2014-03-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a missing newline at the end of a DRM_INFO message. Signed-off-by: Alexandre Courbot <acourbot@nvidia.com> Reviewed-by: Thierry Reding <treding@nvidia.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | | drm/nouveau/bios: fetch the vbios from PROM using only aligned 32-bit accessesMartin Peres2014-03-261-14/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Other kind of accesses are unreliable on Kepler cards. As advised by NVIDIA, let's only use 32-bit accesses to fetch the vbios from PROM. This fixes vbios fetching on my nve7 which failed in certain specific conditions. I suggest we Cc stable, for all kernels they still maintain after the big rewrite. Suggested-by: Christian Zander <czander@nvidia.com> Signed-off-by: Martin Peres <martin.peres@free.fr> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | | drm/nouveau/therm: let the vbios decide on the automatic fan management modeMartin Peres2014-03-264-8/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This should fix automatic fan management on fermi cards who do not have 0x46 entries in the thermal table. On my nve6, the blob sets the default linear range from 40°C to 100°C but my nvcf's default values are 40°C to 85°C. Let's keep 85 as a default for everyone. Signed-off-by: Martin Peres <martin.peres@labri.fr> Tested-by: Timothée Ravier <tim@siosm.fr> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | | drm/nvd7/therm: handle another kind of PWM fansMartin Peres2014-03-266-16/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This should fix fan management on many nvd7+ chipsets. Signed-off-by: Martin Peres <martin.peres@labri.fr> Tested-by: Timothée Ravier <tim@siosm.fr> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | | drm/nouveau/pm/fan: drop the fan lock in fan_update() before reschedulingMartin Peres2014-03-261-6/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This should fix a deadlock that has been reported to us where fan_update() would hold the fan lock and try to grab the alarm_program_lock to reschedule an update. On an other CPU, the alarm_program_lock would have been taken before calling fan_update(), leading to a deadlock. We should Cc: <stable@vger.kernel.org> # 3.9+ Reported-by: Marcin Slusarz <marcin.slusarz@gmail.com> Tested-by: Timothée Ravier <tim@siosm.fr> Tested-by: Boris Fersing (IRC nick fersingb, no public email address) Signed-off-by: Martin Peres <martin.peres@free.fr> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | | drm/nouveau: fix small thinko in vblank timestamping.Mario Kleiner2014-03-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | *hpos horizontal scanout position doesn't need to be corrected to count the pixels between hactive end and htotal negative. That is only needed for *vpos to count lines until end of vblank for the vblank timestamping. Use hpos as is without correction. Removes occassional spikes in timestamps of up to 1 scanline duration, thereby improves accuracy to about +/- 2 usecs instead of +/- 12 usecs, wrt. true onset time as measured with high precision equipment on NV-A5. Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | | drm/nouveau/therm: check for sensor presence with requested mode, not currentBen Skeggs2014-03-261-1/+1
| | | | | | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | | drm/nouveau/disp/dp: allow 540MHz data rateIlia Mirkin2014-03-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76319 Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | | drm/nouveau: recognise higher link rate for available dp bw calculationsBen Skeggs2014-03-261-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | I should resurrect/merge that cleanup branch to remove the weird duplication.. One day. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | | drm/nouveau/disp: limit dp capabilities as per dcbBen Skeggs2014-03-262-1/+36
| | | | | | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | | drm/nva3/fbram: restrict training pattern setup to GT218Ben Skeggs2014-03-261-15/+17
| | | | | | | | | | | | | | | | | | | | | | | | It doesn't look like the others have the registers. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | | drm/nva3/devinit: restrict script access to some PFB regsBen Skeggs2014-03-262-0/+51
| | | | | | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | | drm/nouveau/devinit: add interface to check if a mmio access by scripts is okBen Skeggs2014-03-264-3/+11
| | | | | | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | | drm/nouveau/bios: have strap reads show on devinit spam debug levelBen Skeggs2014-03-267-11/+13
| | | | | | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | | drm/nv50/gpio: fixup reset for gpios >= 16Ben Skeggs2014-03-261-2/+3
| | | | | | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | | drm/nv50/gpio: exclude sense value from mask when changing registersBen Skeggs2014-03-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Shouldn't effect anything, was just momentarily confusing while looking at traces. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | | drm/gk104/gr: therm magic needed on some kepler boardsBen Skeggs2014-03-261-1/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Not needed everywhere, and potentially not safe to do depending on how the rest of PTHERM is configured... Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | | drm/gm107/gr: initial supportBen Skeggs2014-03-2613-7/+2942
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Our ucode only partially works at this point, so requiring binary fw image for now. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | | drm/gf100-/gf: fix a stupid typo, waiting on wrong signal for mmctxBen Skeggs2014-03-2611-11/+11
| | | | | | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | | drm/nouveau/bios: parsing of some random table needed to bring up grBen Skeggs2014-03-263-0/+133
| | | | | | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | | drm/nv50/bar: fix plymouth issues on certain efi macbooksBen Skeggs2014-03-261-1/+3
| | | | | | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | | drm/nouveau: fix fbcon not being accelerated after suspendBen Skeggs2014-03-261-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This does *not* (and is not intended to) fix the issue reported by Christoph Rudorff on the nouveau mailinglist. The patch proposed (which is similar to this one, but also reorders whether we disable accel or call fb_set_suspend first), papers over another problem entirely by avoiding touching the framebuffer. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | | drm/gf100-/gr: split ppc state into its subunitsBen Skeggs2014-03-2610-44/+62
| | | | | | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | | drm/gf100-/gf: split tpc state into its subunitsBen Skeggs2014-03-2619-270/+374
| | | | | | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | | drm/gf100-/gr: split gpc state into its subunitsBen Skeggs2014-03-2619-348/+348
| | | | | | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | | drm/gf100-/gr: tidy reg/ctx initval lists, mostly by giving them namesBen Skeggs2014-03-2620-2063/+1854
| | | | | | | | | | | | | | | | | | | | | | | | Unit names come from the Android GK20A driver. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | | drm/gk110/gr: minor adjustment to some random initvalBen Skeggs2014-03-261-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Change from traces of a newer binary driver version. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | | drm/gk104/gr: minor adjustment to some random initvalBen Skeggs2014-03-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Change from traces of a newer binary driver version. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | | drm/gf119/gr: fix bug in some random initvalBen Skeggs2014-03-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Bug noticed vs traces. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | | drm/gf110/gr: fixup gpc/tpc initvals listsBen Skeggs2014-03-261-42/+47
| | | | | | | | | | | | | | | | | | | | | | | | Differences noted vs traces. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | | drm/gk208/gr: minor adjustment to some random initvalBen Skeggs2014-03-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Change from traces of a newer binary driver version. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | | drm/gf108/gr: minor adjustment to some random initvalBen Skeggs2014-03-261-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | Bug noticed vs traces. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | | drm/gf104/gr: rename gf104 (nvc4), it came before gf106 (nvc3)Ben Skeggs2014-03-267-23/+23
| | | | | | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | | drm/nvc0-/graph: fix gpccs fuc stack setupBen Skeggs2014-03-267-935/+941
| | | | | | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | | drm/nouveau/bios: add more checks to PRAMIN image fetchingBen Skeggs2014-03-261-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prevents an attempt to access VRAM on an un-posted board, which, on a particular system with a GRID K1 installed, causes a MCE and chokes the entire system. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | | support for platform devicesAlexandre Courbot2014-03-2635-127/+305
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Upcoming mobile Kepler GPUs (such as GK20A) use the platform bus instead of PCI to which Nouveau is tightly dependent. This patch allows Nouveau to handle platform devices by: - abstracting PCI-dependent functions that were typically used for resource querying and page mapping, - introducing a nv_device_is_pci() function that allows to make PCI-dependent code conditional, - providing a nouveau_drm_platform_probe() function that takes a GPU platform device to be probed. Core code as well as engine/subdev drivers are updated wherever possible to make use of these functions. Some older drivers are too dependent on PCI to be properly updated, but all newer code on which future chips may depend should at least be runnable with platform devices. Signed-off-by: Alexandre Courbot <acourbot@nvidia.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | | drm/nouveau: support modesetting on GM107Ben Skeggs2014-03-262-0/+2
| | | | | | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | | drm/gm100/device: recognise GM107Ben Skeggs2014-03-265-0/+113
| | | | | | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | | drm/gm107/disp: initial implementationBen Skeggs2014-03-265-0/+118
| | | | | | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | | drm/gm107/ltcg: initial implementationBen Skeggs2014-03-267-75/+231
| | | | | | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | | drm/nouveau/bios: add HDMI-C (mini) connector typeBen Skeggs2014-03-262-1/+3
| | | | | | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | | drm/gm107/fb: initial implementationBen Skeggs2014-03-268-8/+109
| | | | | | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | | drm/gk20a/timer: initial implementationBen Skeggs2014-03-266-49/+126
| | | | | | | | | | | | | | | | | | | | | | | | A bit different from NVIDIA's RFC patch, but I want this now for GM107. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>