Re: [PATCH 00/38] i.MX5/6 Video Capture

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 06/15/16 12:43, Jack Mitchell wrote:
> On 14/06/16 23:48, Steve Longerbeam wrote:
>> Tested on imx6q SabreAuto with ADV7180, and imx6q SabreSD with
>> mipi-csi2 OV5640. There is device-tree support also for imx6qdl
>> SabreLite, but that is not tested. Also, this driver should
>> theoretically work on i.MX5 targets, but that is also untested.
> 
> I tested this on a sabrelite with ov5640 MIPI camera. I managed to capture multiple images of a few different resolutions without issue. I did get a kernel splat at one point though:
> 
> [  905.469680] WARNING: CPU: 3 PID: 349 at drivers/media/v4l2-core/v4l2-ioctl.c:2174 v4l_cropcap+0x15c/0x190

Known bug. Fix is waiting to be merged.

Regards,

	Hans

> [  905.482308] Modules linked in: dw_hdmi_ahb_audio evbug
> [  905.489079] CPU: 3 PID: 349 Comm: capture-example Tainted: G        W       4.7.0-rc1-00095-g921736c0-dirty #7
> [  905.502069] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
> [  905.510116] Backtrace:
> [  905.514066] [<c010c1b0>] (dump_backtrace) from [<c010c3a8>] (show_stack+0x18/0x1c)
> [  905.523161]  r7:00000000 r6:600f0013 r5:00000000 r4:c0e21bbc
> [  905.530442] [<c010c390>] (show_stack) from [<c03e9468>] (dump_stack+0xb4/0xe8)
> [  905.539210] [<c03e93b4>] (dump_stack) from [<c012473c>] (__warn+0xd8/0x104)
> [  905.547680]  r9:c06219b0 r8:0000087e r7:00000009 r6:c0c51b10 r5:00000000 r4:00000000
> [  905.557086] [<c0124664>] (__warn) from [<c012481c>] (warn_slowpath_null+0x28/0x30)
> [  905.566172]  r9:c5e09680 r8:00000000 r7:c63c0e00 r6:c5e09680 r5:c0a7b2fc r4:c6223e18
> [  905.575577] [<c01247f4>] (warn_slowpath_null) from [<c06219b0>] (v4l_cropcap+0x15c/0x190)
> [  905.585296] [<c0621854>] (v4l_cropcap) from [<c0623678>] (__video_do_ioctl+0x280/0x300)
> [  905.594824]  r8:00000000 r7:c6248000 r6:c02c563a r5:00000003 r4:c0621854
> [  905.603176] [<c06233f8>] (__video_do_ioctl) from [<c06230c4>] (video_usercopy+0x208/0x520)
> [  905.612994]  r10:c6223e18 r9:c5e09680 r8:bef3fb60 r7:00000000 r6:00000000 r5:0000002c
> [  905.622542]  r4:c02c563a
> [  905.626692] [<c0622ebc>] (video_usercopy) from [<c06233f0>] (video_ioctl2+0x14/0x1c)
> [  905.636129]  r10:00000000 r9:c6222000 r8:c62e0088 r7:bef3fb60 r6:c02c563a r5:c5e09680
> [  905.645837]  r4:c6248000
> [  905.650146] [<c06233dc>] (video_ioctl2) from [<c061e098>] (v4l2_ioctl+0xac/0xe8)
> [  905.659402] [<c061dfec>] (v4l2_ioctl) from [<c022c2c8>] (do_vfs_ioctl+0x9c/0xa28)
> [  905.668768]  r9:c6222000 r8:00000003 r7:c022cc90 r6:c5e09680 r5:c61fcc68 r4:bef3fb60
> [  905.678598] [<c022c22c>] (do_vfs_ioctl) from [<c022cc90>] (SyS_ioctl+0x3c/0x64)
> [  905.687898]  r10:00000000 r9:c6222000 r8:bef3fb60 r7:c02c563a r6:c5e09680 r5:00000003
> [  905.697911]  r4:c5e09680
> [  905.702505] [<c022cc54>] (SyS_ioctl) from [<c0107c20>] (ret_fast_syscall+0x0/0x1c)
> [  905.712135]  r9:c6222000 r8:c0107dc4 r7:00000036 r6:000107cc r5:00000000 r4:00012170
> [  905.722143] ---[ end trace 772a5fdfa424cbd1 ]---
> 
> Trying to use a user pointer rather than mmap also fails and causes a kernel splat.
> 
> Apart from that and a few v4l2-compliance tests failing which you already mentioned, it seems to work OK. I'll try and do some more testing and see if I can come back with some more feedback.
> 
> Tested-by: Jack Mitchell <jack@xxxxxxxxxxxxx>
> 
> Cheers,
> Jack.
> 
>>
>> Not run through v4l2-compliance yet, but that is in my queue.
>>
>>
>> Philipp Zabel (2):
>>   ARM: dts: imx6qdl: Add mipi_ipu1/2 video muxes, mipi_csi, and their
>>     connections
>>   media: imx: Add video switch
>>
>> Steve Longerbeam (35):
>>   gpu: ipu-v3: Add Video Deinterlacer unit
>>   gpu: ipu-cpmem: Add ipu_cpmem_set_uv_offset()
>>   gpu: ipu-cpmem: Add ipu_cpmem_get_burstsize()
>>   gpu: ipu-v3: Add ipu_get_num()
>>   gpu: ipu-v3: Add IDMA channel linking support
>>   gpu: ipu-v3: Add ipu_set_vdi_src_mux()
>>   gpu: ipu-v3: Add VDI input IDMAC channels
>>   gpu: ipu-v3: Add ipu_csi_set_src()
>>   gpu: ipu-v3: Add ipu_ic_set_src()
>>   gpu: ipu-v3: set correct full sensor frame for PAL/NTSC
>>   gpu: ipu-v3: Fix CSI data format for 16-bit media bus formats
>>   gpu: ipu-v3: Fix IRT usage
>>   gpu: ipu-ic: Add complete image conversion support with tiling
>>   gpu: ipu-ic: allow multiple handles to ic
>>   gpu: ipu-v3: rename CSI client device
>>   ARM: dts: imx6qdl: Flesh out MIPI CSI2 receiver node
>>   ARM: dts: imx6-sabrelite: add video capture ports and connections
>>   ARM: dts: imx6-sabresd: add video capture ports and connections
>>   ARM: dts: imx6-sabreauto: create i2cmux for i2c3
>>   ARM: dts: imx6-sabreauto: add reset-gpios property for max7310
>>   ARM: dts: imx6-sabreauto: add pinctrl for gpt input capture
>>   ARM: dts: imx6-sabreauto: add video capture ports and connections
>>   ARM: dts: imx6qdl: add mem2mem device for sabre* boards
>>   gpio: pca953x: Add reset-gpios property
>>   clocksource/drivers/imx: add input capture support
>>   v4l: Add signal lock status to source change events
>>   media: Add camera interface driver for i.MX5/6
>>   media: imx: Add MIPI CSI-2 Receiver driver
>>   media: imx: Add support for MIPI CSI-2 OV5640
>>   media: imx: Add support for Parallel OV5642
>>   media: imx: Add support for ADV7180 Video Decoder
>>   media: adv7180: add power pin control
>>   media: adv7180: implement g_parm
>>   media: Add i.MX5/6 mem2mem driver
>>   ARM: imx_v6_v7_defconfig: Enable staging video4linux drivers
>>
>> Suresh Dhandapani (1):
>>   gpu: ipu-v3: Fix CSI0 blur in NTSC format
>>
>>  Documentation/DocBook/media/v4l/vidioc-dqevent.xml |   12 +-
>>  Documentation/devicetree/bindings/media/imx.txt    |  449 ++
>>  Documentation/video4linux/imx_camera.txt           |  243 ++
>>  arch/arm/boot/dts/imx6dl-sabresd.dts               |   44 +
>>  arch/arm/boot/dts/imx6dl.dtsi                      |  183 +
>>  arch/arm/boot/dts/imx6q-sabreauto.dts              |    7 +
>>  arch/arm/boot/dts/imx6q-sabrelite.dts              |    6 +
>>  arch/arm/boot/dts/imx6q-sabresd.dts                |   22 +
>>  arch/arm/boot/dts/imx6q.dtsi                       |  120 +
>>  arch/arm/boot/dts/imx6qdl-sabreauto.dtsi           |  166 +-
>>  arch/arm/boot/dts/imx6qdl-sabrelite.dtsi           |   95 +
>>  arch/arm/boot/dts/imx6qdl-sabresd.dtsi             |  145 +-
>>  arch/arm/boot/dts/imx6qdl.dtsi                     |   13 +
>>  arch/arm/configs/imx_v6_v7_defconfig               |    2 +
>>  drivers/clocksource/timer-imx-gpt.c                |  463 ++-
>>  drivers/gpio/gpio-pca953x.c                        |   28 +
>>  drivers/gpu/ipu-v3/Makefile                        |    2 +-
>>  drivers/gpu/ipu-v3/ipu-common.c                    |  155 +-
>>  drivers/gpu/ipu-v3/ipu-cpmem.c                     |   13 +
>>  drivers/gpu/ipu-v3/ipu-csi.c                       |   36 +-
>>  drivers/gpu/ipu-v3/ipu-ic.c                        | 1769 +++++++-
>>  drivers/gpu/ipu-v3/ipu-prv.h                       |    7 +
>>  drivers/gpu/ipu-v3/ipu-vdi.c                       |  266 ++
>>  drivers/media/i2c/adv7180.c                        |   73 +
>>  drivers/staging/media/Kconfig                      |    2 +
>>  drivers/staging/media/Makefile                     |    1 +
>>  drivers/staging/media/imx/Kconfig                  |   35 +
>>  drivers/staging/media/imx/Makefile                 |    2 +
>>  drivers/staging/media/imx/capture/Kconfig          |   42 +
>>  drivers/staging/media/imx/capture/Makefile         |   10 +
>>  drivers/staging/media/imx/capture/adv7180.c        | 1533 +++++++
>>  drivers/staging/media/imx/capture/imx-camif.c      | 2496 +++++++++++
>>  drivers/staging/media/imx/capture/imx-camif.h      |  281 ++
>>  drivers/staging/media/imx/capture/imx-csi.c        |  195 +
>>  drivers/staging/media/imx/capture/imx-ic-prpenc.c  |  660 +++
>>  drivers/staging/media/imx/capture/imx-of.c         |  354 ++
>>  drivers/staging/media/imx/capture/imx-of.h         |   18 +
>>  drivers/staging/media/imx/capture/imx-smfc.c       |  505 +++
>>  drivers/staging/media/imx/capture/imx-vdic.c       |  994 +++++
>>  .../staging/media/imx/capture/imx-video-switch.c   |  348 ++
>>  drivers/staging/media/imx/capture/mipi-csi2.c      |  373 ++
>>  drivers/staging/media/imx/capture/ov5640-mipi.c    | 2318 +++++++++++
>>  drivers/staging/media/imx/capture/ov5642.c         | 4333 ++++++++++++++++++++
>>  drivers/staging/media/imx/m2m/Makefile             |    1 +
>>  drivers/staging/media/imx/m2m/imx-m2m.c            | 1049 +++++
>>  include/linux/mxc_icap.h                           |   20 +
>>  include/media/imx.h                                |   15 +
>>  include/uapi/Kbuild                                |    1 +
>>  include/uapi/linux/v4l2-controls.h                 |    8 +
>>  include/uapi/linux/videodev2.h                     |    1 +
>>  include/uapi/media/Kbuild                          |    3 +
>>  include/uapi/media/adv718x.h                       |   42 +
>>  include/uapi/media/imx.h                           |   22 +
>>  include/video/imx-ipu-v3.h                         |   96 +-
>>  54 files changed, 19946 insertions(+), 131 deletions(-)
>>  create mode 100644 Documentation/devicetree/bindings/media/imx.txt
>>  create mode 100644 Documentation/video4linux/imx_camera.txt
>>  create mode 100644 drivers/gpu/ipu-v3/ipu-vdi.c
>>  create mode 100644 drivers/staging/media/imx/Kconfig
>>  create mode 100644 drivers/staging/media/imx/Makefile
>>  create mode 100644 drivers/staging/media/imx/capture/Kconfig
>>  create mode 100644 drivers/staging/media/imx/capture/Makefile
>>  create mode 100644 drivers/staging/media/imx/capture/adv7180.c
>>  create mode 100644 drivers/staging/media/imx/capture/imx-camif.c
>>  create mode 100644 drivers/staging/media/imx/capture/imx-camif.h
>>  create mode 100644 drivers/staging/media/imx/capture/imx-csi.c
>>  create mode 100644 drivers/staging/media/imx/capture/imx-ic-prpenc.c
>>  create mode 100644 drivers/staging/media/imx/capture/imx-of.c
>>  create mode 100644 drivers/staging/media/imx/capture/imx-of.h
>>  create mode 100644 drivers/staging/media/imx/capture/imx-smfc.c
>>  create mode 100644 drivers/staging/media/imx/capture/imx-vdic.c
>>  create mode 100644 drivers/staging/media/imx/capture/imx-video-switch.c
>>  create mode 100644 drivers/staging/media/imx/capture/mipi-csi2.c
>>  create mode 100644 drivers/staging/media/imx/capture/ov5640-mipi.c
>>  create mode 100644 drivers/staging/media/imx/capture/ov5642.c
>>  create mode 100644 drivers/staging/media/imx/m2m/Makefile
>>  create mode 100644 drivers/staging/media/imx/m2m/imx-m2m.c
>>  create mode 100644 include/linux/mxc_icap.h
>>  create mode 100644 include/media/imx.h
>>  create mode 100644 include/uapi/media/Kbuild
>>  create mode 100644 include/uapi/media/adv718x.h
>>  create mode 100644 include/uapi/media/imx.h
>>
> -- 
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux