]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915/gvt: Enable async flip on plane surface mmio writes
authorColin Xu <colin.xu@intel.com>
Mon, 25 Mar 2019 01:52:17 +0000 (09:52 +0800)
committerZhenyu Wang <zhenyuw@linux.intel.com>
Fri, 29 Mar 2019 03:10:22 +0000 (11:10 +0800)
commit05a4da37955cf123f8b96872a819c5de5c1d6000
tree2510d04e4ea7602c7c89c0c15e61e0fb4d8a58f0
parent7560f316d3441910307c12e965df5fb9a608b324
drm/i915/gvt: Enable async flip on plane surface mmio writes

According to Intel GFX PRM on 01.org, plane surface address can be updated
synchronously or asynchronously. Synchronous flip will hold plane surface
address update to start of next vsync, which is current implementation.
Asynchronous flip will update the address as soon as possible. Without
async flip, some 3D application could not reach better performance and
the maximum performance is no higher than vsync frequency.

The patch enables the async flip on plane surface address mmio update,
and increment flip count correctly.

With async flip enabled, some 3D applications have significant performance
improvement. i.e. 3DMark Ice Storm has a 300%~400% increment on score.

v2:
Use bit operation definition for flip mode. (zhenyu)

Reviewed-by: Zhenyu Wang <zhenyuw@linux.intel.com>
Signed-off-by: Colin Xu <colin.xu@intel.com>
Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
drivers/gpu/drm/i915/gvt/display.c
drivers/gpu/drm/i915/gvt/handlers.c