I am using RDK4.0 with TI8168. In my application cases,
DVO2 output has two input inner sources, graphics0 and video0.
I have 1280x720 ARGB framebuffer which uses graphics0 with built-in scaler and
SwMs output with 1920x1080 YUYV format which uses video0.
When DVO2 works in 1080P60, both of them can be fully displayed(alpha blending enabled).
When DVO2 works in 1080I60, both of them will be displayed abnormally.
It seem that DVO2 skip bottom field of the two sources.
I notice that FVID2_Format and FVID2_Frame have some members to process progressive frame to be displayed
as interlaced frame without skipping one field of frame.
So I modified displayLink_drv.c and finally I get the output of SwMs(progressive frame) to be fully displayed without skipping one fileld of frame.
But when I applied the same mechanism to graphic driver in grpx.c in the kernel sources.
It failed to start the framebuffer, these are the debug messages:
VPSS_GRPX : start grpx0
VPSS_GRPX : (0)- get resolution.
VPSS_DCTRL: enter get output format
VPSS_FVID2: send control with cmd 0x1004001a
VPSS_FVID2: control event 0x1004001a return 0 within 0 ms.
VPSS_FVID2: send control with cmd 0x00000003
VPSS_FVID2: control event 0x3 return 0 within 0 ms.
VPSS_FVID2: send control with cmd 0x10000002
VPSS_FVID2: control event 0x10000002 return -1 within 0 ms.
ti81xxfb ti81xxfb: failed to star.
How to get the progressive frame of framebuffer to be fully displayed on an interlaced DVO with
the built-in scaler enabled?
Thanks!