Hi Tim, Am Freitag, 14. Juli 2023, 03:34:15 CEST schrieb Tim Harvey: > Alexander, > > I found that commit 6f482c4729d9: ("media: imx: imx7-media-csi: Get > rid of superfluous call to imx7_csi_mbus_fmt_to_pix_fmt") introduced > an issue causing me to not be able to capture anymore on an imx8mm > with an imx219 camera. > > I'm using a RaspberryPi Camera v2 which has an IMX219 8MP camera module: > - https://datasheets.raspberrypi.com/camera/camera-v2-schematics.pdf > - has its own on-board 24MHz osc so no clock required from baseboard > - pin 11 enables 1.8V and 2.8V LDO which is connected to a GPIO I use > as a regulator enable > > I'm using the imx8mm-venice-gw72xx-0x-imx219 dt overlay [1] to test this. > > Here is some additional information about how I'm using the camera module: > # cat /sys/bus/media/devices/media*/model > imx-media > hantro-vpu > hantro-vpu > # cat /sys/class/video4linux/video*/name > csi capture > nxp,imx8mm-vpu-g1-dec > nxp,imx8mq-vpu-g2-dec > # enable imx219 to csi link > media-ctl --reset > media-ctl -l "'imx219 2-0010':0 -> 'csis-32e30000.mipi-csi':0 [1]" > # configure for 640x480 raw8 > media-ctl -v -V "'imx219 2-0010':0 [fmt:SRGGB8/640x480 field:none]" > media-ctl -v -V "'csis-32e30000.mipi-csi':0 [fmt:SRGGB8/640x480 field:none]" > media-ctl -v -V "'csi':0 [fmt:SRGGB8/640x480 field:none]" > # configure for RGGB (8-bit bayer), 640x480 resolution > v4l2-ctl --device /dev/video0 > --set-fmt-video=width=640,height=480,pixelformat=RGGB --verbose > > before commit 6f482c4729d9: ("media: imx: imx7-media-csi: Get rid of > superfluous call to imx7_csi_mbus_fmt_to_pix_fmt") this would report > back 640x480 resolution: > VIDIOC_QUERYCAP: ok > VIDIOC_G_FMT: ok > VIDIOC_S_FMT: ok > Format Video Capture: > Width/Height : 640/480 > Pixel Format : 'RGGB' (8-bit Bayer RGRG/GBGB) > Field : None > Bytes per Line : 640 > Size Image : 307200 > Colorspace : Default > Transfer Function : Default (maps to Rec. 709) > YCbCr/HSV Encoding: Default (maps to ITU-R 601) > Quantization : Default (maps to Full Range) > Flags : > > And after the commit it reports back an invalid 768x480 resolution: > VIDIOC_QUERYCAP: ok > VIDIOC_G_FMT: ok > VIDIOC_S_FMT: ok > Format Video Capture: > Width/Height : 768/480 > Pixel Format : 'RGGB' (8-bit Bayer RGRG/GBGB) > Field : None > Bytes per Line : 768 > Size Image : 368640 > Colorspace : Default > Transfer Function : Default (maps to Rec. 709) > YCbCr/HSV Encoding: Default (maps to ITU-R 601) > Quantization : Default (maps to Full Range) > Flags : > > This resolution and frame size mis-match causes issues for example > when using gstreamer to capture and stream frames. Oh, that's weird. Can you check what the call to v4l_bound_align_image() inside __imx7_csi_video_try_fmt() is actually doing? Check walign, width before and after the call. From a glance that seems to be the only way width could be modified. > I noticed you have several outstanding patches pending for > imx7-media-csi... perhaps there is something there you already know of > that addresses this issue? There nothing pending AFAICS. Everything has been integrated into linux-next at least. Best regards, Alexander > best regards, > > Tim > [1] > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arc > h/arm64/boot/dts/freescale/imx8mm-venice-gw72xx-0x-imx219.dtso -- TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany Amtsgericht München, HRB 105018 Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider http://www.tq-group.com/