summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'linux-3.16' of ↵Dave Airlie2014-07-151-3/+3
|\ | | | | | | | | | | | | | | | | git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-fixes deadlock fix. * 'linux-3.16' of git://anongit.freedesktop.org/git/nouveau/linux-2.6: drm/nouveau/therm: fix a potential deadlock in the therm monitoring code
| * drm/nouveau/therm: fix a potential deadlock in the therm monitoring codeMartin Peres2014-07-151-3/+3
| | | | | | | | | | | | Signed-off-by: Martin Peres <martin.peres@free.fr> Tested-by: Stefan Ringel <mail@stefanringel.de> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | Merge branch 'drm-nouveau-next' of ↵Dave Airlie2014-07-1010-31/+29
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-fixes A couple of DP regression fixes, kepler memory reclocking fixes, and a fix for an annoying display issue that can pop up on resume. * 'drm-nouveau-next' of git://anongit.freedesktop.org/git/nouveau/linux-2.6: drm/nouveau/ram: fix test for gpio presence drm/nouveau/dp: workaround broken display drm/nouveau/dp: fix required link bandwidth calculations drm/nouveau/kms: restore fbcon after display has been resumed drm/nv50-/kms: pass a non-zero value for head to sor dpms methods drm/nouveau/fb: Prevent inlining of ramfuc_reg drm/gk104/ram: bash mpll bit 31 on
| * drm/nouveau/ram: fix test for gpio presenceBen Skeggs2014-07-081-1/+1
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau/dp: workaround broken displayBen Skeggs2014-07-081-0/+1
| | | | | | | | | | | | | | | | | | | | The display in fdo#76483 pulses the hotplug line for link retraining after we cut power to the main link on the source, even while it's in D3. fdo#76483 Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau/dp: fix required link bandwidth calculationsBen Skeggs2014-07-083-9/+11
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau/kms: restore fbcon after display has been resumedBen Skeggs2014-07-083-19/+12
| | | | | | | | | | | | | | | | | | | | | | | | Under some complicated circumstances (boot, suspend, resume, attach second display, suspend, resume, suspend, detach second display, resume, suspend, attach second display, resume), the fb_set_suspend() call can somehow result in a modeset being attempted before we're ready for it and things blow up in fun ways. Running display init first fixes the issue. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nv50-/kms: pass a non-zero value for head to sor dpms methodsBen Skeggs2014-07-081-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | There's Apple machines out there which (probably completely arbitrarily) restrict each output path to a particular head. This causes us to not be able to locate the output data needed to power on/off the DP output correctly. We fix this by passing in a head index we know is valid (as opposed to "head 0"). Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau/fb: Prevent inlining of ramfuc_regStéphane Marchesin2014-07-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When gcc 4.8 inlines this function, it eats up 16 bytes on the stack every time. Eventually we hit warnings because our stack grew too much: ramnve0.c:1383:1: error: the frame size of 1496 bytes is larger than 1024 bytes We fix this by preventing inlining for this function. Signed-off-by: Stéphane Marchesin <marcheu@chromium.org> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/gk104/ram: bash mpll bit 31 onBen Skeggs2014-07-081-0/+1
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | Merge branch 'drm-nouveau-next' of ↵Dave Airlie2014-06-185-3/+46
|\ \ | |/ | | | | | | | | | | | | | | git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next couple more DP regression fixes. * 'drm-nouveau-next' of git://anongit.freedesktop.org/git/nouveau/linux-2.6: drm/nouveau/disp: fix oops in destructor with headless cards drm/gf117/i2c: no aux channels on this chipset
| * drm/nouveau/disp: fix oops in destructor with headless cardsMaarten Lankhorst2014-06-181-2/+4
| | | | | | | | | | | | | | | | If init doesn't run then disp->outp might not be initialized, resulting in an oops. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/gf117/i2c: no aux channels on this chipsetBen Skeggs2014-06-184-1/+42
| | | | | | | | | | Reported-by: Maarten Lankhorst <maarten.lankhorst@canonical.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | Merge branch 'drm-nouveau-next' of ↵Dave Airlie2014-06-1724-760/+1084
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next This is bigger because it regenerates the internal firmwares after a fix. * 'drm-nouveau-next' of git://anongit.freedesktop.org/git/nouveau/linux-2.6: drm/nouveau/doc: update the thermal documentation drm/nouveau/pwr: fix typo in fifo wrap handling drm/nv50/disp: fix a potential oops in supervisor handling drm/nouveau/disp/dp: don't touch link config after success drm/nouveau/kms: reference vblank for crtc during pageflip. drm/gk104/fb/ram: fixups from an earlier search+replace drm/nv50/gr: remove an unneeded write while initialising PGRAPH drm/nv50/gr: fix overlap while zeroing zcull regions drm/gf100-/gr: report class data to host on fwmthd failure drm/gk104/ibus: increase various random timeouts drm/gk104/clk: only touch divider for mode we'll be using
| * drm/nouveau/pwr: fix typo in fifo wrap handlingBen Skeggs2014-06-175-5/+5
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nv50/disp: fix a potential oops in supervisor handlingBen Skeggs2014-06-171-1/+1
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau/disp/dp: don't touch link config after successBen Skeggs2014-06-171-4/+3
| | | | | | | | | | | | I don't know of anything this fixes, but it seems wrong anyway. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau/kms: reference vblank for crtc during pageflip.Mario Kleiner2014-06-171-0/+7
| | | | | | | | | | | | | | | | | | | | | | Need to drm_vblank_get/put() the crtc involved in a pending pageflip, or we might not get vblank irqs and updates of vblank counts and timestamps for pageflip events and flip completion. Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Cc: stable@vger.kernel.org
| * drm/gk104/fb/ram: fixups from an earlier search+replaceBen Skeggs2014-06-171-38/+38
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nv50/gr: remove an unneeded write while initialising PGRAPHPierre Moreau2014-06-171-1/+0
| | | | | | | | | | | | | | | | | | | | The blob does not seem to write at that place for my NVAC, though it does for my NV96, agreeing with what is done in the if/else structure below. I guess someone forgot to remove the line when the if/else was put in place. Signed-off-by: Pierre Moreau <pierre.morrow@free.fr> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nv50/gr: fix overlap while zeroing zcull regionsPierre Moreau2014-06-171-4/+4
| | | | | | | | | | | | | | | | The specified stride was not correct, resulting in erases overlapping and part of the zcull regions being not erased at all. Signed-off-by: Pierre Moreau <pierre.morrow@free.fr> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/gf100-/gr: report class data to host on fwmthd failureBen Skeggs2014-06-1712-703/+1003
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/gk104/ibus: increase various random timeoutsBen Skeggs2014-06-171-1/+18
| | | | | | | | | | | | | | | | Fixes (at least) PTHERM accesses timing out at higher clock speeds. Values and registers taken from what the binary driver does. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/gk104/clk: only touch divider for mode we'll be usingBen Skeggs2014-06-171-3/+5
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linuxLinus Torvalds2014-06-12136-1611/+4037
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pull drm updates from Dave Airlie: "This is the main drm merge window pull request, changes all over the place, mostly normal levels of churn. Highlights: Core drm: More cleanups, fix race on connector/encoder naming, docs updates, object locking rework in prep for atomic modeset i915: mipi DSI support, valleyview power fixes, cursor size fixes, execlist refactoring, vblank improvements, userptr support, OOM handling improvements radeon: GPUVM tuning and large page size support, gart fixes, deep color HDMI support, HDMI audio cleanups nouveau: - displayport rework should fix lots of issues - initial gk20a support - gk110b support - gk208 fixes exynos: probe order fixes, HDMI changes, IPP consolidation msm: debugfs updates, misc fixes ast: ast2400 support, sync with UMS driver tegra: cleanups, hdmi + hw cursor for Tegra 124. panel: fixes existing panels add some new ones. ipuv3: moved from staging to drivers/gpu" * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (761 commits) drm/nouveau/disp/dp: fix tmds passthrough on dp connector drm/nouveau/dp: probe dpcd to determine connectedness drm/nv50-: trigger update after all connectors disabled drm/nv50-: prepare for attaching a SOR to multiple heads drm/gf119-/disp: fix debug output on update failure drm/nouveau/disp/dp: make use of postcursor when its available drm/g94-/disp/dp: take max pullup value across all lanes drm/nouveau/bios/dp: parse lane postcursor data drm/nouveau/dp: fix support for dpms drm/nouveau: register a drm_dp_aux channel for each dp connector drm/g94-/disp: add method to power-off dp lanes drm/nouveau/disp/dp: maintain link in response to hpd signal drm/g94-/disp: bash and wait for something after changing lane power regs drm/nouveau/disp/dp: split link config/power into two steps drm/nv50/disp: train PIOR-attached DP from second supervisor drm/nouveau/disp/dp: make use of existing output data for link training drm/gf119/disp: start removing direct vbios parsing from supervisor drm/nv50/disp: start removing direct vbios parsing from supervisor drm/nouveau/disp/dp: maintain receiver caps in response to hpd signal drm/nouveau/disp/dp: create subclass for dp outputs ...
| * Merge branch 'drm-nouveau-next' of ↵Dave Airlie2014-06-1190-1486/+3346
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next display rework fixes lots of displayport issues. * 'drm-nouveau-next' of git://anongit.freedesktop.org/git/nouveau/linux-2.6: (43 commits) drm/nouveau/disp/dp: fix tmds passthrough on dp connector drm/nouveau/dp: probe dpcd to determine connectedness drm/nv50-: trigger update after all connectors disabled drm/nv50-: prepare for attaching a SOR to multiple heads drm/gf119-/disp: fix debug output on update failure drm/nouveau/disp/dp: make use of postcursor when its available drm/g94-/disp/dp: take max pullup value across all lanes drm/nouveau/bios/dp: parse lane postcursor data drm/nouveau/dp: fix support for dpms drm/nouveau: register a drm_dp_aux channel for each dp connector drm/g94-/disp: add method to power-off dp lanes drm/nouveau/disp/dp: maintain link in response to hpd signal drm/g94-/disp: bash and wait for something after changing lane power regs drm/nouveau/disp/dp: split link config/power into two steps drm/nv50/disp: train PIOR-attached DP from second supervisor drm/nouveau/disp/dp: make use of existing output data for link training drm/gf119/disp: start removing direct vbios parsing from supervisor drm/nv50/disp: start removing direct vbios parsing from supervisor drm/nouveau/disp/dp: maintain receiver caps in response to hpd signal drm/nouveau/disp/dp: create subclass for dp outputs ...
| | * drm/nouveau/disp/dp: fix tmds passthrough on dp connectorBen Skeggs2014-06-112-10/+54
| | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nouveau/dp: probe dpcd to determine connectednessBen Skeggs2014-06-113-40/+26
| | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nv50-: trigger update after all connectors disabledBen Skeggs2014-06-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | We were sending the necessary state changes to unset the mode, but never actually hit the big GO button unless another modeset happens afterwards. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nv50-: prepare for attaching a SOR to multiple headsBen Skeggs2014-06-113-42/+46
| | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/gf119-/disp: fix debug output on update failureBen Skeggs2014-06-111-3/+3
| | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nouveau/disp/dp: make use of postcursor when its availableBen Skeggs2014-06-111-8/+18
| | | | | | | | | | | | | | | | | | And at the same time, obey the spec better wrt out-of-range requests. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/g94-/disp/dp: take max pullup value across all lanesBen Skeggs2014-06-112-2/+6
| | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nouveau/bios/dp: parse lane postcursor dataBen Skeggs2014-06-114-24/+27
| | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nouveau/dp: fix support for dpmsBen Skeggs2014-06-112-4/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SOR_PWR has no effect to power-off DP links, unlike other SOR protocols. Instead, on the source side, we cut power to the lanes after having put the sink into D3. Link training takes care of everything required to bring it back again. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nouveau: register a drm_dp_aux channel for each dp connectorBen Skeggs2014-06-112-3/+55
| | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/g94-/disp: add method to power-off dp lanesBen Skeggs2014-06-115-0/+35
| | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nouveau/disp/dp: maintain link in response to hpd signalBen Skeggs2014-06-116-12/+125
| | | | | | | | | | | | | | | | | | | | | | | | | | | This previously worked for the most part due to userspace doing a modeset in response to HPD interrupts. This will allow us to properly handle cases where sync is lost for other reasons, or if userspace isn't caring. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/g94-/disp: bash and wait for something after changing lane power regsBen Skeggs2014-06-111-0/+3
| | | | | | | | | | | | | | | | | | Some kind of update? Needed to make the power-down take effect at least. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nouveau/disp/dp: split link config/power into two stepsBen Skeggs2014-06-116-12/+29
| | | | | | | | | | | | | | | | | | We want to be able to power down the lanes for DPMS off. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nv50/disp: train PIOR-attached DP from second supervisorBen Skeggs2014-06-111-21/+11
| | | | | | | | | | | | | | | | | | Same place as for SOR, between detach and attach phases. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nouveau/disp/dp: make use of existing output data for link trainingBen Skeggs2014-06-1116-248/+133
| | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/gf119/disp: start removing direct vbios parsing from supervisorBen Skeggs2014-06-111-75/+83
| | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nv50/disp: start removing direct vbios parsing from supervisorBen Skeggs2014-06-111-107/+116
| | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nouveau/disp/dp: maintain receiver caps in response to hpd signalBen Skeggs2014-06-112-8/+68
| | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nouveau/disp/dp: create subclass for dp outputsBen Skeggs2014-06-1116-9/+265
| | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nouveau: use connector events for HPD instead of GPIO watchingBen Skeggs2014-06-113-44/+34
| | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nouveau/disp: add internal representaion of output paths and connectorsBen Skeggs2014-06-1110-2/+619
| | | | | | | | | | | | | | | | | | | | | | | | This will, at some point, be used to replace various bits and pieces of code doing direct bios parsing. For now, it'll just be used for some DP improvements. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nouveau/bios: extend connector table parsingBen Skeggs2014-06-114-16/+79
| | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nouveau/disp: nothing to see hereBen Skeggs2014-06-113-21/+42
| | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
OpenPOWER on IntegriCloud