[DSS DRV][Bug Fix][PDK-5040]Display stops working if two pipelines are started back... REL.CORESDK.07.03.00.22
authorVivek Dhande <a0132295@ti.com>
Sun, 14 Mar 2021 14:00:01 +0000 (19:30 +0530)
committerAnkur <ankurbaranwal@ti.com>
Mon, 15 Mar 2021 07:36:43 +0000 (02:36 -0500)
commit478b66450900263f971a180312916788bd31650e
treeeba6028c59d5a51452202ae765ebfdfcb0aead9b
parent614e9c7ea14bd1ef0f12fdcf6d6b56db4978d000
[DSS DRV][Bug Fix][PDK-5040]Display stops working if two pipelines are started back to back

- Issue:
    - When two display pipelines (connected to the same overlay) are started back to back by calling FVID2_Start() twice, pipelines do not start and does not display anything.
    - Same is observed for 2 LCDs
- Resolution:
    - Second start has to wait for a VSYNC to come from first pipeline before starting
- Fix:
    - We should not allow pipelines to be started back to back until the first vsync callback of pipeline comes.
    - Wait for semaphore before starting second pipeline

Signed-off-by: Vivek Dhande <a0132295@ti.com>
packages/ti/drv/dss/src/drv/dctrl/dss_dctrlApi.c
packages/ti/drv/dss/src/drv/dctrl/dss_dctrlPriv.h
packages/ti/drv/dss/src/drv/disp/dss_dispApi.c