]> 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)
committerChris Wilson <chris@chris-wilson.co.uk>
Tue, 11 Sep 2018 14:51:26 +0000 (15:51 +0100)
commit26128981ad562f576e783f5e92b334a54981d55d
treee738b741c690c92da8993689bb5192179a01d980
parentdcfa328da979ab5fad6ecc82dbea3ce6777b5c68
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
drivers/gpu/drm/i915/intel_overlay.c