• Ville Syrjälä's avatar
    drm/i915: Reject planar formats when doing async flips · aaec72ee
    Ville Syrjälä authored
    Async flips are only capable of changing PLANE_SURF, hence we
    they can't easily be used with planar formats.
    
    Older platforms could require updating AUX_DIST as well, which
    is not possible. We'd have to make sure AUX_DIST doesn't change
    before allowing the async flip through. If we could get async
    flips with CCS then that might be interesting, but since the hw
    doesn't allow async flips with CCS I don't see much point in
    allowing this for planar formats either. No one renders their
    game content in YUV anyway.
    
    icl+ could in theory do this I suppose since each color plane
    has its own PLANE_SURF register, but I don't know if there is
    some magic to guarantee that both the Y and UV plane would
    async flip synchronously if you will. Ie. beyond just a clean
    tear we'd potentially get some kind of weird tear with some
    random mix of luma and chroma from the old and new frames.
    
    So let's just say no to async flips when scanning out planar
    formats.
    
    Cc: Karthik B S <karthik.b.s@intel.com>
    Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211018115030.3547-2-ville.syrjala@linux.intel.comReviewed-by: default avatarStanislav Lisovskiy <stanislav.lisovskiy@intel.com>
    aaec72ee
intel_display.c 316 KB