• Russell King's avatar
    drm/armada: fix overlay when partially off-screen · 73068ce3
    Russell King authored
    Fix the start address calculation when overlay is partially off screen.
    fb->bits_per_pixel is not set for YUV formats, and is always zero, which
    led to the first component always starting at zero.
    
    Use drm_format_plane_cpp() instead.
    
    This also revealed a problem in that YUYV formats toggle the U/V data
    for odd pixel start address offsets.  We try to rectify that by
    toggling the U/V swap, which for the most part works, but seemingly
    introduces a flicker for one scan frame of swapped U/V.
    
    However, these changes result in an overall improvement.
    Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
    73068ce3
armada_overlay.c 14.7 KB