2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2025-01-15 09:03:59 +08:00
linux-next/drivers/video/omap2/dss
Archit Taneja cf398fb3e6 OMAP: DSS2: DSI: Introduce sync_vc functions
The DSI protocol engine has no interrupt for signalling the end of a Frame
transfer. The present approach is to send a BTA after DISPC generates a
FRAMEDONE interrupt, and unlock the dsi bus only when the BTA Ack is received.

The assumption made with this approach was that OMAP will send a BTA only after
the long packet corresponding to the last line is sent. However, it is possible
that on the DISPC FRAMEDONE interrupt there are 2 (or more) lines of pixel data
in the DSI line buffer. Hence, the BTA Ack could be received for the long packet
corresponding to the second last line (or the third last and so on..).
Therefore, the current method doesn't ensure that the complete frame data is
sent before we start a new transfer. A similar explanation holds valid if we
send a BTA in between multiple short/long command packets from the slave port.

Introduce dsi_sync_vc functions, based on Tomi Valkeinen's idea, which ensure
that the DSI Virtual Channel in use(update_channel) completes its previous work
before proceeding to the next Frame/Command.

For a frame update, the DSI driver now sends a callback to the Panel Driver
on the FRAMEDONE interrupt itself. The callback in the panel driver then unlocks
the bus. dsi_sync_vc() functions are placed in dsi_vc_config_l4() and
dsi_vc_config_vp() to ensure that the previous task of the Virtual Channel is
completed.

Signed-off-by: Archit Taneja <archit@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2011-05-11 14:10:55 +03:00
..
core.c OMAP: DSS2: Move display.h to include/video/ 2011-05-11 14:05:07 +03:00
dispc.c OMAP: DSS2: Move display.h to include/video/ 2011-05-11 14:05:07 +03:00
display.c OMAP: DSS2: Move display.h to include/video/ 2011-05-11 14:05:07 +03:00
dpi.c OMAP: DSS2: Move display.h to include/video/ 2011-05-11 14:05:07 +03:00
dsi.c OMAP: DSS2: DSI: Introduce sync_vc functions 2011-05-11 14:10:55 +03:00
dss_features.c OMAP4: DSS2: Register configuration changes for DSI 2011-05-11 14:10:55 +03:00
dss_features.h OMAP4: DSS2: Register configuration changes for DSI 2011-05-11 14:10:55 +03:00
dss.c OMAP: DSS2: Fix: Return correct lcd clock source for OMAP2/3 2011-05-11 14:10:54 +03:00
dss.h OMAP4: DSS2: HDMI: HDMI panel driver addition in the DSS 2011-03-16 11:45:49 +05:30
hdmi_omap4_panel.c OMAP: DSS2: Move display.h to include/video/ 2011-05-11 14:05:07 +03:00
hdmi.c OMAP: DSS2: Move display.h to include/video/ 2011-05-11 14:05:07 +03:00
hdmi.h OMAP: DSS2: Move display.h to include/video/ 2011-05-11 14:05:07 +03:00
Kconfig OMAP4: DSS2: HDMI: Add makefile and kconfig changes to enable HDMI in OMAP4 2011-03-16 11:45:50 +05:30
Makefile OMAP4: DSS2: HDMI: Add makefile and kconfig changes to enable HDMI in OMAP4 2011-03-16 11:45:50 +05:30
manager.c OMAP: DSS2: Move display.h to include/video/ 2011-05-11 14:05:07 +03:00
overlay.c OMAP: DSS2: Move display.h to include/video/ 2011-05-11 14:05:07 +03:00
rfbi.c OMAP: DSS2: Move display.h to include/video/ 2011-05-11 14:05:07 +03:00
sdi.c OMAP: DSS2: Move display.h to include/video/ 2011-05-11 14:05:07 +03:00
venc.c OMAP: DSS2: Move display.h to include/video/ 2011-05-11 14:05:07 +03:00