drm/mcde: Fix frame sync setup for video mode panels
The MCDE driver differentiates only between "te_sync" (for hardware TE0 sync) and software sync (i.e. manually triggered updates) at the moment. However, none of these options work correctly for video mode panels. Therefore, we need to make some changes to make them work correctly: - Select hardware sync coming from the (DSI) formatter. - Keep the FIFO permanently enabled (otherwise MCDE will stop feeding data to the panel). - Skip manual software sync (this is not necessary in video mode). Automatically detect if the connected panel is using video mode and enable the necessary changes in that case. Signed-off-by: Stephan Gerhold <stephan@gerhold.net> Tested-by: Linus Walleij <linus.walleij@linaro.org> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Link: https://patchwork.freedesktop.org/patch/msgid/20191106165835.2863-3-stephan@gerhold.net
This commit is contained in:

committed by
Linus Walleij

parent
768859c239
commit
d920e8da3d
@@ -19,6 +19,7 @@ struct mcde {
|
||||
struct mipi_dsi_device *mdsi;
|
||||
s16 stride;
|
||||
bool te_sync;
|
||||
bool video_mode;
|
||||
bool oneshot_mode;
|
||||
unsigned int flow_active;
|
||||
spinlock_t flow_lock; /* Locks the channel flow control */
|
||||
|
Reference in New Issue
Block a user