02 Jun, 2012

7 commits

  • Pull drm fixes from Dave Airlie:
    "A bunch of fixes:
    - vmware memory corruption
    - ttm spinlock balance
    - cirrus/mgag200 work in the presence of efifb
    and finally Alex and Jerome managed to track down a magic set of bits
    that on certain rv740 and evergreen cards allow the correct use of the
    complete set of render backends, this makes the cards operate
    correctly in a number of scenarios we had issues in before, it also
    manages to boost speed on benchmarks my large amounts on these
    specific gpus."

    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
    drm/edid: Make the header fixup threshold tunable
    drm/radeon: fix regression in UMS CS ioctl
    drm/vmwgfx: Fix nasty write past alloced memory area
    drm/ttm: Fix spinlock imbalance
    drm/radeon: fixup tiling group size and backendmap on r6xx-r9xx (v4)
    drm/radeon: fix HD6790, HD6570 backend programming
    drm/radeon: properly program gart on rv740, juniper, cypress, barts, hemlock
    drm/radeon: fix bank information in tiling config
    drm/mgag200: kick off conflicting framebuffers earlier.
    drm/cirrus: kick out conflicting framebuffers earlier
    cirrus: avoid crash if driver fails to load

    Linus Torvalds
     
  • Pull vfs changes from Al Viro.
    "A lot of misc stuff. The obvious groups:
    * Miklos' atomic_open series; kills the damn abuse of
    ->d_revalidate() by NFS, which was the major stumbling block for
    all work in that area.
    * ripping security_file_mmap() and dealing with deadlocks in the
    area; sanitizing the neighborhood of vm_mmap()/vm_munmap() in
    general.
    * ->encode_fh() switched to saner API; insane fake dentry in
    mm/cleancache.c gone.
    * assorted annotations in fs (endianness, __user)
    * parts of Artem's ->s_dirty work (jff2 and reiserfs parts)
    * ->update_time() work from Josef.
    * other bits and pieces all over the place.

    Normally it would've been in two or three pull requests, but
    signal.git stuff had eaten a lot of time during this cycle ;-/"

    Fix up trivial conflicts in Documentation/filesystems/vfs.txt (the
    'truncate_range' inode method was removed by the VM changes, the VFS
    update adds an 'update_time()' method), and in fs/btrfs/ulist.[ch] (due
    to sparse fix added twice, with other changes nearby).

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (95 commits)
    nfs: don't open in ->d_revalidate
    vfs: retry last component if opening stale dentry
    vfs: nameidata_to_filp(): don't throw away file on error
    vfs: nameidata_to_filp(): inline __dentry_open()
    vfs: do_dentry_open(): don't put filp
    vfs: split __dentry_open()
    vfs: do_last() common post lookup
    vfs: do_last(): add audit_inode before open
    vfs: do_last(): only return EISDIR for O_CREAT
    vfs: do_last(): check LOOKUP_DIRECTORY
    vfs: do_last(): make ENOENT exit RCU safe
    vfs: make follow_link check RCU safe
    vfs: do_last(): use inode variable
    vfs: do_last(): inline walk_component()
    vfs: do_last(): make exit RCU safe
    vfs: split do_lookup()
    Btrfs: move over to use ->update_time
    fs: introduce inode operation ->update_time
    reiserfs: get rid of resierfs_sync_super
    reiserfs: mark the superblock as dirty a bit later
    ...

    Linus Torvalds
     
  • 6 bytes seems to be a reasonable default so far, but for the desperate
    it's worth exposing this.

    [airlied: change include to module.h for this]

    Bugzilla: https://bugzilla.redhat.com/582559
    Signed-off-by: Adam Jackson
    Signed-off-by: Dave Airlie

    Adam Jackson
     
  • radeon_cs_parser_init is called by both the legacy UMS
    CS ioctl and the KMS CS ioctl. Protect KMS specific
    pieces of the code by checking that rdev is not NULL.

    Reported-by: Michael Burian

    Signed-off-by: Alex Deucher
    Reviewed-by: Jerome Glisse
    Cc: stable@vger.kernel.org
    Signed-off-by: Dave Airlie

    Alex Deucher
     
  • Signed-off-by: Thomas Hellstrom
    Reviewed-by: Jakob Bornecrantz
    Cc: stable@vger.kernel.org
    Signed-off-by: Dave Airlie

    Thomas Hellstrom
     
  • This imbalance may cause hangs when TTM is trying to swap out a buffer
    that is already on the delayed delete list.

    Signed-off-by: Thomas Hellstrom
    Reviewed-by: Jakob Bornecrantz
    Cc: stable@vger.kernel.org
    Signed-off-by: Dave Airlie

    Thomas Hellstrom
     
  • Tiling group size is always 256bits on r6xx/r7xx/r8xx/9xx. Also fix and
    simplify render backend map. This now properly sets up the backend map
    on r6xx-9xx which should improve 3D performance.

    Vadim benchmarked also:
    Some benchmarks on juniper (5750), fullscreen 1920x1080,
    first result - kernel 3.4.0+ (fb21affa), second - with these patches:

    Lightsmark: 91 fps => 123 fps +35%
    Doom3: 74 fps => 101 fps +36%

    Signed-off-by: Alex Deucher
    Signed-off-by: Jerome Glisse
    Signed-off-by: Dave Airlie

    Alex Deucher
     

01 Jun, 2012

5 commits


31 May, 2012

9 commits


29 May, 2012

9 commits


25 May, 2012

4 commits

  • We still don't understand why this fails exactly, but if fails way
    too often for a simple debug information. Furthermore the current
    ducttape should prevent the gpu from getting stuck at low frequencies.

    Hence tune down the dmesg noise.

    Note that the known failure case is that the register read returns 0
    when the gpu gets confused.

    v2: Add comments about the known failure case.

    Acked-by: Chris Wilson
    Signed-Off-by: Daniel Vetter

    Daniel Vetter
     
  • This is now used intentionally to prevent proliferation of is-pinned
    checks upon the inactive list following:

    commit 1b50247a8ddde4af5aaa0e6bc125615372ce6c16
    Author: Chris Wilson
    Date: Tue Apr 24 15:47:30 2012 +0100

    drm/i915: Remove the list of pinned inactive objects

    Reported-and-tested-by: guang.a.yang@intel.com
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=50075
    Signed-off-by: Chris Wilson
    Signed-off-by: Daniel Vetter

    Chris Wilson
     
  • Broadwater and Crestline share a limitation that prevent it from
    relocating general surface state above 4GiB. The only recourse we have
    since any buffer object may be used as a relocation target is then to
    limit all object allocations on 965g[m] to DMA32.

    Signed-off-by: Chris Wilson
    Signed-off-by: Daniel Vetter

    Chris Wilson
     
  • 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
    ...

    Linus Torvalds
     

24 May, 2012

6 commits

  • Media turbo requests can either use RPVSWREQ or RPNSWREQ to indicate
    what the interrupt handler should do. Since we only deal with the
    latter in our turbo code, make the media engine use that for turbo
    requests.

    Cc: stable@vger.kernel.org.
    Tested-by: Joe Bloggsian
    Signed-off-by: Jesse Barnes
    Reviewed-by: Eugeni Dodonov
    Signed-off-by: Daniel Vetter

    Jesse Barnes
     
  • These are ultra-low-res modes used to upscale SDTV content and we
    don't know how to support these on dp on intel hw:
    - It's unclear whether we can send avi infoframes over dp ports.
    - And the pixel repeat setting that work for hdmi/sdvo explicitly
    don't work for dp.

    So don't bother and just reject these modes. These modes have been
    introduced in

    commit 54ac76f851a1789b047b74a8e14980f2dd1ac749
    Author: Christian Schmidt
    Date: Mon Dec 19 14:53:16 2011 +0000

    drm/edid: support CEA video modes.

    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=45729
    Tested-by: Yuang Guang
    Cc: stable@vger.kernel.org
    Reviewed-by: Paulo Zanoni
    Tested-by: Paulo Zanoni
    Signed-Off-by: Daniel Vetter

    Daniel Vetter
     
  • These 2 modes were removed by mistake during a clean up.
    So, now it is time to add them back. For further info about
    supported mode and standard timing table please check:
    VOL_3_display_registers_updated.pdf at intellinuxgraphics.org.

    Note that this regression has been introduce in

    commit 55a6713b3f30a5024056027e9dbf03ac8f13bfc9
    Author: Rodrigo Vivi
    Date: Thu Dec 15 14:47:33 2011 -0200

    drm/i915: Removing TV Out modes.

    and this commit partially reverts it by re-adding the wrongly removed
    modes.

    Reported-by: Robert Lowery
    Signed-off-by: Rodrigo Vivi
    [danvet: Pimped commit message to cite the commit that introduced this
    regression.]
    Cc: stable@vger.kernel.org
    Signed-off-by: Daniel Vetter

    Rodrigo Vivi
     
  • Otherwise the hw will get confused and result in a black screen.

    This regression has been most likely introduce in

    commit 974b93315b2213b74a42a87e8a9d4fc8c0dbe90c
    Author: Chris Wilson
    Date: Sun Sep 5 00:44:20 2010 +0100

    drm/i915/tv: Poll for DAC state change

    That commit replace the first msleep(20) with a busy-loop, but failed
    to keep the 2nd msleep around. Later on we've replaced all these
    msleep(20) by proper vblanks.

    For reference also see the commit in xf86-video-intel:

    commit 1142be53eb8d2ee8a9b60ace5d49f0ba27332275
    Author: Jesse Barnes
    Date: Mon Jun 9 08:52:59 2008 -0700

    Fix TV programming: add vblank wait after TV_CTL writes

    Fxies FDO bug #14000; we need to wait for vblank after
    writing TV_CTL or following "DPMS on" calls may not actually enable the output.

    v2: As suggested by Chris Wilson, add a small comment to ensure that
    no one accidentally removes this vblank wait again - there really
    seems to be no sane explanation for why we need it, but it is
    required.

    Launchpad: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/763688
    Reported-and-Tested-by: Robert Lowery
    Cc: Rodrigo Vivi
    Cc: stable@vger.kernel.org
    Acked-by: Chris Wilson
    Signed-Off-by: Daniel Vetter

    Daniel Vetter
     
  • This box has DisplayPort and VGA, but no LVDS. Product specs are at
    http://h10010.www1.hp.com/wwpc/us/en/sm/WF25a/12454-12454-321959-338927-3640406-4282707.html?dnr=1
    and dmidecode output can be found at http://www.getslash.de/bug_attachments/dmidecode-t5740e.txt

    Signed-off-by: Jan-Benedict Glaw
    Cc: stable@vger.kernel.org
    Signed-off-by: Daniel Vetter

    Jan-Benedict Glaw
     
  • We have one bug report from a validation team that we get the eDP
    panel sequencing still somewhat wrong: We need to enable VDD while
    switching off the panel and backlight. Unfortunately that reporter
    seems to have fallen off the earth :(

    For another reporter this actually fixes a black panel issue because
    without this the backlight/panel gets confused and doesn't light up
    again.

    v2: I've forgotten to remove the vdd_off call in panel_off which is
    now bogus. This essentially reverts

    commit 17038de5f16569a25343cf68668f3b657eafb00e
    Author: Chris Wilson
    Date: Mon Apr 16 22:43:42 2012 +0100

    drm/i915/dp: Flush any outstanding work to turn the VDD off

    v3: the current panel_off code forces off the vdd power, too. Which is
    bogus and resulted in some funny warnings later on when we've tried to
    do aux channel communications with just the vdd forced on. Fix this,
    too.

    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=46312
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=43163
    Tested-by: Vincent Frentzel
    Cc: stable@kernel.org
    Reviewed-by: Jesse Barnes
    Signed-Off-by: Daniel Vetter

    Daniel Vetter