• Colin Xu's avatar
    drm/i915/gvt: Enable async flip on plane surface mmio writes · d57b39e3
    Colin Xu authored
    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: default avatarZhenyu Wang <zhenyuw@linux.intel.com>
    Signed-off-by: default avatarColin Xu <colin.xu@intel.com>
    Signed-off-by: default avatarZhenyu Wang <zhenyuw@linux.intel.com>
    d57b39e3
handlers.c 110 KB