aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
...
| * | drm/nouveau: less magic DCB 1.5 parsingBen Skeggs2010-01-14
| | | | | | | | | | | | | | | | | | | | | | | | This in the very least matches the parsing of all the previously known entries, and hopefully (at least closer to) correct for any we haven't seen yet. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | drm/nouveau: assume no nv04 board has a DCB tableBen Skeggs2010-01-14
| | | | | | | | | | | | | | | | | | | | | | | | There's a report of a TNT2 where the DCB table pointer is *not* NULL (it contains a part of a VBIOS data string), and we assume this means a DCB table is present, causing all kinds of hilarity. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | drm/nouveau: remove PRIV0 check in nouveau_mem_close()Ben Skeggs2010-01-14
| | | | | | | | | | | | | | | | | | We don't setup PRIV0 anymore, so this is unnecessary. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | drm/nouveau: wait on fence after bo move if validating for another channelBen Skeggs2010-01-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Not an ideal solution, but it'll do for the moment for correctness. We need to come up with a nicer way to manage inter-channel sync, the hw is unfortunately a little lacking in this area. Should fix some resume corruption, as well as corruption that may be seen while under memory pressure. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | drm/nouveau: trust init table registers are safeBen Skeggs2010-01-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Apparently the original reason for checking this was there were known register accesses that caused hangs on some chipsets. This was more than likely because of incorrect parsing of previous opcodes, and I hardly think aborting a script half way through is going to be any better (in fact, we have had bug reports where this has been the cause of s/r failures among other things). This patch (which has been in Fedora 12 for a long time now) removes all checking for known register ranges, and just leaves the check to ensure the access is within the mapped aperture to avoid an oops. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | drm/nv50: wait for pgraph to idle before unloading the contextMaarten Maathuis2010-01-14
| | | | | | | | | | | | | | | | | | | | | | | | This should fix the problem with gpu hangs people have had when closing channels. Signed-off-by: Maarten Maathuis <madman2003@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | drm/nv04: Fix set_operation software method.Marcin Kościelnicki2010-01-10
| | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | drm/nouveau: initialise DMA tracking parameters earlierBen Skeggs2010-01-10
| | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | drm/nouveau: use dma.max rather than pushbuf size for checking GET validityBen Skeggs2010-01-10
| | | | | | | | | | | | | | | | | | | | | Some upcoming G80 DMA changes will depend on this, but it's split out for bisectibility just in case it causes some unexpected issues. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | drm/nv04: differentiate between nv04/nv05Ben Skeggs2010-01-10
| | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | drm/nouveau: Fix null deref in nouveau_fence_emit due to deleted fenceLuca Barbieri2010-01-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently Nouveau will unvalidate all buffers if it is forced to wait on one, and then start revalidating from the beginning. While doing so, it destroys the operation fence, causing nouveau_fence_emit to crash. This patch fixes this bug by taking the fence object out of validate_op and creating it just before emit. The fence pointer is initialized to 0 and unref'ed unconditionally. In addition to fixing the bug, this prevents its reintroduction and simplifies the code. Signed-off-by: Luca Barbieri <luca@luca-barbieri.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | drm/nv50: prevent a possible ctxprog hangBen Skeggs2010-01-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The below is mainly an educated guess at what's going on, docs would sure be handy... NVIDIA? :P It appears it's possible for a ctxprog to run even while a GPU exception is pending. The GF8 and up ctxprogs appear to have a small snippet of code which detects this, and stalls the ctxprog until it's been handled, which essentially looks like: if (r2 & 0x00008000) { r0 |= 0x80000000; while (r0 & 0x80000000) {} } I don't know of any way that flag would get cleared unless the driver intervenes (and indeed, in the cases I've seen the hang, nothing steps in to automagically clear it for us). This patch causes the driver to clear the flag during the PGRAPH IRQ handler. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | drm/nouveau: have ttm's fault handler called directlyBen Skeggs2010-01-10
| | | | | | | | | | | | | | | | | | | | | There's no good reason for us to have our own anymore, this is left over from an early port to these TTM interfaces. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | drm/nv50: restore correct cache1 get/put address on fifoctx loadBen Skeggs2010-01-10
| | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | drm/nouveau: create function for "dealing" with gpu lockupMarcin Slusarz2010-01-10
| | | | | | | | | | | | | | | | | | | | | | | | It's mostly a cleanup, but in nv50_fbcon_accel_init gpu lockup message was printed, but HWACCEL_DISBALED flag was not set. Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | drm/nouveau: remove unused nouveau_channel_idle() functionBen Skeggs2010-01-10
| | | | | | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | drm/nouveau: fix handling of fbcon colours in 8bppBen Skeggs2010-01-10
| | | | | | | | | | | | | | | | | | | | | Depending on the visual, the colours handed to us in fillrect() can either be an actual colour, or an index into the pseudo-palette. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | drm/nv04: Context switching fixes.Francisco Jerez2010-01-10
| | | | | | | | | | | | Signed-off-by: Francisco Jerez <currojerez@riseup.net>
| * | drm/nouveau: Use the software object for fencing.Francisco Jerez2010-01-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This should avoid a race condition on nv0x, if we're doing it with actual PGRAPH objects and a there's a fence within the FIFO DMA fetch area when a context switch kicks in. In that case we get an ILLEGAL_MTHD interrupt as expected, but the values in PGRAPH_TRAPPED_ADDR aren't calculated correctly and they're almost useless (e.g. you can see ILLEGAL_MTHDs for the now inactive channel, with a wrong offset/data pair). Signed-off-by: Francisco Jerez <currojerez@riseup.net>
| * | drm/nouveau: Allocate a per-channel instance of NV_SW.Francisco Jerez2010-01-10
| | | | | | | | | | | | | | | | | | | | | | | | It will be useful for various synchronization purposes, mostly stolen from "[PATCH] drm/nv50: synchronize user channel after buffer object move on kernel channel" by Maarten Maathuis. Signed-off-by: Francisco Jerez <currojerez@riseup.net>
| * | drm/nv50: make the blocksize depend on vram sizeMaarten Maathuis2010-01-10
| | | | | | | | | | | | | | | | | | | | | - This should be better than what we have now. - I'm less sure about the non power of two path. Signed-off-by: Maarten Maathuis <madman2003@gmail.com>
| * | drm/nouveau: better alignment of bo sizes and use roundup instead of ALIGNMaarten Maathuis2010-01-10
| | | | | | | | | | | | | | | | | | | | | - Aligning to block size should ensure that the extra size is enough. - Using roundup, because not all sizes are powers of two. Signed-off-by: Maarten Maathuis <madman2003@gmail.com>
| * | drm/nouveau: Don't skip card take down on nv0x.Francisco Jerez2010-01-10
| | | | | | | | | | | | Signed-off-by: Francisco Jerez <currojerez@riseup.net>
| * | drm/nouveau: Implement nv42-nv43 TV load detection.Francisco Jerez2010-01-10
| | | | | | | | | | | | Signed-off-by: Francisco Jerez <currojerez@riseup.net>
| * | drm/nouveau: Clean up the nv17-nv4x load detection code a bit.Francisco Jerez2010-01-10
| | | | | | | | | | | | Signed-off-by: Francisco Jerez <currojerez@riseup.net>
| * | drm/nv50: fix fillrect colorMarcin Slusarz2010-01-10
| | | | | | | | | | | | | | | | | | | | | | | | struct fb_fillrect->color is not a color, but index into pseudo_palette array Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | drm/nv50: ignore vbios table's claim to the contrary if EDID says >8bpcBen Skeggs2010-01-10
| | | | | | | | | | | | | | | | | | Should fix dim panel issues reported on Dell M6400/M6500. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | drm/nouveau: Drop redundant placement initialization.Francisco Jerez2010-01-10
| | | | | | | | | | | | Signed-off-by: Francisco Jerez <currojerez@riseup.net>
| * | drm/nouveau: No need to force evict=true when swapping evicted BOs back in.Francisco Jerez2010-01-10
| | | | | | | | | | | | Signed-off-by: Francisco Jerez <currojerez@riseup.net>
| * | drm/nouveau: Fix "general protection fault" in the flipd/flips eviction path.Francisco Jerez2010-01-10
| | | | | | | | | | | | Signed-off-by: Francisco Jerez <currojerez@riseup.net>
| * | drm/i2c/ch7006: Drop build time dependency to nouveau.Francisco Jerez2010-01-10
| | | | | | | | | | | | | | | | | | | | | | | | This partially reverts e4b41066, as this driver is intended to be useful with any KMS driver for suitable hardware. The missing build dependency that commit workarounded was DRM_KMS_HELPER. Signed-off-by: Francisco Jerez <currojerez@riseup.net>
| * | drm/nouveau: Make the MM aware of pre-G80 tiling.Francisco Jerez2010-01-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit has also the following 3 bugfix commits squashed into it from the nouveau git tree: drm/nouveau: Fix up the tiling alignment restrictions for nv1x. drm/nouveau: Fix up the nv2x tiling alignment restrictions. drm/nv50: fix align typo for g9x Signed-off-by: Francisco Jerez <currojerez@riseup.net>
| * | drm/nouveau: Pre-G80 tiling support.Francisco Jerez2010-01-10
| | | | | | | | | | | | Signed-off-by: Francisco Jerez <currojerez@riseup.net>
| * | drm/nouveau: Add cache_flush/pull fifo engine functions.Francisco Jerez2010-01-10
| | | | | | | | | | | | Signed-off-by: Francisco Jerez <currojerez@riseup.net>
| * | Merge remote branch 'korg/drm-radeon-testing' into drm-testingDave Airlie2010-01-07
| |\ \
| * \ \ Merge remote branch 'korg/drm-core-next' into drm-testingDave Airlie2010-01-07
| |\ \ \
| | * | | drm/kms/fb: check for depth changes from userspace for resizing.Dave Airlie2010-01-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If userspace (plymouth in this case) asks for a deeper depth, refuse it as well due to lack of resizing. This fixes an issue since < 32MB cards went to 8bpp and plymouth crashes on startup. Signed-off-by: Dave Airlie <airlied@redhat.com>
| | * | | drm: Keep disabled outputs disabled after suspend / resumeDavid John2010-01-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the current DRM code, an output that has been powered off from userspace will automatically power back on when resuming from suspend. This patch fixes this behaviour. Tested only with the Intel i915 driver on an Intel GM45 Express chipset. Signed-off-by: David John <davidjon@xenontk.org> Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: Dave Airlie <airlied@redhat.com>
* | | | | drm/ttm: Make sure system buffer objects has offset == 0.Thomas Hellstrom2010-01-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a convention that the vmwgfx driver has come to rely on. Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* | | | | drm/vmwgfx: Implement basic pm operations.Thomas Hellstrom2010-01-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently we really only support S3, since the device doesn't support saving of the 3D state. On S3/S4, move all buffer objects to swappable memory and take down GMR bindings. We need to do that from a PM notifier since we can't do persistant memory allocations from the standard PM callbacks. Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* | | | | drm/ttm: Export symbols needed for vmwgfx suspend / resume operations.Thomas Hellstrom2010-01-13
| | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* | | | | drm/vmwgfx: Implement a swap_notify callback.Thomas Hellstrom2010-01-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unbind GMR bindings on the buffer about to be swapped out. Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* | | | | drm/ttm: Add a swap_notify callback.Thomas Hellstrom2010-01-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is needed for a bugfix in the vmwgfx driver. Drivers may have GPU bindings on buffers that core TTM is not aware of, and TTM may view those buffers as ordinary system memory buffers. Add a notifier to such drivers when TTM is about to move the buffer contents out to swappable memory. The driver must then release any private GPU bindings on those buffers. Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* | | | | drm/vmwgfx: Use bo_driver::move_notify to unbind GMRs.Thomas Hellstrom2010-01-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was previously done explicitly for overlay- and fb buffers. Now it's done for any buffer leaving the SYSTEM memory region. Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* | | | | drm/vmwgfx: Make fence sequences continous across a VT switch.Thomas Hellstrom2010-01-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A vt switch in stealth mode would take down the FIFO, and re- initialize fence sequence numbers. This patch saves the current state of the fence sequence when the FIFO is disabled. Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* | | | | drm/vmwgfx: Fix an error path causing an oops.Thomas Hellstrom2010-01-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An error happening before the snooper.image member had been set up would cause a kfree of an arbitrary pointer. Set up the snooper.image member early. Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* | | | | drm/vmwgfx: Don't promote updates from GMR-backed scanouts to fullscreen.Thomas Hellstrom2010-01-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | That's unnecessary since partial screen updates from GMRs are fast. Also fix cliprect pointer dereferencing Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* | | | | Merge remote branch 'korg/drm-radeon-next' into drm-linusDave Airlie2010-01-13
|\ \ \ \ \ | | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * korg/drm-radeon-next drm/radeon/kms: only evict to GTT if CP is ready drm/radeon/kms: Fix crash getting TV info with no BIOS. drm/radeon/kms/rv100: reject modes > 135 Mhz on DVI (v2) drm/radeon/kms/r6xx+: make irq handler less verbose drm/radeon/kms: fix up LVDS handling on macs (v2)
| * | | | drm/radeon/kms: only evict to GTT if CP is readyDave Airlie2010-01-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Testing GTT ready might be more correct but cp.ready works fine and has been tested on irc by 2-3 ppl. fixes bug k.org 15035 and fd.o 25733 Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | | | drm/radeon/kms: Fix crash getting TV info with no BIOS.Michel Dänzer2010-01-12
| | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Michel Dänzer <daenzer@vmware.com> Signed-off-by: Dave Airlie <airlied@redhat.com>