Thanks for your help here.
We are using a Gateworks Ventana GW5400 board, which is closely based off the SabreSD reference design. We are now running yocto v1.6 with MM 3.0.11 with the fsl 3.10.17-1.0.0_ga kernel (with some patches on top to fully support our board - source is here: Commits · Gateworks/linux-imx6 · GitHub)
Here are some updated specifics - I would appreciate it if you could repeat this on your SabreSD with HDMI out and see if you get the same results as us.
root@ventana:~# uname -a
Linux ventana 3.10.17-1.0.0_ga+yocto+g44f5a1b #1 SMP Mon Jun 23 13:53:13 PDT 2014 armv7l GNU/Linux
root@ventana:~# cat /proc/cmdline
# no video= params to override the deafult mxcfb configuration from devicetree which is HDMI, CVBS, LVDS for our board
console=ttymxc1,115200 root=ubi0:rootfs ubi.mtd=2 rootfstype=ubifs debug
root@ventana:~# dmesg | grep mxc_sdc_fb
[ 0.650594] mxc_sdc_fb fb.31: registered mxc display driver hdmi IPU1_DISP1
[ 0.685380] mxc_sdc_fb fb.32: registered mxc display driver adv739x IPU2_DISP0
[ 0.695182] mxc_sdc_fb fb.33: registered mxc display driver ldb IPU1_DISP0
root@ventana:~# dmesg | grep "i.MX6"
[ 0.000000] Machine: Freescale i.MX6 Quad/DualLite (Device Tree), model: Gateworks Ventana i.MX6 Dual/Quad GW54XX
[ 0.000000] CPU identified as i.MX6Q, silicon rev 1.2
root@ventana:~# opkg list_installed | grep gst-fsl-plugin
gst-fsl-plugin - 3.0.11-r0
gst-fsl-plugin-gplay - 3.0.11-r0
root@ventana:~# cat /sys/class/graphics/fb0/modes
S:1920x1080p-60
S:1920x1080p-50
S:1280x720p-60
S:1280x720p-50
S:720x576p-50
S:720x576p-50
S:720x480p-60
S:720x480p-60
V:640x480p-60
D:720x480p-59
D:1280x720p-60
V:640x480p-60
root@ventana:~# cat /sys/class/graphics/fb0/mode
S:1920x1080p-60
root@ventana:~# fbset
mode "1920x1080-60"
# D: 148.500 MHz, H: 67.500 kHz, V: 60.000 Hz
geometry 1920 1080 1920 1080 24
timings 6734 148 88 36 4 44 5
hsync high
vsync high
rgba 8/16,8/8,8/0,0/0
endmode
# default display output is 1080p
# attempt 480p input source to 1080p output (this shows fine)
gst-launch videotestsrc ! video/x-raw-yuv,width=720,height=480 ! mfw_v4lsink device=/dev/video16 sync=false
MFW_GST_V4LSINK_PLUGIN 3.0.11 build on Jun 23 2014 14:43:24.
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
>>V4L_SINK: Actually buffer status:
hardware buffer : 12
software buffer : 0
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
full screen size:1920x1080
[V4L Update Display]: left=0, top=0, width=1920, height=1080
set v4l display crop sucessfully
New clock: GstSystemClock
^CCaught interrupt -- handling interrupt.
Interrupt: Stopping pipeline ...
Execution ended after 15521986668 ns.
Setting pipeline to PAUSED ...
Running time 0:00:15.523626668 render fps 54.240
Setting pipeline to READY ...
Setting pipeline to NULL ...
Total rendered:842
Freeing pipeline ...
[--->FINALIZE v4l_sink
root@ventana:~#
# attempt a 1080p input to a 1080p output (this shows display issues)
root@ventana:~# gst-launch videotestsrc ! video/x-raw-yuv,width=1920,height=1080 ! mfw_v4lsink device=/dev/video16 sync=false
MFW_GST_V4LSINK_PLUGIN 3.0.11 build on Jun 23 2014 14:43:24.
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...[ 1627.986231] mxc_v4l2_output v4l2_out.38: Bypass IC.
>>V4L_SINK: Actually buffer status:
hardware buffer : 12
software buffer : 0
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
full screen size:1920x1080
[V4L Update Display]: left=0, top=0, width=1920, height=1080
set v4l display crop sucessfully
New clock: GstSystemClock
^CCaught interrupt -- handling interrupt.
Interrupt: Stopping pipeline ...
Execution ended after 20274201669 ns.
Setting pipeline to PAUSED ...
Running time 0:00:20.274989669 render fps 23.132
Setting pipeline to READY ...
Setting pipeline to NULL ...
Total rendered:469
Freeing pipeline ...
[--->FINALIZE v4l_sink
root@ventana:~#
# change the default 1080p output to 480p
root@ventana:~# echo "S:720x480p-60" > /sys/class/graphics/fb0/mode
root@ventana:~# cat /sys/class/graphics/fb0/mode
S:720x480p-60
root@ventana:~# fbset
mode "720x480-60"
# D: 27.000 MHz, H: 31.469 kHz, V: 59.940 Hz
geometry 720 480 720 480 12
timings 37037 60 16 30 9 62 6
nonstd 842094158
rgba 8/16,8/8,8/0,0/0
endmode
# now we are at 480p output
# 480p source to a 480p output shows display issues
root@ventana:~# gst-launch videotestsrc ! video/x-raw-yuv,width=720,height=480 ! mfw_v4lsink device=/dev/video16 sync=false
MFW_GST_V4LSINK_PLUGIN 3.0.11 build on Jun 23 2014 14:43:24.
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
>>V4L_SINK: Actually buffer status:
hardware buffer : 12
software buffer : 0
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
full screen size:720x480
[V4L Update Display]: left=0, top=0, width=720, height=480
set v4l display crop sucessfully
New clock: GstSystemClock
^CCaught interrupt -- handling interrupt.
Interrupt: Stopping pipeline ...
Execution ended after 5508465000 ns.
Setting pipeline to PAUSED ...
Running time 0:00:05.509253001 render fps 59.899
Setting pipeline to READY ...
Setting pipeline to NULL ...
Total rendered:330
Freeing pipeline ...
[--->FINALIZE v4l_sink
# change back to 1080p
# 720p input to 1080p output shows fine
root@ventana:~# gst-launch videotestsrc ! video/x-raw-yuv,width=720,height=480 ! mfw_v4lsink device=/dev/video16 sync=false
MFW_GST_V4LSINK_PLUGIN 3.0.11 build on Jun 23 2014 14:43:24.
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
>>V4L_SINK: Actually buffer status:
hardware buffer : 12
software buffer : 0
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
full screen size:1920x1080
[V4L Update Display]: left=0, top=0, width=1920, height=1080
set v4l display crop sucessfully
New clock: GstSystemClock
^CCaught interrupt -- handling interrupt.
Interrupt: Stopping pipeline ...
Execution ended after 4256313001 ns.
Setting pipeline to PAUSED ...
Running time 0:00:04.257095334 render fps 54.027
Setting pipeline to READY ...
Setting pipeline to NULL ...
Total rendered:230
Freeing pipeline ...
[--->FINALIZE v4l_sink
The above seems to indicate to me that whenever scaling is necessary the output is fine, but whenever the input resolution matches the output we have problems.
With the following patch, this issue appears to be resolved, but I'm not clear if its a valid fix or if it will cause other issues:
Are you saying that you cannot recreate the issue above using a SabreSD with 3.10.17_1.0.0-ga kernel, yocto1.6 userspace, and default kernel cmdline such that HDMI is fb0?