media: imx: imx7-media-csi: Get rid of superfluous call to imx7_csi_mbus_fm t_to_pix_fmt

Alexander Stein alexander.stein at ew.tq-group.com
Mon Jul 17 02:57:26 PDT 2023


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/





More information about the linux-arm-kernel mailing list