• Chris Wilson's avatar
    drm/i915: Broadwell expands ACTHD to 64bit · 50877445
    Chris Wilson authored
    As Broadwell has an increased virtual address size, it requires more
    than 32 bits to store offsets into its address space. This includes the
    debug registers to track the current HEAD of the individual rings, which
    may be anywhere within the per-process address spaces. In order to find
    the full location, we need to read the high bits from a second register.
    We then also need to expand our storage to keep track of the larger
    address.
    
    v2: Carefully read the two registers to catch wraparound between
        the reads.
    v3: Use a WARN_ON rather than loop indefinitely on an unstable
        register read.
    Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
    Cc: Ben Widawsky <benjamin.widawsky@intel.com>
    Cc: Timo Aaltonen <tjaalton@ubuntu.com>
    Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
    Reviewed-by: default avatarBen Widawsky <ben@bwidawsk.net>
    [danvet: Drop spurious hunk which conflicted.]
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    50877445
intel_ringbuffer.c 58.7 KB