• Chris Wilson's avatar
    drm/i915: Mark uneven memory banks on gen4 desktop as unknown swizzling · 0b466dc2
    Chris Wilson authored
    We have varied reports of swizzling corruption on gen4 desktop, and
    confirmation that one at least is triggered by uneven memory banks
    (L-shaped memory). The implication is that the swizzling varies between
    the paired channels and the remainder of memory on the single channel. As
    the object then has unpredictable swizzling (it will vary depending on
    exact page allocation and may even change during the object's lifetime as
    the pages are replaced), we have to report to userspace that the swizzling
    is unknown.
    
    However, some existing userspace is buggy when it meets an unknown
    swizzling configuration and so we need to tell another white lie and
    mark the swizzling as NONE but report it as UNKNOWN through the extended
    get-tiling-ioctl. See
    
    commit 5eb3e5a5
    Author: Chris Wilson <chris@chris-wilson.co.uk>
    Date:   Sun Jun 28 09:19:26 2015 +0100
    
        drm/i915: Declare the swizzling unknown for L-shaped configurations
    
    for the previous example where we found that telling the truth to
    userspace just ends up in a world of hurt.
    
    Also since we don't truly know what the swizzling is on the pages, we
    need to keep them pinned to prevent swapping as the reports also
    suggest that some gen4 devices have previously undetected bit17
    swizzling.
    
    v2: Combine unknown + quirk patches to prevent userspace ever seeing
    unknown swizzling through the normal get-tiling-ioctl. Also use the same
    path for the existing uneven bank detection for mobile gen4.
    Reported-by: default avatarMatti Hämäläinen <ccr@tnsp.org>
    Tested-by: default avatarMatti Hämäläinen <ccr@tnsp.org>
    References: https://bugs.freedesktop.org/show_bug.cgi?id=90725Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
    Cc: Matti Hämäläinen <ccr@tnsp.org>
    Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
    Cc: Jani Nikula <jani.nikula@intel.com>
    Cc: stable@vger.kernel.org
    Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    Link: http://patchwork.freedesktop.org/patch/msgid/1447927085-31726-1-git-send-email-chris@chris-wilson.co.ukSigned-off-by: default avatarJani Nikula <jani.nikula@intel.com>
    0b466dc2
i915_gem_fence.c 24.8 KB