aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu
Commit message (Collapse)AuthorAge
...
| | * | 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 branch 'for-linus' of ↵Linus Torvalds2010-01-16
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel: drm/i915: enable 36bit physical address for hardware status page drm/i915: fix eDP pipe mask drm/i915: fix pixel color depth setting on eDP drm/i915: parse eDP panel color depth from VBT block drm/i915: disable LVDS downclock by default drm/i915: Fix the incorrect cursor A bit definition in DSPFW2 register drm/i915: Remove chatty execbuf failure message. drm/i915: remove loop in Ironlake interrupt handler drm/i915: Don't wait interruptible for possible plane buffer flush drm/i915: try another possible DDC bus for the SDVO device with multiple outputs drm/i915: Read the response after issuing DDC bus switch command drm/i915: Don't use the child device parsed from VBT to setup HDMI/DP drm/i915: Fix resume regression on MSI Wind U100 w/o KMS drm/i915: Fix Ironlake M/N/P ranges to match the spec drm/i915: Use find_pll function to calculate DPLL setting for LVDS downclock drm/i915: Add HP nx9020/SamsungSX20S to ACPI LID quirk list drm/i915: disable TV hotplug status check Trivial conflicts in drivers/gpu/drm/i915/i915_drv.c due to i915 non-modeset suspend fix with different comment.
| * | | | | | drm/i915: enable 36bit physical address for hardware status pageZhenyu Wang2010-01-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This enables possible 36bit address mask on 965G that use physical address for hw status page. Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com> Signed-off-by: Eric Anholt <eric@anholt.net>
| * | | | | | drm/i915: fix eDP pipe maskZhenyu Wang2010-01-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | eDP could be on pipe A or B. Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com> Signed-off-by: Eric Anholt <eric@anholt.net>
| * | | | | | drm/i915: fix pixel color depth setting on eDPZhenyu Wang2010-01-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original DP mode_valid check didn't take pixel color depth into account, which made one 1600x900 eDP panel's mode check invalid because of overclock, but actually this 6bpc panel does can work with x1 lane at 2.7G. This one trys to take bpp value properly both in mode validation and mode setting. Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com> Signed-off-by: Eric Anholt <eric@anholt.net>
| * | | | | | drm/i915: parse eDP panel color depth from VBT blockZhenyu Wang2010-01-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com> Signed-off-by: Eric Anholt <eric@anholt.net>
| * | | | | | drm/i915: disable LVDS downclock by defaultJesse Barnes2010-01-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Many platform support this feature, and it can provide significant power savings when the reduced refresh rate is low. However, on some platforms a secondary (reduced) timing is provided but not actually supported by the hardware. This results in undesirable flicker at runtime. So disable the feature by default, but allow users to opt-in to the reduced clock behavior with a new module parameter, lvds_downclock, that can be set to 1 to enable the feature. Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: Eric Anholt <eric@anholt.net>
| * | | | | | drm/i915: Fix the incorrect cursor A bit definition in DSPFW2 registerZhao Yakui2010-01-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Zhao Yakui <yakui.zhao@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net> Signed-off-by: Eric Anholt <eric@anholt.net>
| * | | | | | drm/i915: Remove chatty execbuf failure message.Eric Anholt2010-01-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Suggested-by: Chris Wilson <chris@chris-wilson.co.uk>> Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org> (in principle) Signed-off-by: Eric Anholt <eric@anholt.net>