summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'drm-core-next' of git://people.freedesktop.org/~airlied/linuxLinus Torvalds2012-05-24323-14777/+41792
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pull main drm updates from Dave Airlie: "This is the main merge window request for the drm. It's big, but jam packed will lots of features and of course 0 regressions. (okay maybe there'll be one). Highlights: - new KMS drivers for server GPU chipsets: ast, mgag200 and cirrus (qemu only). These drivers use the generic modesetting drivers. - initial prime/dma-buf support for i915, nouveau, radeon, udl and exynos - switcheroo audio support: so GPUs with HDMI can turn off the sound driver without crashing stuff. - There are some patches drifting outside drivers/gpu into x86 and EFI for better handling of multiple video adapters in Apple Macs, they've got correct acks except one trivial fixup. - Core: edid parser has better DMT and reduced blanking support, crtc properties, plane properties, - Drivers: exynos: add 2D core accel support, prime support, hdmi features intel: more Haswell support, initial Valleyview support, more hdmi infoframe fixes, update MAINTAINERS for Daniel, lots of cleanups and fixes radeon: more HDMI audio support, improved GPU lockup recovery support, remove nested mutexes, less memory copying on PCIE, fix bus master enable race (kexec), improved fence handling gma500: cleanups, 1080p support, acpi fixes nouveau: better nva3 memory reclocking, kepler accel (needs external firmware rip), async buffer moves on nv84+ hw. I've some more dma-buf patches that rely on the dma-buf merge for vmap stuff, and I've a few fixes building up, but I'd decided I'd better get rid of the main pull sooner rather than later, so the audio guys are also unblocked." Fix up trivial conflict due to some duplicated changes in drivers/gpu/drm/i915/intel_ringbuffer.c * 'drm-core-next' of git://people.freedesktop.org/~airlied/linux: (605 commits) drm/nouveau/nvd9: Fix GPIO initialisation sequence. drm/nouveau: Unregister switcheroo client on exit drm/nouveau: Check dsm on switcheroo unregister drm/nouveau: fix a minor annoyance in an output string drm/nouveau: turn a BUG into a WARN drm/nv50: decode PGRAPH DATA_ERROR = 0x24 drm/nouveau/disp: fix dithering not being enabled on some eDP macbooks drm/nvd9/copy: initialise copy engine, seems to work like nvc0 drm/nvc0/ttm: use copy engines for async buffer moves drm/nva3/ttm: use copy engine for async buffer moves drm/nv98/ttm: add in a (disabled) crypto engine buffer copy method drm/nv84/ttm: use crypto engine for async buffer copies drm/nouveau/ttm: untangle code to support accelerated buffer moves drm/nouveau/fbcon: use fence for sync, rather than notifier drm/nv98/crypt: non-stub implementation of the engine hooks drm/nouveau/fifo: turn all fifo modules into engine modules drm/nv50/graph: remove ability to do interrupt-driven context switching drm/nv50: remove manual context unload on context destruction drm/nv50: remove execution engine context saves on suspend drm/nv50/fifo: use hardware channel kickoff functionality ...
| * Merge branch 'drm-nouveau-next' of ↵Dave Airlie2012-05-2476-3026/+9520
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-core-next Ben was distracted: "Apologies for being really late with this, feel free to bash me in the future so I remember on time! Overview: - improvements to reclocking (especially memory) on nva3+ - kepler accel support (if you have blob ucode) - better inter-channel synchronisation on nv84+ - async ttm buffer moves on nv84+ (earlier cards don't have a non-PGRAPH engine that's useful)" * 'drm-nouveau-next' of git://anongit.freedesktop.org/git/nouveau/linux-2.6: (60 commits) drm/nouveau/nvd9: Fix GPIO initialisation sequence. drm/nouveau: Unregister switcheroo client on exit drm/nouveau: Check dsm on switcheroo unregister drm/nouveau: fix a minor annoyance in an output string drm/nouveau: turn a BUG into a WARN drm/nv50: decode PGRAPH DATA_ERROR = 0x24 drm/nouveau/disp: fix dithering not being enabled on some eDP macbooks drm/nvd9/copy: initialise copy engine, seems to work like nvc0 drm/nvc0/ttm: use copy engines for async buffer moves drm/nva3/ttm: use copy engine for async buffer moves drm/nv98/ttm: add in a (disabled) crypto engine buffer copy method drm/nv84/ttm: use crypto engine for async buffer copies drm/nouveau/ttm: untangle code to support accelerated buffer moves drm/nouveau/fbcon: use fence for sync, rather than notifier drm/nv98/crypt: non-stub implementation of the engine hooks drm/nouveau/fifo: turn all fifo modules into engine modules drm/nv50/graph: remove ability to do interrupt-driven context switching drm/nv50: remove manual context unload on context destruction drm/nv50: remove execution engine context saves on suspend drm/nv50/fifo: use hardware channel kickoff functionality ...
| | * drm/nouveau/nvd9: Fix GPIO initialisation sequence.Marcin Kościelnicki2012-05-241-1/+1
| | | | | | | | | | | | | | | Signed-off-by: Marcin Kościelnicki <koriakin@0x04.net> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nouveau: Unregister switcheroo client on exitAndreas Heider2012-05-241-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Currently nouveau only registers as a vga_switcheroo client, but never unregisters. This patch adds the necessary unregister calls. Signed-off-by: Andreas Heider <andreas@meetr.de> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nouveau: Check dsm on switcheroo unregisterAndreas Heider2012-05-241-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently vga_switcheroo_unregister_handler is called unconditionally when nouveau is unloaded, even when nouveau never registered a handler. This interferes with other switcheroo handlers, as vga_switcheroo doesn't check who called unregister_handler, but simply unregisters the current handler. This patch adds a check so unregister is only called if a handler was registered by nouveau before. Signed-off-by: Andreas Heider <andreas@meetr.de> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nouveau: fix a minor annoyance in an output stringBen Skeggs2012-05-241-1/+1
| | | | | | | | | | | | | | | | | | Bugs me every time I put in the TNT2.. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nouveau: turn a BUG into a WARNBen Skeggs2012-05-241-1/+1
| | | | | | | | | | | | | | | | | | This is very annoying sometimes.. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nv50: decode PGRAPH DATA_ERROR = 0x24Marcin Slusarz2012-05-241-0/+1
| | | | | | | | | | | | | | | Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nouveau/disp: fix dithering not being enabled on some eDP macbooksBen Skeggs2012-05-241-1/+7
| | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nvd9/copy: initialise copy engine, seems to work like nvc0Ben Skeggs2012-05-241-1/+2
| | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nvc0/ttm: use copy engines for async buffer movesBen Skeggs2012-05-241-9/+51
| | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nva3/ttm: use copy engine for async buffer movesBen Skeggs2012-05-241-1/+40
| | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nv98/ttm: add in a (disabled) crypto engine buffer copy methodBen Skeggs2012-05-241-1/+20
| | | | | | | | | | | | | | | | | | | | | Disabled for the moment until some performance issues are sorted out, code committed as a reference point. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nv84/ttm: use crypto engine for async buffer copiesBen Skeggs2012-05-241-0/+19
| | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nouveau/ttm: untangle code to support accelerated buffer movesBen Skeggs2012-05-248-94/+119
| | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nouveau/fbcon: use fence for sync, rather than notifierBen Skeggs2012-05-241-32/+2
| | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nv98/crypt: non-stub implementation of the engine hooksBen Skeggs2012-05-243-14/+1434
| | | | | | | | | | | | | | | | | | fuc is from pscnv driver. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nouveau/fifo: turn all fifo modules into engine modulesBen Skeggs2012-05-2430-1386/+1374
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Been tested on each major revision that's relevant here, but I'm sure there are still bugs waiting to be ironed out. This is a *very* invasive change. There's a couple of pieces left that I don't like much (eg. other engines using fifo_priv for the channel count), but that's an artefact of there being a master channel list still. This is changing, slowly. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nv50/graph: remove ability to do interrupt-driven context switchingBen Skeggs2012-05-241-65/+0
| | | | | | | | | | | | | | | | | | We never turn this on, no point maintaining the code for it.. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nv50: remove manual context unload on context destructionBen Skeggs2012-05-243-94/+7
| | | | | | | | | | | | | | | | | | PFIFO context destruction triggers this automagically now. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nv50: remove execution engine context saves on suspendBen Skeggs2012-05-243-14/+0
| | | | | | | | | | | | | | | | | | Now triggered automagically by the GPU on PFIFO takedown. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nv50/fifo: use hardware channel kickoff functionalityBen Skeggs2012-05-243-166/+43
| | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nv50/gr: make sure NEXT_TO_CURRENT is executed even if nothing doneBen Skeggs2012-05-241-1/+1
| | | | | | | | | | | | | | | | | | PFIFO channel kickoff will hang sometimes otherwise. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nv50/fifo: construct playlist from hw context table stateBen Skeggs2012-05-241-14/+7
| | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nouveau/fifo: remove all the "special" engine hooksBen Skeggs2012-05-2413-187/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All the places this stuff is actually needed tends to be chipset-specific anyway, so we're able to just inline the register bashing instead. The parts of the common code that still directly touch PFIFO temporarily have conditionals, these will be removed in subsequent commits that will refactor the fifo modules into engine modules like graph/mpeg etc. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nouveau/fence: fix a race where fence->channel can disappearBen Skeggs2012-05-246-15/+26
| | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nouveau/bios: fix some shadowing issues, particularly acpiBen Skeggs2012-05-241-20/+10
| | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nouveau: fix engine context destructor orderingBen Skeggs2012-05-241-2/+1
| | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nouveau/fence: convert to exec engine, and improve channel syncBen Skeggs2012-05-2414-473/+851
| | | | | | | | | | | | | | | | | | | | | | | | Now have a somewhat simpler semaphore sync implementation for nv17:nv84, and a switched to using semaphores as fences on nv84+ and making use of the hardware's >= acquire operation. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nouveau/fence: minor api changes for an upcoming reworkBen Skeggs2012-05-248-158/+134
| | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nouveau/fence: make ttm interfaces wrap ours, not the other way aroundBen Skeggs2012-05-243-71/+68
| | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nouveau: move flip-related channel setup to software engineBen Skeggs2012-05-248-62/+84
| | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nouveau: create real execution engine for software object classBen Skeggs2012-05-2419-282/+567
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Just a cleanup more or less, and to remove the need for special handling of software objects. This removes a heap of documentation on dma/graph object formats. The info is very out of date with our current understanding, and is far better documented in rnndb in envytools git. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nvd0/disp: remove unnecessary sync from flip_nextBen Skeggs2012-05-241-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This shouldn't be necessary, I believe this is just a bit of missed debug code that got left over somehow. Causes flips to be always synced to vblank, regardless of swap interval, which we don't want.. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nv04/disp: disable vblank interrupts when disabling displayBen Skeggs2012-05-242-5/+11
| | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nouveau: base fence timeout on time of emissionMarcin Slusarz2012-05-241-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | Wait loop can be interrupted by signal, so if signals are raised periodically (e.g. SIGALRM) this loop may never finish. Use emission time as a base for fence timeout. Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nv40-50/gr: restructure grctx/prog generationBen Skeggs2012-05-246-52/+71
| | | | | | | | | | | | | | | | | | | | | | | | The conditional definition of the generation helper functions apparently confuses some IDEs.... Reported-by: Marcin Slusarz <marcin.slusarz@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nv50/disp: fixup error paths in crtc object creationBen Skeggs2012-05-242-33/+26
| | | | | | | | | | | | | | | Reported-by: Marcin Slusarz <marcin.slusarz@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nouveau: cleanup after display init failureMarcin Slusarz2012-05-241-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | Depending on exact point of failure, not cleaning would lead to BUG_ONs/oopses in various distant places. Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nv50: fix ramin heap size for kernel channel tooMarcin Slusarz2012-05-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Port change from "drm/nouveau: Keep RAMIN heap within the channel" to kernel channel, which has its own ramin heap initialisation. Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com> Cc: Younes Manton <younes.m@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nve0/graph: bump hub2gpc buffer sizeBen Skeggs2012-05-241-1/+1
| | | | | | | | | | | | | | | Reported-by: Christoph Bumiller <e0425955@student.tuwien.ac.at> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nouveau: use the same packet header macros as userspaceBen Skeggs2012-05-2415-185/+203
| | | | | | | | | | | | | | | | | | Cosmetic cleanup only. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nouveau/bios: allow loading alternate vbios image as firmwareBen Skeggs2012-05-241-0/+21
| | | | | | | | | | | | | | | | | | Useful for debugging different VBIOS versions. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nve0/ttm: implement buffer moves with weirdo pcopy-on-pgraph methodsBen Skeggs2012-05-243-0/+39
| | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nv50-/fbcon: move 2d class to subchannel 3Ben Skeggs2012-05-241-1/+1
| | | | | | | | | | | | | | | | | | | | | Kepler GRAPH has (well, sorta) fixed subchannel<->class assignments, make this match up to keep it happy without trapping. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nve0/gr: initial implementationBen Skeggs2012-05-246-2/+3705
| | | | | | | | | | | | | | | | | | | | | | | | | | | This may, perhaps, get re-merged with nvc0_graph.c at some point. It's still unclear as to how great an idea that'd be. Stay tuned... Completely dependent on firmware blobs from NVIDIA binary driver currently. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nve0/fifo: initial implementationBen Skeggs2012-05-244-5/+477
| | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nouveau: give a slightly larger pci(e)gart aperture on all chipsetsBen Skeggs2012-05-242-8/+4
| | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nouveau/pm: some more delays for ddr3 reclockingBen Skeggs2012-05-242-0/+4
| | | | | | | | | | | | | | | | | | | | | These numbers from the binary driver's daemon scripts, and fix the transition to perflvl 3 on my T510. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| | * drm/nvc0/pm: very initial mclk freq changeBen Skeggs2012-05-241-1/+23
| | | | | | | | | | | | | | | | | | Loads of magic missing, this will probably blow up if you try it. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
OpenPOWER on IntegriCloud