V4l2-compliance -s -d /dev/video4 (pix) fails on linux 4.14.15

custom_board

#1
Media controller API version 4.14.15

Media device information
------------------------
driver          qcom-camss
model           Qualcomm Camera Subsystem
serial          
bus info        
hw revision     0x0
driver version  4.14.15

Device topology
- entity 1: msm_csiphy0 (2 pads, 2 links)
            type Node subtype V4L flags 0
            device node name /dev/v4l-subdev0
	pad0: Sink
	pad1: Source
		-> "msm_csid0":0 []
		-> "msm_csid1":0 []

- entity 4: msm_csiphy1 (2 pads, 3 links)
            type Node subtype V4L flags 0
            device node name /dev/v4l-subdev1
	pad0: Sink
		<- "ov5645 4-003a":0 [ENABLED,IMMUTABLE]
	pad1: Source
		-> "msm_csid0":0 []
		-> "msm_csid1":0 [ENABLED]

- entity 7: msm_csid0 (2 pads, 4 links)
            type Node subtype V4L flags 0
            device node name /dev/v4l-subdev2
	pad0: Sink
		<- "msm_csiphy0":1 []
		<- "msm_csiphy1":1 []
	pad1: Source
		-> "msm_ispif0":0 []
		-> "msm_ispif1":0 []

- entity 10: msm_csid1 (2 pads, 4 links)
             type Node subtype V4L flags 0
             device node name /dev/v4l-subdev3
	pad0: Sink
		<- "msm_csiphy0":1 []
		<- "msm_csiphy1":1 [ENABLED]
	pad1: Source
		-> "msm_ispif0":0 []
		-> "msm_ispif1":0 [ENABLED]

- entity 13: msm_ispif0 (2 pads, 6 links)
             type Node subtype V4L flags 0
             device node name /dev/v4l-subdev4
	pad0: Sink
		<- "msm_csid0":1 []
		<- "msm_csid1":1 []
	pad1: Source
		-> "msm_vfe0_rdi0":0 []
		-> "msm_vfe0_rdi1":0 []
		-> "msm_vfe0_rdi2":0 []
		-> "msm_vfe0_pix":0 []

- entity 16: msm_ispif1 (2 pads, 6 links)
             type Node subtype V4L flags 0
             device node name /dev/v4l-subdev5
	pad0: Sink
		<- "msm_csid0":1 []
		<- "msm_csid1":1 [ENABLED]
	pad1: Source
		-> "msm_vfe0_rdi0":0 []
		-> "msm_vfe0_rdi1":0 []
		-> "msm_vfe0_rdi2":0 []
		-> "msm_vfe0_pix":0 [ENABLED]

- entity 19: msm_vfe0_rdi0 (2 pads, 3 links)
             type V4L2 subdev subtype Unknown flags 0
             device node name /dev/v4l-subdev6
	pad0: Sink
		[fmt:UYVY8_2X8/1920x1080 field:none]
		<- "msm_ispif0":1 []
		<- "msm_ispif1":1 []
	pad1: Source
		[fmt:UYVY8_2X8/1920x1080 field:none]
		-> "msm_vfe0_video0":0 [ENABLED,IMMUTABLE]

- entity 22: msm_vfe0_video0 (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video1
	pad0: Sink
		<- "msm_vfe0_rdi0":1 [ENABLED,IMMUTABLE]

- entity 28: msm_vfe0_rdi1 (2 pads, 3 links)
             type V4L2 subdev subtype Unknown flags 0
             device node name /dev/v4l-subdev7
	pad0: Sink
		[fmt:UYVY8_2X8/1920x1080 field:none]
		<- "msm_ispif0":1 []
		<- "msm_ispif1":1 []
	pad1: Source
		[fmt:UYVY8_2X8/1920x1080 field:none]
		-> "msm_vfe0_video1":0 [ENABLED,IMMUTABLE]

- entity 31: msm_vfe0_video1 (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video2
	pad0: Sink
		<- "msm_vfe0_rdi1":1 [ENABLED,IMMUTABLE]

- entity 37: msm_vfe0_rdi2 (2 pads, 3 links)
             type V4L2 subdev subtype Unknown flags 0
             device node name /dev/v4l-subdev8
	pad0: Sink
		[fmt:UYVY8_2X8/1920x1080 field:none]
		<- "msm_ispif0":1 []
		<- "msm_ispif1":1 []
	pad1: Source
		[fmt:UYVY8_2X8/1920x1080 field:none]
		-> "msm_vfe0_video2":0 [ENABLED,IMMUTABLE]

- entity 40: msm_vfe0_video2 (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video3
	pad0: Sink
		<- "msm_vfe0_rdi2":1 [ENABLED,IMMUTABLE]

- entity 46: msm_vfe0_pix (2 pads, 3 links)
             type V4L2 subdev subtype Unknown flags 0
             device node name /dev/v4l-subdev9
	pad0: Sink
		[fmt:UYVY8_2X8/1280x960 field:none
		 compose.bounds:(0,0)/1280x960
		 compose:(0,0)/640x400]
		<- "msm_ispif0":1 []
		<- "msm_ispif1":1 [ENABLED]
	pad1: Source
		[fmt:UYVY8_1_5X8/640x400 field:none
		 crop.bounds:(0,0)/640x400
		 crop:(0,0)/640x400]
		-> "msm_vfe0_video3":0 [ENABLED,IMMUTABLE]

- entity 49: msm_vfe0_video3 (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video4
	pad0: Sink
		<- "msm_vfe0_pix":1 [ENABLED,IMMUTABLE]

- entity 87: ov5645 4-003a (1 pad, 1 link)
             type V4L2 subdev subtype Sensor flags 0
             device node name /dev/v4l-subdev10
	pad0: Source
		[fmt:UYVY8_2X8/1280x960 field:none
		 crop:(0,0)/1280x960]
		-> "msm_csiphy1":0 [ENABLED,IMMUTABLE]



v4l2-compliance -s -d /dev/video4 
v4l2-compliance SHA   : a63aef9bc7b7d803959b803f9bf94b6cf0a16322

Driver Info:
	Driver name   : qcom-camss
	Card type     : Qualcomm Camera Subsystem
	Bus info      : platform:1b0ac00.camss
	Driver version: 4.14.15
	Capabilities  : 0x85201000
		Video Capture Multiplanar
		Read/Write
		Streaming
		Extended Pix Format
		Device Capabilities
	Device Caps   : 0x05201000
		Video Capture Multiplanar
		Read/Write
		Streaming
		Extended Pix Format

Compliance test for device /dev/video4 (not using libv4l2):

Required ioctls:
	test VIDIOC_QUERYCAP: OK

Allow for multiple opens:
	test second video open: OK
	test VIDIOC_QUERYCAP: OK
	test VIDIOC_G/S_PRIORITY: OK
	test for unlimited opens: OK

Debug ioctls:
	test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported)
	test VIDIOC_LOG_STATUS: OK (Not Supported)

Input ioctls:
	test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
	test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
	test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
	test VIDIOC_ENUMAUDIO: OK (Not Supported)
	test VIDIOC_G/S/ENUMINPUT: OK
	test VIDIOC_G/S_AUDIO: OK (Not Supported)
	Inputs: 1 Audio Inputs: 0 Tuners: 0

Output ioctls:
	test VIDIOC_G/S_MODULATOR: OK (Not Supported)
	test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
	test VIDIOC_ENUMAUDOUT: OK (Not Supported)
	test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
	test VIDIOC_G/S_AUDOUT: OK (Not Supported)
	Outputs: 0 Audio Outputs: 0 Modulators: 0

Input/Output configuration ioctls:
	test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
	test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
	test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
	test VIDIOC_G/S_EDID: OK (Not Supported)

Test input 0:

	Control ioctls:
		test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK (Not Supported)
		test VIDIOC_QUERYCTRL: OK (Not Supported)
		test VIDIOC_G/S_CTRL: OK (Not Supported)
		test VIDIOC_G/S/TRY_EXT_CTRLS: OK (Not Supported)
		test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK (Not Supported)
		test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
		Standard Controls: 0 Private Controls: 0

	Format ioctls:
		test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK
		test VIDIOC_G/S_PARM: OK (Not Supported)
		test VIDIOC_G_FBUF: OK (Not Supported)
		test VIDIOC_G_FMT: OK
		test VIDIOC_TRY_FMT: OK
		test VIDIOC_S_FMT: OK
		test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
		test Cropping: OK (Not Supported)
		test Composing: OK (Not Supported)
		test Scaling: OK

	Codec ioctls:
		test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported)
		test VIDIOC_G_ENC_INDEX: OK (Not Supported)
		test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported)

	Buffer ioctls:
		test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK
		test VIDIOC_EXPBUF: OK

Test input 0:

Streaming ioctls:
		fail: ../../../v4l-utils-1.12.3/utils/v4l2-compliance/v4l2-test-buffers.cpp(621): (ret < 0 && errno != EAGAIN && errno != EBUSY) || ret > 1
	test read/write: FAIL
		fail: ../../../v4l-utils-1.12.3/utils/v4l2-compliance/v4l2-test-buffers.cpp(967): node->streamon(q.g_type())
	test MMAP: FAIL
	test USERPTR: OK (Not Supported)
	test DMABUF: Cannot test, specify --expbuf-device

#2
56c56
<                       status = "disabled";
---
>                       status = "okay";
94c94
<                               pd-gpios = <&msmgpio 32 GPIO_ACTIVE_HIGH>;
---
>                               pd-gpios = <&msmgpio 32 0>;
136,140d135
<                       spidev1: spidev@1 {
<                               compatible = "spidev";
<                               reg = <1>;
<                               spi-max-frequency = <50000000>;
<                       };
147,151d141
<                       spidev0: spidev@0 {
<                               compatible = "spidev";
<                               reg = <0>;
<                               spi-max-frequency = <50000000>;
<                       };
305c295
<                         pinctrl-0 = <&cdc_pdm_lines_act &ext_sec_tlmm_lines_act &ext_mclk_tlmm_lines_act &cdc_dmic_lines_act>;
---
>                         pinctrl-0 = <&cdc_pdm_lines_act &ext_sec_tlmm_lines_act &ext_mclk_tlmm_lines_act>;
311,315c301
<                                 "AMIC3", "MIC BIAS External1",
<                                 "DMIC1", "MIC BIAS Internal1",
<                                 "DMIC1", "Digital Mic1",
<                                 "DMIC2", "MIC BIAS Internal1",
<                                 "DMIC2", "Digital Mic2";
---
>                                 "AMIC3", "MIC BIAS External1";
347,357d332
<               spmi@200f000 {
<                       pm8916@1 {
<                               pwm@bc00 {
<                                       status = "okay";
< 
<                                       pinctrl-names = "default";
<                                       pinctrl-0 = <&ls_exp_gpio_f>;
<                               };
<                       };
<               };
< 
359c334
<                       status = "disabled";
---
>                       status = "okay";
434c409
<                               status = "okay";
---
>                               status = "disabled";
466c441
<                                               status = "okay";
---
>                                               status = "disabled";

#3

I am using 5511441 arm64: configs: Enable camera drivers

on Variscite Var-DT410CustomBoard


#4

Hello,

V4l2-compliance -s -d /dev/video4 (pix) fails on linux 4.14.15

Have you configured the media pipelines before running v4l2-compliance?
Are you able to run any streaming?
You can see examples on: https://github.com/96boards/documentation/blob/master/consumer/dragonboard410c/guides/camera-module.md


#5

Yes. See post 1. I pasted the output from media-ctl. No I were not able to
stream. I followed the same procedure as on 4.9.


#7

I am using only the front camera. And the i2c address was originaly 1-0074.


#8

Hi,

Do you use Linaro kernel or upstream kernel? Which is the last commit?


#9

I’m on commit 5511441 of the linaro-qcomlt-4.14 kernel.

To tie up this thread; I got my gstreamer pipline to work after I looked closer at the output from v4l2-ctl --all -d /dev/video4… the format was automatically set to NV61(on kernel 4.16) instead of NV12(on kernel 4.9). So I set the src format explicitly to NV12 in my gst pipline.


#10

Good to hear that it worked, thank you for reporting this!