]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915/overlay: Allocate physical registers from stolen
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 6 Sep 2018 19:01:43 +0000 (20:01 +0100)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Tue, 11 Sep 2018 15:24:03 +0000 (08:24 -0700)
commit4bb2eda1cf491f06c68661d3fa612c8a06029dcb
tree95ee3f1239838150b5f59deb1e9b12c8ee1cf422
parentb6646dd680da87217c9cb8183db54c8cf9b4d99b
drm/i915/overlay: Allocate physical registers from stolen

Given that we are now reasonably confident in our ability to detect and
reserve the stolen memory (physical memory reserved for graphics by the
BIOS) for ourselves on most machines, we can put it to use. In this
case, we need a page to hold the overlay registers.

On an i915g running MythTv, H Buus noticed that

commit afd0efb360ca0059caad5e0cdb4ebf66e5cb80aa
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue Nov 4 04:51:40 2014 -0800
drm/i915: Make the physical object coherent with GTT

introduced stuttering into his video playback. After discarding the
likely suspect of it being the physical cursor updates, we were left
with the use of the phys object for the overlay. And lo, if we
completely avoid using the phys object (allocated just once on module
load!) by switching to stolen memory, the stuttering goes away.

For lack of a better explanation, claim victory and kill two birds with
one stone.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107600
Fixes: afd0efb360ca ("drm/i915: Make the physical object coherent with GTT")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180906190144.1272-1-chris@chris-wilson.co.uk
(cherry picked from commit c8124d399224d626728e2ffb95a1d564a7c06968)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/i915/intel_overlay.c