]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Broadwell expands ACTHD to 64bit
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 21 Mar 2014 12:41:53 +0000 (12:41 +0000)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 28 Mar 2014 17:33:14 +0000 (18:33 +0100)
commit0ec28c44599a0b5c08850735cd348e8f53c8c5da
tree9d8c23de3d6aaa7f6de0fd18c85c0c8c324cf30e
parent1099936ce1a4731bd6e582cd0c009e26e76575f3
drm/i915: Broadwell expands ACTHD to 64bit

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: Chris 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: Ben Widawsky <ben@bwidawsk.net>
[danvet: Drop spurious hunk which conflicted.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/i915_gpu_error.c
drivers/gpu/drm/i915/i915_irq.c
drivers/gpu/drm/i915/i915_reg.h
drivers/gpu/drm/i915/intel_ringbuffer.c
drivers/gpu/drm/i915/intel_ringbuffer.h