This seems to be related to the famous stride 256 byte alignment required by the DPDMA involved in AR# 73117 I can't use that IO-mode because I need to use the tee plugin to encode the video source in the same time I display the video. So the problem can't be resolved on the kmssink side, but should be on v4l2 side instead
Reading through the lines of the xilinx-dma driver, I would say that the bytesperline value is rounded to the dma alignment, so I've modified my devicetree to set a 256 byte DMA alignment on the framebuffer write.
but here is the error I get when I start the pipeline :
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Device '/dev/video1' cannot capture at 1920x1080
Additional debug info:
../../../git/sys/v4l2/gstv4l2object.c(3872): gst_v4l2_object_set_format_full (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
Tried to capture at 1920x1080, but device returned size 1792x1080