• Linus Walleij's avatar
    drm/mcde: Fix display data flow control · 709c2773
    Linus Walleij authored
    Revamp the way that the flow of data to the display is
    defined.
    
    I realized that the hardware supports something like
    5 different modes of flow: oneshot, command with TE IRQ,
    command with BTA (bus turn around) and TE IRQ, video
    with TE IRQ and video without TE IRQ instead synchronizing
    to the output of the MCDE DSI formatter.
    
    Like before the selection of the type of flow is done
    from the DSI driver when we attach it to the MCDE and we
    get to know what the display wants.
    
    The new video mode synchronization method from the MCDE DSI
    formatter is used on some upstream devices such as Golden.
    This is the new default for video mode: stateless panels
    do not as a rule generate TE IRQs.
    
    Another semantic change is that we stop sending
    a TE request before every command when sending data to
    a display in command mode: this should only be explicitly
    requested when using BTA, according to the vendor driver.
    
    This has been tested and works fine with the command mode
    displays I have. (All that are supported upstream.)
    Reported-by: default avatarStephan Gerhold <stephan@gerhold.net>
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    Reviewed-by: default avatarStephan Gerhold <stephan@gerhold.net>
    Cc: Stephan Gerhold <stephan@gerhold.net>
    Link: https://patchwork.freedesktop.org/patch/msgid/20200729090915.252730-2-linus.walleij@linaro.org
    709c2773
mcde_display.c 29.9 KB