]> 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)
commitde07d400c199012bb92957ab09a87cffef7ad319
tree2510d04e4ea7602c7c89c0c15e61e0fb4d8a58f0
parent86ecee825f6e80b5261d9c9a17571a636df42c55
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