• Neil Armstrong's avatar
    drm/meson: plane: add support for AFBC mode for OSD1 plane · 68e2f64e
    Neil Armstrong authored
    This adds all the OSD configuration plumbing to support the AFBC decoders
    path to display of the OSD1 plane.
    
    The Amlogic GXM and G12A AFBC decoders are integrated very differently.
    
    The Amlogic GXM has a direct output path to the OSD1 VIU pixel input,
    because the GXM AFBC decoder seem to be a custom IP developed by Amlogic.
    
    On the other side, the Amlogic G12A AFBC decoder seems to be an external
    IP that emit pixels on an AXI master hooked to a "Mali Unpack" block
    feeding the OSD1 VIU pixel input.
    This uses a weird "0x1000000" internal HW physical address on both
    sides to transfer the pixels.
    
    For Amlogic GXM, the supported pixel formats are the same as the normal
    linear OSD1 mode.
    
    On the other side, Amlogic added support for all AFBC v1.2 formats for
    the G12A AFBC integration.
    
    For simplicity, we stick to the already supported formats for now.
    Signed-off-by: default avatarNeil Armstrong <narmstrong@baylibre.com>
    Reviewed-by: default avatarKevin Hilman <khilman@baylibre.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20191021091509.3864-7-narmstrong@baylibre.com
    68e2f64e
meson_plane.c 16.5 KB