• Chris Wilson's avatar
    drm/i915: Share the common work of disabling active FBC before updating · 016b9b61
    Chris Wilson authored
    Upon review, all path share the same dependencies for updating the
    registers and so we can benefit from sharing the code and checking
    early.
    
    This removes the unsightly intel_wait_for_vblank() from the lowlevel
    functions and upon further analysis the only path that will require a
    wait is if we are performing an instantaneous transition between two
    valid FBC configurations. The page-flip path itself will have disabled
    FBC registers and will have waited for at least one vblank before
    finishing the flip and attempting to re-enable FBC. This wait can be
    accomplished simply by delaying the enable until after we are sure that
    a vblank will have passed, which we are already doing to make sure that
    the display is settled before enabling FBC.
    Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
    Reviewed-by: default avatarKeith Packard <keithp@keithp.com>
    Signed-off-by: default avatarKeith Packard <keithp@keithp.com>
    016b9b61
i915_drv.h 41.7 KB