aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-11-08drm/nouveau: consider CLASS_DISPLAY_3D devices while detecting dsm/optimusEmil Velikov1-0/+10
The present code assumes that optimus is present whenever two VGA (PCI_CLASS_DISPLAY_VGA) devices are present. This does not seem to be the case of newer laptops with optimus, in which case the nvidia gpu is a PCI_CLASS_DISPLAY_3D device. Rework the logic so that we count both VGA and 3D devices, when contemplating if optimus is present on the platform. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70208 Signed-off-by: Emil Velikov <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2013-11-08Merge branch 'drm-nouveau-next' of ↵Dave Airlie233-6862/+19471
git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next - Ilia's PMPEG improvements - MSI fixes, and another attempt at enabling by default - Initial GK208 support, just modesetting - "Old" PM code gone, new infrastructure and various different stages of support (depending which chipset / ram type etc) is in its place. This includes support that goes beyond what the previous code was capable of. User control has been deliberately sabotaged, it's not safe to use still. - Thermal management / fan control that's been present for a while is turned ON by default now. - Misc other fixes that have accumulated * 'drm-nouveau-next' of git://anongit.freedesktop.org/git/nouveau/linux-2.6: (74 commits) drm/nouveau/fb: implement various bits of work towards memory reclocking drm/nouveau: implement a simple sysfs interface to new pm code drm/nouveau/device: initial control object class, with pstate control methods drm/nouveau/clk: implement power state and engine clock control in core drm/nouveau/volt: implement voltage control in core drm/nouveau/bios: parsing for various tables required for power management drm/nouveau/perfmon: initial infrastructure to expose performance counters drm/nouveau/bus: add interfaces/helpers for sequencer drm/nouveau/bus: make external class definitions pointers drm/nouveau/pwr: initial implementation drm/nouveau/therm: update target fanspeed outside of therm lock drm/nouveau/therm: automatic mode by default drm/nouveau/therm: no toggle fan control either if we can't guarantee no pwm connected drm/nvc0/therm: allow fan control if we've killed the vbios ppwr ucode drm/nouveau/therm: if no bios trip/linear info, default to perf-suggested speed drm/nouveau/therm: add hook for clk to suggest fanspeed to therm drm/nouveau/pwr: assign a subdev id for upcoming implementation drm/nouveau/gpio: return different error code for not found vs invalid drm/nouveau/drm/pm: remove everything except the hwmon interfaces to THERM drm/nouveau/core: make all info-level messages silent for runtime pm ...
2013-11-08drm/mgag200: drop pointless info print.Dave Airlie1-2/+0
This isn't useful anymore. Signed-off-by: Dave Airlie <[email protected]>
2013-11-08drm/nouveau/fb: implement various bits of work towards memory reclockingBen Skeggs21-60/+3093
Not even remotely ready for the vast majority of the world. Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nouveau: implement a simple sysfs interface to new pm codeBen Skeggs5-5/+191
Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nouveau/device: initial control object class, with pstate control methodsBen Skeggs5-2/+196
Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nouveau/clk: implement power state and engine clock control in coreBen Skeggs19-65/+2590
User control of this has been hard-coded as disabled for now. Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nouveau/volt: implement voltage control in coreBen Skeggs9-0/+460
Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nouveau/bios: parsing for various tables required for power managementBen Skeggs16-8/+969
Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nouveau/perfmon: initial infrastructure to expose performance countersBen Skeggs22-2/+1616
Internal use only at this point. Userspace later. Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nouveau/bus: add interfaces/helpers for sequencerBen Skeggs9-15/+371
Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nouveau/bus: make external class definitions pointersBen Skeggs14-176/+133
Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nouveau/pwr: initial implementationBen Skeggs30-0/+7091
Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nouveau/therm: update target fanspeed outside of therm lockBen Skeggs1-6/+8
Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nouveau/therm: automatic mode by defaultBen Skeggs1-1/+1
Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nouveau/therm: no toggle fan control either if we can't guarantee no pwm ↵Ben Skeggs1-0/+7
connected Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nvc0/therm: allow fan control if we've killed the vbios ppwr ucodeBen Skeggs1-3/+4
Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nouveau/therm: if no bios trip/linear info, default to perf-suggested speedBen Skeggs2-3/+15
Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nouveau/therm: add hook for clk to suggest fanspeed to thermBen Skeggs4-1/+17
Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nouveau/pwr: assign a subdev id for upcoming implementationBen Skeggs1-0/+1
THERM will use this before it exists. Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nouveau/gpio: return different error code for not found vs invalidBen Skeggs1-1/+1
Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nouveau/drm/pm: remove everything except the hwmon interfaces to THERMBen Skeggs15-4837/+69
Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nouveau/core: make all info-level messages silent for runtime pmBen Skeggs8-76/+54
Removes the need for special handling of messages in init paths. Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nouveau/fifo: make external class definitions into pointersBen Skeggs17-86/+86
Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nouveau/device: recognise GK208Ben Skeggs2-13/+48
Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nvc0-/gr: fix a number of missing explicit array terminators...Ben Skeggs3-0/+6
Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nouveau/mc: fix (incorrect) reporting of unknown pending intr bitsBen Skeggs1-6/+11
Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nouveau/disp: semi-complete link training sequence even if display ↵Ben Skeggs1-16/+32
disappears Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nouveau/bios: some older boards have shorter displayport tablesBen Skeggs1-3/+7
Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nouveau/fbcon: bracket entrypoints with a per-device enabled checkBen Skeggs1-16/+27
We don't necessarily have fbcon on all devices these days. Fixes suspend on (at least) Quadro NVS 450. Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nvd0-/disp: reorder writes to lane current control regsBen Skeggs1-4/+8
Matches the nv94-nvc0 commit with the same title. Doesn't fix a reported issue, but NVIDIA use this ordering here too, so let's do it just in case. Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nv94-nvc0/disp: reorder writes to lane current control regsBen Skeggs1-4/+8
Fixes link training issues on some boards. Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nouveau/disp: log if DP link training failsBen Skeggs1-1/+3
Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nouveau/i2c: use a custom bitbanging delay for the adt7473Martin Peres5-49/+77
This patch adds a way to define a custom delay when scanning for i2c devices because the adt7473 sometimes doesn't like the default bitbanging udelay. Signed-off-by: Martin Peres <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nouveau/agp: add a quirk list to limit agp modesIlia Mirkin1-5/+39
Certain combinations of hardware can't actually support the maximum detected speed. Add a quirk list that lists pairs of hostbridge/chip pci ids and the mode that they should work with. See https://bugs.freedesktop.org/show_bug.cgi?id=20341 Reported-by: Jason Detring <[email protected]> Signed-off-by: Ilia Mirkin <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nvd9-/disp: disable display underflow reporting at initBen Skeggs1-0/+9
Reported-by: Andy Ritger <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nva0/clk: fix accidental limiting of pll coefficientsBen Skeggs1-13/+16
Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nv50-nvaf/fb: split fbram oclass in preparation for reclockingBen Skeggs9-52/+184
Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nouveau/fb: merge more bits and pieces into oclass definitionsBen Skeggs27-519/+272
Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nouveau/fb: remove ram oclass argument from base fb constructorBen Skeggs24-107/+135
Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nv50-nvaf/fb: split the class definitions up a bitBen Skeggs9-44/+203
These will diverge further in the future. Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nouveau/fb: make external class definitions pointersBen Skeggs26-113/+113
Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nvaa/mc: blacklist msi to off by defaultBen Skeggs1-11/+19
Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nv50-nv86,nv92/mc: rearm msi via pci config space, rather than mmio mirrorBen Skeggs6-4/+52
This is what NVIDIA do on these chipsets, let's hope it works around the reported MSI failures for us on NV86. v2: updated to include G92, as per information provided by NVIDIA. Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nvc0,nvc4/mc: handle 0xc0's "special" msi rearmBen Skeggs13-32/+134
v2. updated to cover GF104, as per information provided by NVIDIA. Reported-by: Maarten Lankhorst <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nouveau/mc: store static data in nouveau_mc class definitionBen Skeggs16-215/+151
Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nouveau/mc: fetch NV_PMC_INTR again after re-arming MSIBen Skeggs1-4/+6
Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nouveau/mc: bracket interrupt handler with NV_PMC_INTR_EN disable/re-enableBen Skeggs1-0/+4
This looks to be what NVIDIA do pretty much everywhere, since forever. Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nouveau/mc: have single entry and exit points to the interrupt handlerBen Skeggs1-18/+19
Signed-off-by: Ben Skeggs <[email protected]>
2013-11-08drm/nouveau/mc: msi rearm write via subdev, not deviceBen Skeggs1-2/+2
This way we can catch it with debugging on for PMC subdev. Signed-off-by: Ben Skeggs <[email protected]>