This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM62A7: 移植dToF sensor到该平台时,v4l2遇到的2个问题

Part Number: AM62A7

Q1: 我的sensor驱动里,v4l2的s_power()回调没有被调用,s_stream()回调有被正常调用?我阅读了v4l2-core的驱动代码,看起来s_power()回调是在pipeline_pm_power_one() of board-support\ti-linux-kernel-6.1.46+gitAUTOINC+247b2535b2-g247b2535b2\drivers\media\v4l2-core\v4l2-mc.c 发起的,我在其中添加printk打印后测试,但是没看到这些打印。

static int pipeline_pm_power_one(struct media_entity *entity, int change)
{
struct v4l2_subdev *subdev;
int ret;

subdev = is_media_entity_v4l2_subdev(entity)
? media_entity_to_v4l2_subdev(entity) : NULL;

if (entity->use_count == 0 && change > 0 && subdev != NULL) {
ret = v4l2_subdev_call(subdev, core, s_power, 1);
printk(KERN_ERR "--HAWK--<%s> Line: %d--s_power(1)-owner:%s, v4l2_subdev_name:%s, ret:%d---\n", __FUNCTION__, __LINE__, subdev->owner, subdev->name, ret);
if (ret < 0 && ret != -ENOIOCTLCMD)
return ret;
}

entity->use_count += change;
WARN_ON(entity->use_count < 0);

if (entity->use_count == 0 && change < 0 && subdev != NULL)
{
v4l2_subdev_call(subdev, core, s_power, 0);
printk(KERN_ERR "--HAWK--<%s> Line: %d--s_power(0)-owner:%s, v4l2_subdev_name:%s--\n", __FUNCTION__, __LINE__, subdev->owner, subdev->name);
}

return 0;
}

而s_stream()回调是在v4l2_subdev_enable_streams_fallback() of board-support\ti-linux-kernel-6.1.46+gitAUTOINC+247b2535b2-g247b2535b2\drivers\media\v4l2-core\v4l2-subdev.c 发起的,我在其中添加printk打印后测试,能看到这些打印。

static int v4l2_subdev_enable_streams_fallback(struct v4l2_subdev *sd, u32 pad,
u64 streams_mask)
{
struct device *dev = sd->entity.graph_obj.mdev->dev;
unsigned int i;
int ret;

/*
* The subdev doesn't implement pad-based stream enable, fall back
* on the .s_stream() operation. This can only be done for subdevs that
* have a single source pad, as sd->enabled_streams is global to the
* subdev.
*/
if (!(sd->entity.pads[pad].flags & MEDIA_PAD_FL_SOURCE))
return -EOPNOTSUPP;

for (i = 0; i < sd->entity.num_pads; ++i) {
if (i != pad && sd->entity.pads[i].flags & MEDIA_PAD_FL_SOURCE)
return -EOPNOTSUPP;
}

if (sd->enabled_streams & streams_mask) {
dev_dbg(dev, "set of streams %#llx already enabled on %s:%u\n",
streams_mask, sd->entity.name, pad);
return -EALREADY;
}

/* Start streaming when the first streams are enabled. */
if (!sd->enabled_streams) {
ret = v4l2_subdev_call(sd, video, s_stream, 1);
printk(KERN_ERR "--HAWK--<%s> Line: %d--s_stream(1)-owner:%s, v4l2_subdev_name:%s, ret:%d---\n", __FUNCTION__, __LINE__, sd->owner, sd->name, ret);
if (ret)
return ret;
}

sd->enabled_streams |= streams_mask;

return 0;
}

2. 尽管我的kernel层dToF sensor驱动(ads6311)里s_stream()回调是返回0 (成功)的,但是用户层调用xioctl(fd, VIDIOC_STREAMON, &buf_type)还是返回了失败,错误信息如下,请问是什么原因呢?

Fail to stream_on for fd:7, errno: No such file or  directory (2)...

我的dToF sensor驱动和应用层测试程序在另外一个平台(rk3568, Linux kernel 5.10)上运行是基本可以的,我现在正在移植到TI Am62ax平台上,我最近才接触TI的这个平台,确实不是很熟悉,因此希望得到你们的帮助。附件是完整的log文件(后半部分是dmesg命令的结果)。


  • root@am62axx-evm:~# export debug_info_enable=true
    root@am62axx-evm:~# echo 0x142E > /sys/kernel/debug/adaps/dbg_ctrl
    root@am62axx-evm:~# echo 2 > hawk/reset_gpio
    [ 116.048784] <DRV_ADS6311> [2024-02-02 15:46:02 033.370.500] <I> 3327 reset_gpio is set to 1
    [ 116.076161] <DRV_ADS6311> [2024-02-02 15:46:02 060.749.620] <I> 3331 reset_gpio is set to 0
    [ 116.087544] <DRV_ADS6311> [2024-02-02 15:46:02 072.137.350] <I> 3299 sensor reset cost 2854 us, sensor chip id: 0x3400
    [ 116.087544]
    [ 116.099886] <DRV_ADS6311> [2024-02-02 15:46:02.084.480.135] <N> 4082 Hawk is reset!!!, ret: 0
    root@am62axx-evm:~#
    root@am62axx-evm:~# ./hawk_concurrency_test
    Hawk concurrency test util
    Version: 1.0.0_LM20231220a
    [ 122.516388] <DRV_ADS6311> [2024-02-02 15:46:08 500.980.275] v4l2_cb <sensor_open> L3613:---- S_OPEN from hawk_concurrenc (1352:1352) on CPU 3
    Build Time: Feb 23 2024,08:36:49

    [2024-02-02 15:46:08.500.015[ 122.533048] <DRV_ADS6311> [2024-02-02 15:46:08 517.643.385] <I> 4725 sensor->mmap_buffer_base: 0000000033b4cefa, 0xffff000004000000
    .585] <hawk_concurrency_test.cpp-Hawk_Concurrency_Test() 112> in[ 122.550265] <DRV_ADS6311> [2024-02-02 15:46:08 534.861.050] <I> 4726 client: hawk_concurrenc (1352)
    put work_mode: 0
    [2024-02-02 15:46:08.500.112.370] <hawk_concur[ 122.564821] <DRV_ADS6311> [2024-02-02 15:46:08 549.416.805] <I> 4727 code section: [0x400000 0x413bae]
    rency_test.cpp-Hawk_Concurrency_Test() 113> input test_case: 0
    [ 122.579902] <DRV_ADS6311> [2024-02-02 15:46:08 564.498.195] <I> 4728 data section: [0x423db8 0x424298]
    [2024-02-02 15:46:08.500.143.735] <hawk_concurrency_test.cpp-Haw[ 122.594989] <DRV_ADS6311> [2024-02-02 15:46:08 579.585.480] <I> 4729 brk section: s: 0x85ba000, c: 0x85db000
    k_Concurrency_Test() 114> input dumpframe: 1
    [2024-02-02 15:46:[ 122.610511] <DRV_ADS6311> [2024-02-02 15:46:08 595.106.855] <I> 4730 mmap section: s: 0xffff85f94000
    08.500.182.925] <v4l2_dev.cpp-V4l2_Dev() 32> video_dev: /dev/vid[ 122.625253] <DRV_ADS6311> [2024-02-02 15:46:08 609.849.215] <I> 4731 stack section: s: 0xffffd0d73e90
    eo0
    [2024-02-02 15:46:08.500.212.415] <v4l2_dev.cpp-V4l2_Dev() [ 122.640069] <DRV_ADS6311> [2024-02-02 15:46:08 624.664.115] <I> 4732 arg section: [0xffffd0d74b5e 0xffffd0d74b76]
    33> preset width: 480
    [2024-02-02 15:46:08.500.242.485] <v4l2_d[ 122.656130] <DRV_ADS6311> [2024-02-02 15:46:08 640.724.475] <I> 4733 env section: [0xffffd0d74b76 0xffffd0d74fe0]
    [ 122.656130]
    ev.cpp-V4l2_Dev() 34> preset height: 128
    [2024-02-02 15:46:08.5[ 122.673775] <DRV_ADS6311> [2024-02-02 15:46:08 658.370.070] v4l2_cb <sensor_set_fmt> L2345:client: hawk_concurrenc (1352:1352) is running on CPU 3, load_script: 0, fmt->which:0x1,V4L2_SUBDEV_FORMAT_TRY:0x0, fmt->width:480, fmt->height:128
    00.270.955] <v4l2_dev.cpp-V4l2_Dev() 35> preset pixel_format: 0x[ 122.700346] <DRV_ADS6311> [2024-02-02 15:46:08 684.941.705] v4l2_cb <sensor_set_fmt> L2376:fmt->which:0x1,V4L2_SUBDEV_FORMAT_TRY:0x0, wkmode:0 mode->width:480, mode->height:128
    32314742
    [2024-02-02 15:46:08.500.299.395] <v4l2_dev.cpp-V4l2_Dev() 36> preset frame_buffer_count: 6
    [2024-02-02 15:46:08.500.326.555] <v4l2_dev.cpp-V4l2_Dev() 37> preset sensor_type: 0
    [2024-02-02 15:46:08.500.388.200] <v4l2_sensor_subdev.cpp-get_subdev_node_4_sensor() 80> searching sensor dToF_ads6311 spi1.0...
    [2024-02-02 15:46:08.500.418.040] <v4l2_sensor_subdev.cpp-get_subdev_node_4_sensor() 81> enum entities...
    [2024-02-02 15:46:08.500.446.150] <v4l2_sensor_subdev.cpp-get_subdev_node_4_sensor() 82> major:minor id entity_name device node
    [2024-02-02 15:46:08.500.474.470] <v4l2_sensor_subdev.cpp-get_subdev_node_4_sensor() 83> -------------------------------------------------------
    <v4l2_sensor_subdev.cpp> 89 XIOCTL(3, 0xc1007c01, 0xd0d73630)
    [2024-02-02 15:46:08.500.696.975] <v4l2_sensor_subdev.cpp-get_subdev_node_4_sensor() 97> 81: 6 1 30102000.ticsi2rx /dev/v4l-subdev0
    <v4l2_sensor_subdev.cpp> 89 XIOCTL(3, 0xc1007c01, 0xd0d73630)
    [2024-02-02 15:46:08.500.796.820] <v4l2_sensor_subdev.cpp-get_subdev_node_4_sensor() 97> 81: 7 9 cdns_csi2rx.30101000.csi-bridge /dev/v4l-subdev1
    <v4l2_sensor_subdev.cpp> 89 XIOCTL(3, 0xc1007c01, 0xd0d73630)
    [2024-02-02 15:46:08.500.879.510] <v4l2_sensor_subdev.cpp-get_subdev_node_4_sensor() 97> 81: 8 15 dToF_ads6311 spi1.0 /dev/v4l-subdev2
    [2024-02-02 15:46:08.500.914.260] <v4l2_sensor_subdev.cpp-get_subdev_node_4_sensor() 102> sd_devnode_4_dtof: /dev/v4l-subdev2
    <v4l2_sensor_subdev.cpp> 122 XIOCTL(4, 0xc0585605, 0xd0d73840)
    [2024-02-02 15:46:08.706.241.395] <v4l2_dev.cpp-Initialize() 250> driver: j721e-csi2rx
    [2024-02-02 15:46:08.706.295.245] <v4l2_dev.cpp-Initialize() 251> card: j721e-csi2rx
    [2024-02-02 15:46:08.706.321.075] <v4l2_dev.cpp-Initialize() 252> bus_info: platform:30102000.ticsi2rx
    [2024-02-02 15:46:08.706.344.745] <v4l2_dev.cpp-Initialize() 253> version: 0x6012e
    [2024-02-02 15:46:08.706.367.740] <v4l2_dev.cpp-Initialize() 254> capabilities: 0xa4200001
    [2024-02-02 15:46:08.706.390.610] <v4l2_dev.cpp-Initialize() 255> device_caps: 0xa4200001
    [2024-02-02 15:46:08.706.414.125] <v4l2_dev.cpp-Initialize() 273> Buffer type: V4L2_BUF_TYPE_VIDEO_CAPTURE
    [2024-02-02 15:46:08.706.437.145] <v4l2_dev.cpp-Initialize() 310> VIDIOC_S_FMT 480 X 128, pixel_format: 0x32314742, raw_width:480, raw_height:128...

    [2024-02-02 15:46:08.706.479.830] <v4l2_dev.cpp-Initialize() 333> fmt.type: 1
    [2024-02-02 15:46:08.706.511.430] <v4l2_dev.cpp-Initialize() 334> pix.width: 480
    [2024-02-02 15:46:08.706.534.440] <v4l2_dev.cpp-Initialize() 335> pix.height: 128
    [2024-02-02 15:46:08.706.557.050] <v4l2_dev.cpp-Initialize() 336> pix.field: 1
    [2024-02-02 15:46:08.708.121.410] <v4l2_dev.cpp-alloc_buffers() 187> buffer[0].start: 0xffff85a92000, length: 122880
    [2024-02-02 15:46:08.708.240.705] <v4l2_dev.cpp-alloc_buffers() 187> buffer[1].start: 0xffff85a74000, length: 122880
    [2024-02-02 15:46:08.708.291.050] <v4l2_dev.cpp-alloc_buffers() 187> buffer[2].start: 0xffff85a56000, length: 122880
    [2024-02-02 15:46:08.708.335.350] <v4l2_dev.cpp-alloc_buffers() 187> buffer[3].start: 0xffff85a38000, length: 122880
    [2024-02-02 15:46:08.708.378.025] <v4l2_dev.cpp-alloc_buffers() 187> buffer[4].start: 0xffff85a1a000, length: 122880
    [2024-02-02 15:46:08.708.441.750] <v4l2_dev.cpp-alloc_buffers() 187> buffer[5].start: 0xffff859fc000, length: 122880
    [2024-02-02 15:46:08.708.470.950] <v4l2_dev.cpp-Initialize() 364> init dev /dev/video0 [OK]
    [2024-02-02 15:46:08.708.502.125] <v4l2_dev.cpp-V4l2_Dev() 32> video_dev: /dev/video1
    [2024-02-02 15:46:08.708.525.365] <v4l2_dev.cpp-V4l2_Dev() 33> preset width: 480
    [2024-02-02 15:46:08.708.549.560] <v4l2_dev.cpp-V4l2_Dev() 34> preset height: 128
    [2024-02-02 15:46:08.708.571.735] <v4l2_dev.cpp-V4l2_Dev() 35> preset pixel_format: 0x32314742
    [2024-02-02 15:46:08.708.594.225] <v4l2_dev.cpp-V4l2_Dev() 36> preset frame_buffer_count: 6
    [2024-02-02 15:46:08.708.673.050] <v4l2_dev.cpp-V4l2_Dev() 37> preset sensor_type: 0
    [2024-02-02 15:46:08.708.732.265] <v4l2_dev.cpp-Initialize() 250> driver: j721e-csi2rx
    [2024-02-02 15:46:08.708.759.730] <v4l2_dev.cpp-Initialize() 251> card: j721e-csi2rx
    [2024-02-02 15:46:09.039.945.670] <v4l2_dev.cpp-Initialize() 252> bus_info: platform:30102000.ticsi2rx
    [2024-02-02 15:46:09.042.220.855] <v4l2_dev.cpp-Initialize() 253> version: 0x6012e
    [2024-02-02 15:46:09.043.511.695] <v4l2_dev.cpp-Initialize() 254> capabilities: 0xa4200001
    [2024-02-02 15:46:09.045.268.735] <v4l2_dev.cpp-Initialize() 255> device_caps: 0xa4200001
    [2024-02-02 15:46:09.045.342.900] <v4l2_dev.cpp-Initialize() 273> Buffer type: V4L2_BUF_TYPE_VIDEO_CAPTURE
    [2024-02-02 15:46:09.045.366.825] <v4l2_dev.cpp-Initialize() 310> VIDIOC_S_FMT 480 X 128, pixel_format: 0x32314742, raw_width:480, raw_height:128...

    [2024-02-02 15:46:09.045.414.885] <v4l2_dev.cpp-Initialize() 333> fmt.type: 1
    [2024-02-02 15:46:09.045.439.175] <v4l2_dev.cpp-Initialize() 334> pix.width: 480
    [2024-02-02 15:46:09.045.462.280] <v4l2_dev.cpp-Initialize() 335> pix.height: 128
    [2024-02-02 15:46:09.045.484.945] <v4l2_dev.cpp-Initialize() 336> pix.field: 1
    [2024-02-02 15:46:09.046.577.295] <v4l2_dev.cpp-alloc_buffers() 187> buffer[0].start: 0xffff859de000, length: 122880
    [2024-02-02 15:46:09.046.659.190] <v4l2_dev.cpp-alloc_buffers() 187> buffer[1].start: 0xffff859c0000, length: 122880
    [2024-02-02 15:46:09.046.706.755] <v4l2_dev.cpp-alloc_buffers() 187> buffer[2].start: 0xffff859a2000, length: 122880
    [2024-02-02 15:46:09.046.749.355] <v4l2_dev.cpp-alloc_buffers() 187> buffer[3].start: 0xffff85984000, length: 122880
    [2024-02-02 15:46:09.046.793.710] <v4l2_dev.cpp-alloc_buffers() 187> buffer[4].start: 0xffff85966000, length: 122880
    [2024-02-02 15:46:09.046.837.645] <v4l2_dev.cpp-alloc_buffers() 187> buffer[5].start: 0xffff85948000, length: 122880
    [2024-02-02 15:46:09.046.866.345] <v4l2_dev.cpp-Initialize() 364> init dev /dev/video1 [OK]
    [2024-02-02 15:46:09.046.900.005] <v4l2_dev.cpp-V4l2_Dev() 32> video_dev: /dev/video2
    [2024-02-02 15:46:09.046.923.250] <v4l2_dev.cpp-V4l2_Dev() 33> preset width: 40
    [2024-02-02 15:46:09.046.945.955] <v4l2_dev.cpp-V4l2_Dev() 34> preset height: 1
    [2024-02-02 15:46:09.046.967.700] <v4l2_dev.cpp-V4l2_Dev() 35> preset pixel_format: 0x38444245
    [2024-02-02 15:46:09.046.990.120] <v4l2_dev.cpp-V4l2_Dev() 36> preset frame_buffer_count: 6
    [2024-02-02 15:46:09.047.012.245] <v4l2_dev.cpp-V4l2_Dev() 37> preset sensor_type: 0
    [2024-02-02 15:46:09.047.068.100] <v4l2_dev.cpp-Initialize() 250> driver: j721e-csi2rx
    [2024-02-02 15:46:09.047.093.540] <v4l2_dev.cpp-Initialize() 251> card: j721e-csi2rx
    [2024-02-02 15:46:09.047.117.635] <v4l2_dev.cpp-Initialize() 252> bus_info: platform:30102000.ticsi2rx
    [2024-02-02 15:46:09.047.141.495] <v4l2_dev.cpp-Initialize() 253> version: 0x6012e
    [2024-02-02 15:46:09.047.164.590] <v4l2_dev.cpp-Initialize() 254> capabilities: 0xa4200001
    [2024-02-02 15:46:09.047.187.515] <v4l2_dev.cpp-Initialize() 255> device_caps: 0xa4200001
    [2024-02-02 15:46:09.047.210.500] <v4l2_dev.cpp-Initialize() 273> Buffer type: V4L2_BUF_TYPE_VIDEO_CAPTURE
    [2024-02-02 15:46:09.047.233.300] <v4l2_dev.cpp-Initialize() 310> VIDIOC_S_FMT 40 X 1, pixel_format: 0x38444245, raw_width:40, raw_height:1...

    [2024-02-02 15:46:09.047.271.770] <v4l2_dev.cpp-Initialize() 333> fmt.type: 1
    [2024-02-02 15:46:09.047.295.095] <v4l2_dev.cpp-Initialize() 334> pix.width: 40
    [2024-02-02 15:46:09.047.318.265] <v4l2_dev.cpp-Initialize() 335> pix.height: 1
    [2024-02-02 15:46:09.047.341.550] <v4l2_dev.cpp-Initialize() 336> pix.field: 1
    [2024-02-02 15:46:09.047.445.915] <v4l2_dev.cpp-alloc_buffers() 187> buffer[0].start: 0xffff85f86000, length: 80
    [2024-02-02 15:46:09.047.496.450] <v4l2_dev.cpp-alloc_buffers() 187> buffer[1].start: 0xffff85f85000, length: 80
    [2024-02-02 15:46:09.047.539.275] <v4l2_dev.cpp-alloc_buffers() 187> buffer[2].start: 0xffff85f84000, length: 80
    [2024-02-02 15:46:09.047.581.975] <v4l2_dev.cpp-alloc_buffers() 187> buffer[3].start: 0xffff85f83000, length: 80
    [2024-02-02 15:4[ 123.417756] <DRV_ADS6311> [2024-02-02 15:46:09.402.347.400] <N> 3202 --<sensor_s_stream> Line:3202: on:1, console_loglevel:7, dbg_ctrl:0x142e, wkmode:0(PHR), linkFreq:500000000, exposureTime:1000 us, power_on:0, mcu_chipid:ddcc, mcu_fw_type: 0xddcc, drv_version: 2.0.0_LM20240222b---
    6:09.047.623.360] <v4l2_dev.cpp-alloc_buffers() 187> buffer[4].s[ 123.447943] <DRV_ADS6311> [2024-02-02 15:46:09 432.537.845] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg00:0x0004 to 0x43, ret:0...
    tart: 0xffff85f82000, length: 80
    [2024-02-02 15:46:09.379.502.3[ 123.466224] <DRV_ADS6311> [2024-02-02 15:46:09 450.819.690] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg01:0x000d to 0x1f, ret:0...
    10] <v4l2_dev.cpp-alloc_buffers() 187> buffer[5].start: 0xffff85[ 123.484763] <DRV_ADS6311> [2024-02-02 15:46:09 469.358.925] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg02:0x000e to 0xf0, ret:0...
    f81000, length: 80
    [2024-02-02 15:46:09.381.678.855] <v4l2_dev.[ 123.503296] <DRV_ADS6311> [2024-02-02 15:46:09 487.891.930] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg03:0x000a to 0x00, ret:0...
    cpp-Initialize() 364> init dev /dev/video2 [OK]
    [2024-02-02 15:[ 123.521845] <DRV_ADS6311> [2024-02-02 15:46:09 506.440.940] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg04:0x0013 to 0x00, ret:0...
    46:09.383.086.975] <v4l2_dev.cpp-V4l2_Dev() 32> video_dev: /dev/[ 123.540394] <DRV_ADS6311> [2024-02-02 15:46:09 524.990.965] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg05:0x0014 to 0x01, ret:0...
    video3
    [2024-02-02 15:46:09.384.210.895] <v4l2_dev.cpp-V4l2_Dev[ 123.558943] <DRV_ADS6311> [2024-02-02 15:46:09 543.539.625] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg06:0x0015 to 0x03, ret:0...
    () 33> preset width: 40
    [2024-02-02 15:46:09.385.861.975] <v4l2[ 123.577496] <DRV_ADS6311> [2024-02-02 15:46:09 562.092.795] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg07:0x0016 to 0x00, ret:0...
    _dev.cpp-V4l2_Dev() 34> preset height: 1
    [2024-02-02 15:46:09.3[ 123.596077] <DRV_ADS6311> [2024-02-02 15:46:09 580.673.505] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg08:0x0017 to 0xa7, ret:0...
    86.978.735] <v4l2_dev.cpp-V4l2_Dev() 35> preset pixel_format: 0x[ 123.614606] <DRV_ADS6311> [2024-02-02 15:46:09 599.202.740] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg09:0x0018 to 0xa8, ret:0...
    38444245
    [2024-02-02 15:46:09.388.058.495] <v4l2_dev.cpp-V4l2_D[ 123.633160] <DRV_ADS6311> [2024-02-02 15:46:09 617.756.345] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg10:0x0019 to 0x01, ret:0...
    ev() 36> preset frame_buffer_count: 6
    [2024-02-02 15:46:09.388.[ 123.651712] <DRV_ADS6311> [2024-02-02 15:46:09 636.308.140] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg11:0x001f to 0x06, ret:0...
    262.330] <v4l2_dev.cpp-V4l2_Dev() 37> preset sensor_type: 0
    [20[ 123.670271] <DRV_ADS6311> [2024-02-02 15:46:09 654.867.890] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg12:0x0020 to 0x04, ret:0...
    24-02-02 15:46:09.388.313.720] <v4l2_dev.cpp-Initialize() 250> d[ 123.688819] <DRV_ADS6311> [2024-02-02 15:46:09 673.415.740] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg13:0x0021 to 0xc6, ret:0...
    river: j721e-csi2rx
    [2024-02-02 15:46:09.388.338.635] <v4l2_de[ 123.707375] <DRV_ADS6311> [2024-02-02 15:46:09 691.971.005] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg14:0x0022 to 0x14, ret:0...
    v.cpp-Initialize() 251> card: j721e-csi2rx
    [2024-02-02 15:46:0[ 123.725942] <DRV_ADS6311> [2024-02-02 15:46:09 710.537.845] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg15:0x0023 to 0xff, ret:0...
    9.388.362.225] <v4l2_dev.cpp-Initialize() 252> bus_info: platfor[ 123.744493] <DRV_ADS6311> [2024-02-02 15:46:09 729.088.250] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg16:0x0024 to 0x05, ret:0...
    m:30102000.ticsi2rx
    [2024-02-02 15:46:09.388.387.320] <v4l2_dev[ 123.763044] <DRV_ADS6311> [2024-02-02 15:46:09 747.639.905] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg17:0x0025 to 0x00, ret:0...
    .cpp-Initialize() 253> version: 0x6012e
    [2024-02-02 15:46:09.38[ 123.781598] <DRV_ADS6311> [2024-02-02 15:46:09 766.194.090] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg18:0x0026 to 0x00, ret:0...
    8.410.780] <v4l2_dev.cpp-Initialize() 254> capabilities: 0xa4200[ 123.800154] <DRV_ADS6311> [2024-02-02 15:46:09 784.750.240] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg19:0x0027 to 0x00, ret:0...
    001
    [2024-02-02 15:46:09.388.433.345] <v4l2_dev.cpp-Initialize([ 123.818705] <DRV_ADS6311> [2024-02-02 15:46:09 803.301.355] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg20:0x0028 to 0xff, ret:0...
    ) 255> device_caps: 0xa4200001
    [2024-02-02 15:46:09.388.456.090[ 123.837255] <DRV_ADS6311> [2024-02-02 15:46:09 821.851.820] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg21:0x0029 to 0x03, ret:0...
    ] <v4l2_dev.cpp-Initialize() 273> Buffer type: V4L2_BUF_TYPE_VID[ 123.855816] <DRV_ADS6311> [2024-02-02 15:46:09 840.412.145] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg22:0x002a to 0x01, ret:0...
    EO_CAPTURE
    [2024-02-02 15:46:09.388.478.580] <v4l2_dev.cpp-Init[ 123.874363] <DRV_ADS6311> [2024-02-02 15:46:09 858.959.715] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg23:0x0054 to 0xd2, ret:0...
    ialize() 310> VIDIOC_S_FMT 40 X 1, pixel_format: 0x38444245, raw[ 123.892916] <DRV_ADS6311> [2024-02-02 15:46:09 877.512.055] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg24:0x0055 to 0xff, ret:0...
    _width:40, raw_height:1...

    [2024-02-02 15:46:09.388.514.630] [ 123.911469] <DRV_ADS6311> [2024-02-02 15:46:09 896.065.195] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg25:0x0056 to 0x84, ret:0...
    <v4l2_dev.cpp-Initialize() 333> fmt.type: 1
    [2024-02-02 15:46:0[ 123.930029] <DRV_ADS6311> [2024-02-02 15:46:09 914.624.975] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg26:0x0057 to 0x04, ret:0...
    9.388.537.270] <v4l2_dev.cpp-Initialize() 334> pix.width: 40
    [2[ 123.948576] <DRV_ADS6311> [2024-02-02 15:46:09 933.172.930] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg27:0x0058 to 0x00, ret:0...
    024-02-02 15:46:09.388.559.680] <v4l2_dev.cpp-Initialize() 335> [ 123.967133] <DRV_ADS6311> [2024-02-02 15:46:09 951.729.475] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg28:0x005a to 0x16, ret:0...
    pix.height: 1
    [2024-02-02 15:46:09.388.581.955] <v4l2_dev.cpp-I[ 123.985688] <DRV_ADS6311> [2024-02-02 15:46:09 970.284.755] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg29:0x00a7 to 0x01, ret:0...
    nitialize() 336> pix.field: 1
    [2024-02-02 15:46:09.388.692.255][ 124.004271] <DRV_ADS6311> [2024-02-02 15:46:09 988.866.790] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg30:0x0104 to 0x0c, ret:0...
    <v4l2_dev.cpp-alloc_buffers() 187> buffer[0].start: 0xffff85f56[ 124.022796] <DRV_ADS6311> [2024-02-02 15:46:10 007.392.230] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg31:0x001b to 0x02, ret:0...
    000, length: 80
    [2024-02-02 15:46:09.388.737.755] <v4l2_dev.cpp[ 124.041352] <DRV_ADS6311> [2024-02-02 15:46:10 025.947.755] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg32:0x0108 to 0xfa, ret:0...
    -alloc_buffers() 187> buffer[1].start: 0xffff85f55000, length: 8[ 124.059904] <DRV_ADS6311> [2024-02-02 15:46:10 044.500.560] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg33:0x010c to 0x05, ret:0...
    0
    [2024-02-02 15:46:09.388.780.725] <v4l2_dev.cpp-alloc_buffers[ 124.078453] <DRV_ADS6311> [2024-02-02 15:46:10 063.049.170] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg34:0x010d to 0x05, ret:0...
    () 187> buffer[2].start: 0xffff85f54000, length: 80
    [2024-02-02[ 124.097005] <DRV_ADS6311> [2024-02-02 15:46:10 081.601.785] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg35:0x0128 to 0x80, ret:0...
    15:46:09.388.823.230] <v4l2_dev.cpp-alloc_buffers() 187> buffer[ 124.115559] <DRV_ADS6311> [2024-02-02 15:46:10 100.155.130] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg36:0x0129 to 0x00, ret:0...
    [3].start: 0xffff85f53000, length: 80
    [2024-02-02 15:46:09.388.[ 124.134113] <DRV_ADS6311> [2024-02-02 15:46:10 118.709.080] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg37:0x012a to 0x80, ret:0...
    874.385] <v4l2_dev.cpp-alloc_buffers() 187> buffer[4].start: 0xf[ 124.152670] <DRV_ADS6311> [2024-02-02 15:46:10 137.266.330] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg38:0x012b to 0x00, ret:0...
    fff85f52000, length: 80
    [2024-02-02 15:46:09.388.916.265] <v4l2[ 124.171221] <DRV_ADS6311> [2024-02-02 15:46:10 155.817.135] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg39:0x0114 to 0x2c, ret:0...
    _dev.cpp-alloc_buffers() 187> buffer[5].start: 0xffff85f51000, l[ 124.189780] <DRV_ADS6311> [2024-02-02 15:46:10 174.376.470] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg40:0x0115 to 0x2c, ret:0...
    ength: 80
    [2024-02-02 15:46:09.388.944.430] <v4l2_dev.cpp-Initi[ 124.208327] <DRV_ADS6311> [2024-02-02 15:46:10 192.923.730] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg41:0x0118 to 0xd0, ret:0...
    alize() 364> init dev /dev/video3 [OK]
    [ 124.226882] <DRV_ADS6311> [2024-02-02 15:46:10 211.478.275] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg42:0x011a to 0xd0, ret:0...
    [ 124.243356] <DRV_ADS6311> [2024-02-02 15:46:10 227.952.260] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg43:0x0119 to 0x02, ret:0...
    [ 124.256434] <DRV_ADS6311> [2024-02-02 15:46:10 241.030.645] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg44:0x011b to 0x02, ret:0...
    [ 124.269512] <DRV_ADS6311> [2024-02-02 15:46:10 254.108.195] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg45:0x0150 to 0xc0, ret:0...
    [ 124.282594] <DRV_ADS6311> [2024-02-02 15:46:10 267.190.135] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg46:0x0151 to 0xc0, ret:0...
    [ 124.295631] <DRV_ADS6311> [2024-02-02 15:46:10 280.227.535] v4l2_cb <sensor_set_ctrl> L3890:client: hawk_concurrenc (1352:1352) is running on CPU 3, ctrl->id: 0x9f0901, ctrl->val: 1, V4L2_CID_EXPOSURE: 0x980911
    [ 124.314306] <DRV_ADS6311> [2024-02-02 15:46:10.298.902.205] <N> 3912 sensor_set_ctrl Unhandled id:0x9f0901, val:0x1
    [ 124.314306]
    [ 124.326210] <DRV_ADS6311> [2024-02-02 15:46:10 310.806.670] v4l2_cb <sensor_set_ctrl> L3890:client: hawk_concurrenc (1352:1352) is running on CPU 3, ctrl->id: 0x980911, ctrl->val: 100, V4L2_CID_EXPOSURE: 0x980911
    [ 124.345115] <DRV_ADS6311> [2024-02-02 15:46:10 329.710.925] <sensor_burst_write_reg> 1869 <REGS_WRITE> spi burst write sensor reg:0x1000 data length:2, ret:0...
    [ 124.359513] <DRV_ADS6311> [2024-02-02 15:46:10.344.108.975] <E> 1629 ===Data mismatched at 0, 0x63, 0x57===
    [ 124.359513]
    [ 124.370724] <DRV_ADS6311> [2024-02-02 15:46:10.355.321.045] <E> 1629 ===Data mismatched at 1, 0x00, 0x09===
    [ 124.370724]
    [ 124.381934] <DRV_ADS6311> [2024-02-02 15:46:10.366.530.100] <E> 3100 Oops, roi_sram_readback_compare failed, ulSramDataLen:2, ret:1...
    [ 124.381934]
    [ 124.395485] <DRV_ADS6311> [2024-02-02 15:46:10.380.081.630] <N> 1508 -------written ROI Sram data--------
    [ 124.395485]
    [ 124.406531] <DRV_ADS6311> [2024-02-02 15:46:10.391.127.280] <N> 1530 [ 0] 63,00,00,00,90,01,20,00,3e,00,0a,1e,3c,64,46,32,
    [ 124.406531]
    [ 124.419222] <DRV_ADS6311> [2024-02-02 15:46:10.403.818.175] <N> 1530 [ 16] 1e,0a,00,00,00,00,00,00,00,00,00,00,00,04,00,08,
    [ 124.419222]
    [ 124.431910] <DRV_ADS6311> [2024-02-02 15:46:10.416.506.900] <N> 1530 [ 32] 00,0c,00,10,00,14,00,18,00,1c,00,20,00,24,00,28,
    [ 124.431910]
    [ 124.444605] <DRV_ADS6311> [2024-02-02 15:46:10.429.201.025] <N> 1530 [ 48] 00,2c,00,30,00,34,00,38,00,3c,03,00,03,04,03,08,
    [ 124.444605]
    [ 124.457287] <DRV_ADS6311> [2024-02-02 15:46:10.441.883.500] <N> 1530 [ 64]
    [ 124.457287]
    [ 124.465807] <DRV_ADS6311> [2024-02-02 15:46:10.450.403.775] <N> 1508 -------Readback ROI Sram data--------
    [ 124.465807]
    [ 124.476935] <DRV_ADS6311> [2024-02-02 15:46:10.461.531.850] <N> 1530 [ 0] 57,09,63,00,00,00,ff,ff,00,c8,7d,05,00,00,ff,ff,
    [ 124.476935]
    [ 124.489622] <DRV_ADS6311> [2024-02-02 15:46:10.474.218.565] <N> 1530 [ 16] 10,de,6a,03,00,00,ff,ff,10,de,6a,03,00,00,ff,ff,
    [ 124.489622]
    [ 124.502310] <DRV_ADS6311> [2024-02-02 15:46:10.486.906.125] <N> 1530 [ 32] 00,00,00,00,00,00,00,00,22,01,00,00,00,00,ad,de,
    [ 124.502310]
    [ 124.514997] <DRV_ADS6311> [2024-02-02 15:46:10.499.593.885] <N> 1530 [ 48] 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,
    [ 124.514997]
    [ 124.527684] <DRV_ADS6311> [2024-02-02 15:46:10.512.280.665] <N> 1530 [ 64]
    [ 124.527684]
    [ 124.536208] <DRV_ADS6311> [2024-02-02 15:46:10 520.804.840] <I> 2769 set_vcsel_state: 1, call from Line:3113.
    [ 124.536208]
    [ 124.561811] <DRV_ADS6311> [2024-02-02 15:46:10 546.406.725] <mcuctrl_write_reg_raw> 6113 <REGS_WRITE> rpmsg write mcu reg:0x0088 to 0x0001, ret:0...
    [ 124.690398] <DRV_ADS6311> [2024-02-02 15:46:10 674.992.695] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg00:0x000a to 0x01, ret:0...
    [ 124.703497] <DRV_ADS6311> [2024-02-02 15:46:10 688.093.905] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg01:0x0008 to 0x00, ret:0...
    [ 124.716576] <DRV_ADS6311> [2024-02-02 15:46:10 701.172.655] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg02:0x0007 to 0x01, ret:0...
    [ 124.729614] <DRV_ADS6311> [2024-02-02 15:46:10.714.210.095] <N> 2247 ============= Register Dump from <__sensor_start_stream> Line: 3158, Power_on: No =============
    [ 124.744297] <DRV_ADS6311> [2024-02-02 15:46:10.728.893.490] <N> 2256 ---------0----1----2----3----4----5----6----7----8----9----a----b----c----d----e----f
    [ 124.758925] <DRV_ADS6311> [2024-02-02 15:46:10.743.520.460] <N> 2282 0000: 34 00 00 00 43 F9 00 01 00 00 00 0A 0A 1F F0 00
    [ 124.773541] <DRV_ADS6311> [2024-02-02 15:46:10.758.137.500] <N> 2282 0010: 00 00 00 00 01 03 00 A7 A8 01 00 02 00 00 00 06
    [ 124.788172] <DRV_ADS6311> [2024-02-02 15:46:10.772.768.130] <N> 2282 0020: 04 C6 14 FF 05 00 00 00 FF 03 01 00 00 00 00 F0
    [ 124.802783] <DRV_ADS6311> [2024-02-02 15:46:10.787.379.305] <N> 2282 0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 124.817395] <DRV_ADS6311> [2024-02-02 15:46:10.801.990.805] <N> 2282 0040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 124.832024] <DRV_ADS6311> [2024-02-02 15:46:10.816.620.525] <N> 2282 0050: 00 00 00 00 D2 FF 84 04 00 10 16 00 00 00 00 00
    [ 124.846636] <DRV_ADS6311> [2024-02-02 15:46:10.831.232.090] <N> 2282 0060: 00 10 00 11 10 10 00 00 00 00 32 FA 00 00 31 7D
    [ 124.861246] <DRV_ADS6311> [2024-02-02 15:46:10.845.842.595] <N> 2282 0070: 00 00 00 00 00 54 1D 41 01 CE 00 00 00 00 0C 00
    [ 124.875860] <DRV_ADS6311> [2024-02-02 15:46:10.860.456.605] <N> 2282 0080: 00 00 00 00 00 00 00 00 00 00 21 43 65 87 09 00
    [ 124.890474] <DRV_ADS6311> [2024-02-02 15:46:10.875.069.895] <N> 2282 0090: 00 00 00 00 00 00 0F 00 00 00 00 00 00 00 00 00
    [ 124.905088] <DRV_ADS6311> [2024-02-02 15:46:10.889.684.600] <N> 2282 00a0: 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00
    [ 124.919700] <DRV_ADS6311> [2024-02-02 15:46:10.904.296.450] <N> 2282 00b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 124.934314] <DRV_ADS6311> [2024-02-02 15:46:10.918.909.330] <N> 2282 00c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 124.948927] <DRV_ADS6311> [2024-02-02 15:46:10.933.522.540] <N> 2282 00d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 124.963550] <DRV_ADS6311> [2024-02-02 15:46:10.948.146.320] <N> 2282 00e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 124.977363] <DRV_ADS6311> [2024-02-02 15:46:10.961.958.855] <N> 2287 =====================================================================================
    [ 124.977363]
    [ 124.992676] <DRV_ADS6311> [2024-02-02 15:46:10.977.272.405] <N> 2247 ============= Register Dump from <__sensor_start_stream> Line: 3159, Power_on: No =============
    [ 125.007361] <DRV_ADS6311> [2024-02-02 15:46:10.991.957.460] <N> 2256 ---------0----1----2----3----4----5----6----7----8----9----a----b----c----d----e----f
    [ 125.021984] <DRV_ADS6311> [2024-02-02 15:46:11.006.579.825] <N> 2282 0100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 125.036599] <DRV_ADS6311> [2024-02-02 15:46:11.021.194.510] <N> 2282 0110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 125.051209] <DRV_ADS6311> [2024-02-02 15:46:11.035.805.595] <N> 2282 0120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 125.065820] <DRV_ADS6311> [2024-02-02 15:46:11.050.416.735] <N> 2282 0130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 125.080438] <DRV_ADS6311> [2024-02-02 15:46:11.065.034.215] <N> 2282 0140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 125.095004] <DRV_ADS6311> [2024-02-02 15:46:11.079.600.130] <N> 2282 0150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 --
    [ 125.108813] <DRV_ADS6311> [2024-02-02 15:46:11.093.409.610] <N> 2282 0160: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    [ 125.122624] <DRV_ADS6311> [2024-02-02 15:46:11.107.220.275] <N> 2282 0170: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    [ 125.136433] <DRV_ADS6311> [2024-02-02 15:46:11.121.029.895] <N> 2282 0180: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    [ 125.150241] <DRV_ADS6311> [2024-02-02 15:46:11.134.837.065] <N> 2282 0190: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    [ 125.164049] <DRV_ADS6311> [2024-02-02 15:46:11.148.645.155] <N> 2282 01a0: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    [ 125.177858] <DRV_ADS6311> [2024-02-02 15:46:11.162.454.430] <N> 2282 01b0: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    [ 125.191667] <DRV_ADS6311> [2024-02-02 15:46:11.176.263.110] <N> 2282 01c0: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    [ 125.205486] <DRV_ADS6311> [2024-02-02 15:46:11.190.082.855] <N> 2282 01d0: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    [ 125.219316] <DRV_ADS6311> [2024-02-02 15:46:11.203.911.610] <N> 2282 01e0: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    [ 125.233132] <DRV_ADS6311> [2024-02-02 15:46:11.217.727.460] <N> 2287 =====================================================================================
    [ 125.233132]
    [ 125.248418] <DRV_ADS6311> [2024-02-02 15:46:11.233.014.120] <N> 2247 ============= Register Dump from <__sensor_start_stream> Line: 3161, Power_on: No =============
    [ 125.263099] <DRV_ADS6311> [2024-02-02 15:46:11.247.695.005] <N> 2256 ---------0----1----2----3----4----5----6----7----8----9----a----b----c----d----e----f
    [ 125.277725] <DRV_ADS6311> [2024-02-02 15:46:11.262.320.720] <N> 2282 0200: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 125.292352] <DRV_ADS6311> [2024-02-02 15:46:11.276.947.390] <N> 2282 0210: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 125.306965] <DRV_ADS6311> [2024-02-02 15:46:11.291.561.625] <N> 2282 0220: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 125.321427] <DRV_ADS6311> [2024-02-02 15:46:11.306.023.425] <N> 2282 0230: 00 00 00 00 00 00 00 00 00 00 00 00 00 -- -- --
    [ 125.335236] <DRV_ADS6311> [2024-02-02 15:46:11.319.833.010] <N> 2282 0240: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    [ 125.349050] <DRV_ADS6311> [2024-02-02 15:46:11.333.646.420] <N> 2282 0250: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    [ 125.362861] <DRV_ADS6311> [2024-02-02 15:46:11.347.457.440] <N> 2282 0260: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    [ 125.376670] <DRV_ADS6311> [2024-02-02 15:46:11.361.266.475] <N> 2282 0270: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    [ 125.390478] <DRV_ADS6311> [2024-02-02 15:46:11.375.074.770] <N> 2282 0280: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    [ 125.404288] <DRV_ADS6311> [2024-02-02 15:46:11.388.884.320] <N> 2282 0290: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    [ 125.418102] <DRV_ADS6311> [2024-02-02 15:46:11.402.698.480] <N> 2282 02a0: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    [ 125.431913] <DRV_ADS6311> [2024-02-02 15:46:11.416.509.500] <N> 2282 02b0: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    [ 125.445723] <DRV_ADS6311> [2024-02-02 15:46:11.430.319.220] <N> 2282 02c0: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    [ 125.459529] <DRV_ADS6311> [2024-02-02 15:46:11.444.125.930] <N> 2282 02d0: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    [ 125.473343] <DRV_ADS6311> [2024-02-02 15:46:11.457.938.960] <N> 2282 02e0: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    [ 125.487153] <DRV_ADS6311> [2024-02-02 15:46:11.471.748.795] <N> 2287 =====================================================================================
    [ 125.487153]
    [ 125.502439] <DRV_ADS6311> [2024-02-02 15:46:11.487.035.165] <N> 6383 ====================MCU Register Dump from <__sensor_start_stream> Line: 3162=====================
    [ 125.517380] <DRV_ADS6311> [2024-02-02 15:46:11.501.975.735] <N> 6392 ---------0----1----2----3----4----5----6----7----8----9----a----b----c----d----e----f
    [ 125.801620] <DRV_ADS6311> [2024-02-02 15:46:11.786.209.240] <N> 6415 0000: DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC
    [ 126.086080] <DRV_ADS6311> [2024-02-02 15:46:12.070.668.360] <N> 6415 0010: DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC
    [ 126.370532] <DRV_ADS6311> [2024-02-02 15:46:12.355.122.780] <N> 6415 0020: DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC
    [ 126.654942] <DRV_ADS6311> [2024-02-02 15:46:12.639.534.390] <N> 6415 0030: DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC
    [ 126.939393] <DRV_ADS6311> [2024-02-02 15:46:12.923.983.255] <N> 6415 0040: DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC
    [ 127.223965] <DRV_ADS6311> [2024-02-02 15:46:13.208.550.845] <N> 6415 0050: DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC
    [ 127.508482] <DRV_ADS6311> [2024-02-02 15:46:13.493.068.860] <N> 6415 0060: DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC
    [ 127.792921] <DRV_ADS6311> [2024-02-02 15:46:13.777.510.670] <N> 6415 0070: DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC
    [ 128.077377] <DRV_ADS6311> [2024-02-02 15:46:14.061.967.840] <N> 6415 0080: DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC
    [ 128.361786] <DRV_ADS6311> [2024-02-02 15:46:14.346.372.610] <N> 6415 0090: DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC
    [ 128.646232] <DRV_ADS6311> [2024-02-02 15:46:14.630.821.310] <N> 6415 00a0: DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC
    [ 128.930668] <DRV_ADS6311> [2024-02-02 15:46:14.915.254.420] <N> 6415 00b0: DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC
    [ 129.215088] <DRV_ADS6311> [2024-02-02 15:46:15.199.678.605] <N> 6415 00c0: DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC
    [ 129.499503] <DRV_ADS6311> [2024-02-02 15:46:15.484.094.445] <N> 6415 00d0: DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC
    [ 129.783914] <DRV_ADS6311> [2024-02-02 15:46:15.768.505.260] <N> 6415 00e0: DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC
    [ 130.068325] <DRV_ADS6311> [2024-02-02 15:46:16.052.916.130] <N> 6415 00f0: DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC
    [ 130.082299] <DRV_ADS6311> [2024-02-02 15:46:16.066.892.225] <N> 6420 =====================================================================================
    [ 130.082299]
    [ 130.097733] <DRV_ADS6311> [2024-02-02 15:46:16.082.325.280] <N> 3259 --<sensor_s_stream> Line:3259: on:1, ret:0, dbg_ctrl:0x142e, wkmode:0(PHR), linkFreq:500000000, exposureTime:1000 us, power_on:0, mcu_chipid:ddcc, mcu_fw_type: 0xddcc, drv_version: 2.0.0_LM20240222b---
    [ 130.121981] --HAWK--<v4l2_subdev_enable_streams_fallback> Line: 1830--s_stream(1)-owner:, v4l2_subdev_name:dToF_ads6311 spi1.0, ret:0---
    [2024-02-02 15:46:16.119.356.265] ERROR: <v4l2_dev.cpp-Start_str[ 130.135183] <DRV_ADS6311> [2024-02-02 15:46:16 119.773.855] v4l2_cb <sensor_close> L3586:---- S_CLOSE from hawk_concurrenc (1352:1352) on CPU 2
    eaming() 372> Fail to stream_on for fd:7, errno: No such file or[ 130.154030] <DRV_ADS6311> [2024-02-02 15:46:16.138.621.800] <N> 3202 --<sensor_s_stream> Line:3202: on:0, console_loglevel:7, dbg_ctrl:0x142e, wkmode:0(PHR), linkFreq:500000000, exposureTime:1000 us, power_on:0, mcu_chipid:ddcc, mcu_fw_type: 0xddcc, drv_version: 2.0.0_LM20240222b---
    directory (2)...
    [2024-02-02 15:46:16.119.663.415] ERROR: <haw[ 130.184220] <DRV_ADS6311> [2024-02-02 15:46:16 168.814.470] <I> 2769 set_vcsel_state: 0, call from Line:3174.
    [ 130.184220]
    k_concurrency_test.cpp-Testcase0() 166> Error happpening for stream[1], errno: No such file or directory (2)...
    [ 130.215458] <DRV_ADS6311> [2024-02-02 15:46:16 200.045.830] <mcuctrl_write_reg_raw> 6113 <REGS_WRITE> rpmsg write mcu reg:0x0088 to 0x0000, ret:0...
    [ 130.344866] <DRV_ADS6311> [2024-02-02 15:46:16 329.460.060] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg00:0x0007 to 0x00, ret:0...
    [ 130.358016] <DRV_ADS6311> [2024-02-02 15:46:16.342.611.650] <N> 3259 --<sensor_s_stream> Line:3259: on:0, ret:0, dbg_ctrl:0x142e, wkmode:0(PHR), linkFreq:500000000, exposureTime:1000 us, power_on:0, mcu_chipid:ddcc, mcu_fw_type: 0xddcc, drv_version: 2.0.0_LM20240222b---
    [ 130.381959] --HAWK--<v4l2_subdev_disable_streams_fallback> Line: 1943--s_stream(0)-owner:, v4l2_subdev_name:dToF_ads6311 spi1.0, ret:0---
    [2024-02-02 15:46:16.436.555.005] <hawk_concurrency_test.cpp-Testcase0() 203> ------Testcase 0 FAILURE--------

    [2024-02-02 15:46:16.437.043.425] <hawk_concurrency_test.cpp-main() 603> ------Test End--------

    root@am62axx-evm:~#
    root@am62axx-evm:~#
    root@am62axx-evm:~#
    root@am62axx-evm:~# dmesg
    [ 116.048784] <DRV_ADS6311> [2024-02-02 15:46:02 033.370.500] <I> 3327 reset_gpio is set to 1
    [ 116.076161] <DRV_ADS6311> [2024-02-02 15:46:02 060.749.620] <I> 3331 reset_gpio is set to 0
    [ 116.087544] <DRV_ADS6311> [2024-02-02 15:46:02 072.137.350] <I> 3299 sensor reset cost 2854 us, sensor chip id: 0x3400

    [ 116.099886] <DRV_ADS6311> [2024-02-02 15:46:02.084.480.135] <N> 4082 Hawk is reset!!!, ret: 0
    [ 122.516388] <DRV_ADS6311> [2024-02-02 15:46:08 500.980.275] v4l2_cb <sensor_open> L3613:---- S_OPEN from hawk_concurrenc (1352:1352) on CPU 3
    [ 122.533048] <DRV_ADS6311> [2024-02-02 15:46:08 517.643.385] <I> 4725 sensor->mmap_buffer_base: 0000000033b4cefa, 0xffff000004000000
    [ 122.550265] <DRV_ADS6311> [2024-02-02 15:46:08 534.861.050] <I> 4726 client: hawk_concurrenc (1352)
    [ 122.564821] <DRV_ADS6311> [2024-02-02 15:46:08 549.416.805] <I> 4727 code section: [0x400000 0x413bae]
    [ 122.579902] <DRV_ADS6311> [2024-02-02 15:46:08 564.498.195] <I> 4728 data section: [0x423db8 0x424298]
    [ 122.594989] <DRV_ADS6311> [2024-02-02 15:46:08 579.585.480] <I> 4729 brk section: s: 0x85ba000, c: 0x85db000
    [ 122.610511] <DRV_ADS6311> [2024-02-02 15:46:08 595.106.855] <I> 4730 mmap section: s: 0xffff85f94000
    [ 122.625253] <DRV_ADS6311> [2024-02-02 15:46:08 609.849.215] <I> 4731 stack section: s: 0xffffd0d73e90
    [ 122.640069] <DRV_ADS6311> [2024-02-02 15:46:08 624.664.115] <I> 4732 arg section: [0xffffd0d74b5e 0xffffd0d74b76]
    [ 122.656130] <DRV_ADS6311> [2024-02-02 15:46:08 640.724.475] <I> 4733 env section: [0xffffd0d74b76 0xffffd0d74fe0]

    [ 122.673775] <DRV_ADS6311> [2024-02-02 15:46:08 658.370.070] v4l2_cb <sensor_set_fmt> L2345:client: hawk_concurrenc (1352:1352) is running on CPU 3, load_script: 0, fmt->which:0x1,V4L2_SUBDEV_FORMAT_TRY:0x0, fmt->width:480, fmt->height:128
    [ 122.700346] <DRV_ADS6311> [2024-02-02 15:46:08 684.941.705] v4l2_cb <sensor_set_fmt> L2376:fmt->which:0x1,V4L2_SUBDEV_FORMAT_TRY:0x0, wkmode:0 mode->width:480, mode->height:128
    [ 123.417756] <DRV_ADS6311> [2024-02-02 15:46:09.402.347.400] <N> 3202 --<sensor_s_stream> Line:3202: on:1, console_loglevel:7, dbg_ctrl:0x142e, wkmode:0(PHR), linkFreq:500000000, exposureTime:1000 us, power_on:0, mcu_chipid:ddcc, mcu_fw_type: 0xddcc, drv_version: 2.0.0_LM20240222b---
    [ 123.447943] <DRV_ADS6311> [2024-02-02 15:46:09 432.537.845] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg00:0x0004 to 0x43, ret:0...
    [ 123.466224] <DRV_ADS6311> [2024-02-02 15:46:09 450.819.690] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg01:0x000d to 0x1f, ret:0...
    [ 123.484763] <DRV_ADS6311> [2024-02-02 15:46:09 469.358.925] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg02:0x000e to 0xf0, ret:0...
    [ 123.503296] <DRV_ADS6311> [2024-02-02 15:46:09 487.891.930] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg03:0x000a to 0x00, ret:0...
    [ 123.521845] <DRV_ADS6311> [2024-02-02 15:46:09 506.440.940] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg04:0x0013 to 0x00, ret:0...
    [ 123.540394] <DRV_ADS6311> [2024-02-02 15:46:09 524.990.965] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg05:0x0014 to 0x01, ret:0...
    [ 123.558943] <DRV_ADS6311> [2024-02-02 15:46:09 543.539.625] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg06:0x0015 to 0x03, ret:0...
    [ 123.577496] <DRV_ADS6311> [2024-02-02 15:46:09 562.092.795] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg07:0x0016 to 0x00, ret:0...
    [ 123.596077] <DRV_ADS6311> [2024-02-02 15:46:09 580.673.505] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg08:0x0017 to 0xa7, ret:0...
    [ 123.614606] <DRV_ADS6311> [2024-02-02 15:46:09 599.202.740] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg09:0x0018 to 0xa8, ret:0...
    [ 123.633160] <DRV_ADS6311> [2024-02-02 15:46:09 617.756.345] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg10:0x0019 to 0x01, ret:0...
    [ 123.651712] <DRV_ADS6311> [2024-02-02 15:46:09 636.308.140] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg11:0x001f to 0x06, ret:0...
    [ 123.670271] <DRV_ADS6311> [2024-02-02 15:46:09 654.867.890] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg12:0x0020 to 0x04, ret:0...
    [ 123.688819] <DRV_ADS6311> [2024-02-02 15:46:09 673.415.740] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg13:0x0021 to 0xc6, ret:0...
    [ 123.707375] <DRV_ADS6311> [2024-02-02 15:46:09 691.971.005] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg14:0x0022 to 0x14, ret:0...
    [ 123.725942] <DRV_ADS6311> [2024-02-02 15:46:09 710.537.845] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg15:0x0023 to 0xff, ret:0...
    [ 123.744493] <DRV_ADS6311> [2024-02-02 15:46:09 729.088.250] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg16:0x0024 to 0x05, ret:0...
    [ 123.763044] <DRV_ADS6311> [2024-02-02 15:46:09 747.639.905] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg17:0x0025 to 0x00, ret:0...
    [ 123.781598] <DRV_ADS6311> [2024-02-02 15:46:09 766.194.090] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg18:0x0026 to 0x00, ret:0...
    [ 123.800154] <DRV_ADS6311> [2024-02-02 15:46:09 784.750.240] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg19:0x0027 to 0x00, ret:0...
    [ 123.818705] <DRV_ADS6311> [2024-02-02 15:46:09 803.301.355] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg20:0x0028 to 0xff, ret:0...
    [ 123.837255] <DRV_ADS6311> [2024-02-02 15:46:09 821.851.820] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg21:0x0029 to 0x03, ret:0...
    [ 123.855816] <DRV_ADS6311> [2024-02-02 15:46:09 840.412.145] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg22:0x002a to 0x01, ret:0...
    [ 123.874363] <DRV_ADS6311> [2024-02-02 15:46:09 858.959.715] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg23:0x0054 to 0xd2, ret:0...
    [ 123.892916] <DRV_ADS6311> [2024-02-02 15:46:09 877.512.055] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg24:0x0055 to 0xff, ret:0...
    [ 123.911469] <DRV_ADS6311> [2024-02-02 15:46:09 896.065.195] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg25:0x0056 to 0x84, ret:0...
    [ 123.930029] <DRV_ADS6311> [2024-02-02 15:46:09 914.624.975] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg26:0x0057 to 0x04, ret:0...
    [ 123.948576] <DRV_ADS6311> [2024-02-02 15:46:09 933.172.930] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg27:0x0058 to 0x00, ret:0...
    [ 123.967133] <DRV_ADS6311> [2024-02-02 15:46:09 951.729.475] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg28:0x005a to 0x16, ret:0...
    [ 123.985688] <DRV_ADS6311> [2024-02-02 15:46:09 970.284.755] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg29:0x00a7 to 0x01, ret:0...
    [ 124.004271] <DRV_ADS6311> [2024-02-02 15:46:09 988.866.790] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg30:0x0104 to 0x0c, ret:0...
    [ 124.022796] <DRV_ADS6311> [2024-02-02 15:46:10 007.392.230] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg31:0x001b to 0x02, ret:0...
    [ 124.041352] <DRV_ADS6311> [2024-02-02 15:46:10 025.947.755] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg32:0x0108 to 0xfa, ret:0...
    [ 124.059904] <DRV_ADS6311> [2024-02-02 15:46:10 044.500.560] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg33:0x010c to 0x05, ret:0...
    [ 124.078453] <DRV_ADS6311> [2024-02-02 15:46:10 063.049.170] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg34:0x010d to 0x05, ret:0...
    [ 124.097005] <DRV_ADS6311> [2024-02-02 15:46:10 081.601.785] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg35:0x0128 to 0x80, ret:0...
    [ 124.115559] <DRV_ADS6311> [2024-02-02 15:46:10 100.155.130] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg36:0x0129 to 0x00, ret:0...
    [ 124.134113] <DRV_ADS6311> [2024-02-02 15:46:10 118.709.080] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg37:0x012a to 0x80, ret:0...
    [ 124.152670] <DRV_ADS6311> [2024-02-02 15:46:10 137.266.330] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg38:0x012b to 0x00, ret:0...
    [ 124.171221] <DRV_ADS6311> [2024-02-02 15:46:10 155.817.135] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg39:0x0114 to 0x2c, ret:0...
    [ 124.189780] <DRV_ADS6311> [2024-02-02 15:46:10 174.376.470] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg40:0x0115 to 0x2c, ret:0...
    [ 124.208327] <DRV_ADS6311> [2024-02-02 15:46:10 192.923.730] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg41:0x0118 to 0xd0, ret:0...
    [ 124.226882] <DRV_ADS6311> [2024-02-02 15:46:10 211.478.275] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg42:0x011a to 0xd0, ret:0...
    [ 124.243356] <DRV_ADS6311> [2024-02-02 15:46:10 227.952.260] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg43:0x0119 to 0x02, ret:0...
    [ 124.256434] <DRV_ADS6311> [2024-02-02 15:46:10 241.030.645] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg44:0x011b to 0x02, ret:0...
    [ 124.269512] <DRV_ADS6311> [2024-02-02 15:46:10 254.108.195] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg45:0x0150 to 0xc0, ret:0...
    [ 124.282594] <DRV_ADS6311> [2024-02-02 15:46:10 267.190.135] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg46:0x0151 to 0xc0, ret:0...
    [ 124.295631] <DRV_ADS6311> [2024-02-02 15:46:10 280.227.535] v4l2_cb <sensor_set_ctrl> L3890:client: hawk_concurrenc (1352:1352) is running on CPU 3, ctrl->id: 0x9f0901, ctrl->val: 1, V4L2_CID_EXPOSURE: 0x980911
    [ 124.314306] <DRV_ADS6311> [2024-02-02 15:46:10.298.902.205] <N> 3912 sensor_set_ctrl Unhandled id:0x9f0901, val:0x1

    [ 124.326210] <DRV_ADS6311> [2024-02-02 15:46:10 310.806.670] v4l2_cb <sensor_set_ctrl> L3890:client: hawk_concurrenc (1352:1352) is running on CPU 3, ctrl->id: 0x980911, ctrl->val: 100, V4L2_CID_EXPOSURE: 0x980911
    [ 124.345115] <DRV_ADS6311> [2024-02-02 15:46:10 329.710.925] <sensor_burst_write_reg> 1869 <REGS_WRITE> spi burst write sensor reg:0x1000 data length:2, ret:0...
    [ 124.359513] <DRV_ADS6311> [2024-02-02 15:46:10.344.108.975] <E> 1629 ===Data mismatched at 0, 0x63, 0x57===

    [ 124.370724] <DRV_ADS6311> [2024-02-02 15:46:10.355.321.045] <E> 1629 ===Data mismatched at 1, 0x00, 0x09===

    [ 124.381934] <DRV_ADS6311> [2024-02-02 15:46:10.366.530.100] <E> 3100 Oops, roi_sram_readback_compare failed, ulSramDataLen:2, ret:1...

    [ 124.395485] <DRV_ADS6311> [2024-02-02 15:46:10.380.081.630] <N> 1508 -------written ROI Sram data--------

    [ 124.406531] <DRV_ADS6311> [2024-02-02 15:46:10.391.127.280] <N> 1530 [ 0] 63,00,00,00,90,01,20,00,3e,00,0a,1e,3c,64,46,32,

    [ 124.419222] <DRV_ADS6311> [2024-02-02 15:46:10.403.818.175] <N> 1530 [ 16] 1e,0a,00,00,00,00,00,00,00,00,00,00,00,04,00,08,

    [ 124.431910] <DRV_ADS6311> [2024-02-02 15:46:10.416.506.900] <N> 1530 [ 32] 00,0c,00,10,00,14,00,18,00,1c,00,20,00,24,00,28,

    [ 124.444605] <DRV_ADS6311> [2024-02-02 15:46:10.429.201.025] <N> 1530 [ 48] 00,2c,00,30,00,34,00,38,00,3c,03,00,03,04,03,08,

    [ 124.457287] <DRV_ADS6311> [2024-02-02 15:46:10.441.883.500] <N> 1530 [ 64]

    [ 124.465807] <DRV_ADS6311> [2024-02-02 15:46:10.450.403.775] <N> 1508 -------Readback ROI Sram data--------

    [ 124.476935] <DRV_ADS6311> [2024-02-02 15:46:10.461.531.850] <N> 1530 [ 0] 57,09,63,00,00,00,ff,ff,00,c8,7d,05,00,00,ff,ff,

    [ 124.489622] <DRV_ADS6311> [2024-02-02 15:46:10.474.218.565] <N> 1530 [ 16] 10,de,6a,03,00,00,ff,ff,10,de,6a,03,00,00,ff,ff,

    [ 124.502310] <DRV_ADS6311> [2024-02-02 15:46:10.486.906.125] <N> 1530 [ 32] 00,00,00,00,00,00,00,00,22,01,00,00,00,00,ad,de,

    [ 124.514997] <DRV_ADS6311> [2024-02-02 15:46:10.499.593.885] <N> 1530 [ 48] 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,

    [ 124.527684] <DRV_ADS6311> [2024-02-02 15:46:10.512.280.665] <N> 1530 [ 64]

    [ 124.536208] <DRV_ADS6311> [2024-02-02 15:46:10 520.804.840] <I> 2769 set_vcsel_state: 1, call from Line:3113.

    [ 124.561811] <DRV_ADS6311> [2024-02-02 15:46:10 546.406.725] <mcuctrl_write_reg_raw> 6113 <REGS_WRITE> rpmsg write mcu reg:0x0088 to 0x0001, ret:0...
    [ 124.690398] <DRV_ADS6311> [2024-02-02 15:46:10 674.992.695] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg00:0x000a to 0x01, ret:0...
    [ 124.703497] <DRV_ADS6311> [2024-02-02 15:46:10 688.093.905] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg01:0x0008 to 0x00, ret:0...
    [ 124.716576] <DRV_ADS6311> [2024-02-02 15:46:10 701.172.655] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg02:0x0007 to 0x01, ret:0...
    [ 124.729614] <DRV_ADS6311> [2024-02-02 15:46:10.714.210.095] <N> 2247 ============= Register Dump from <__sensor_start_stream> Line: 3158, Power_on: No =============
    [ 124.744297] <DRV_ADS6311> [2024-02-02 15:46:10.728.893.490] <N> 2256 ---------0----1----2----3----4----5----6----7----8----9----a----b----c----d----e----f
    [ 124.758925] <DRV_ADS6311> [2024-02-02 15:46:10.743.520.460] <N> 2282 0000: 34 00 00 00 43 F9 00 01 00 00 00 0A 0A 1F F0 00
    [ 124.773541] <DRV_ADS6311> [2024-02-02 15:46:10.758.137.500] <N> 2282 0010: 00 00 00 00 01 03 00 A7 A8 01 00 02 00 00 00 06
    [ 124.788172] <DRV_ADS6311> [2024-02-02 15:46:10.772.768.130] <N> 2282 0020: 04 C6 14 FF 05 00 00 00 FF 03 01 00 00 00 00 F0
    [ 124.802783] <DRV_ADS6311> [2024-02-02 15:46:10.787.379.305] <N> 2282 0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 124.817395] <DRV_ADS6311> [2024-02-02 15:46:10.801.990.805] <N> 2282 0040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 124.832024] <DRV_ADS6311> [2024-02-02 15:46:10.816.620.525] <N> 2282 0050: 00 00 00 00 D2 FF 84 04 00 10 16 00 00 00 00 00
    [ 124.846636] <DRV_ADS6311> [2024-02-02 15:46:10.831.232.090] <N> 2282 0060: 00 10 00 11 10 10 00 00 00 00 32 FA 00 00 31 7D
    [ 124.861246] <DRV_ADS6311> [2024-02-02 15:46:10.845.842.595] <N> 2282 0070: 00 00 00 00 00 54 1D 41 01 CE 00 00 00 00 0C 00
    [ 124.875860] <DRV_ADS6311> [2024-02-02 15:46:10.860.456.605] <N> 2282 0080: 00 00 00 00 00 00 00 00 00 00 21 43 65 87 09 00
    [ 124.890474] <DRV_ADS6311> [2024-02-02 15:46:10.875.069.895] <N> 2282 0090: 00 00 00 00 00 00 0F 00 00 00 00 00 00 00 00 00
    [ 124.905088] <DRV_ADS6311> [2024-02-02 15:46:10.889.684.600] <N> 2282 00a0: 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00
    [ 124.919700] <DRV_ADS6311> [2024-02-02 15:46:10.904.296.450] <N> 2282 00b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 124.934314] <DRV_ADS6311> [2024-02-02 15:46:10.918.909.330] <N> 2282 00c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 124.948927] <DRV_ADS6311> [2024-02-02 15:46:10.933.522.540] <N> 2282 00d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 124.963550] <DRV_ADS6311> [2024-02-02 15:46:10.948.146.320] <N> 2282 00e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 124.977363] <DRV_ADS6311> [2024-02-02 15:46:10.961.958.855] <N> 2287 =====================================================================================

    [ 124.992676] <DRV_ADS6311> [2024-02-02 15:46:10.977.272.405] <N> 2247 ============= Register Dump from <__sensor_start_stream> Line: 3159, Power_on: No =============
    [ 125.007361] <DRV_ADS6311> [2024-02-02 15:46:10.991.957.460] <N> 2256 ---------0----1----2----3----4----5----6----7----8----9----a----b----c----d----e----f
    [ 125.021984] <DRV_ADS6311> [2024-02-02 15:46:11.006.579.825] <N> 2282 0100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 125.036599] <DRV_ADS6311> [2024-02-02 15:46:11.021.194.510] <N> 2282 0110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 125.051209] <DRV_ADS6311> [2024-02-02 15:46:11.035.805.595] <N> 2282 0120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 125.065820] <DRV_ADS6311> [2024-02-02 15:46:11.050.416.735] <N> 2282 0130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 125.080438] <DRV_ADS6311> [2024-02-02 15:46:11.065.034.215] <N> 2282 0140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 125.095004] <DRV_ADS6311> [2024-02-02 15:46:11.079.600.130] <N> 2282 0150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 --
    [ 125.108813] <DRV_ADS6311> [2024-02-02 15:46:11.093.409.610] <N> 2282 0160: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    [ 125.122624] <DRV_ADS6311> [2024-02-02 15:46:11.107.220.275] <N> 2282 0170: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    [ 125.136433] <DRV_ADS6311> [2024-02-02 15:46:11.121.029.895] <N> 2282 0180: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    [ 125.150241] <DRV_ADS6311> [2024-02-02 15:46:11.134.837.065] <N> 2282 0190: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    [ 125.164049] <DRV_ADS6311> [2024-02-02 15:46:11.148.645.155] <N> 2282 01a0: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    [ 125.177858] <DRV_ADS6311> [2024-02-02 15:46:11.162.454.430] <N> 2282 01b0: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    [ 125.191667] <DRV_ADS6311> [2024-02-02 15:46:11.176.263.110] <N> 2282 01c0: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    [ 125.205486] <DRV_ADS6311> [2024-02-02 15:46:11.190.082.855] <N> 2282 01d0: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    [ 125.219316] <DRV_ADS6311> [2024-02-02 15:46:11.203.911.610] <N> 2282 01e0: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    [ 125.233132] <DRV_ADS6311> [2024-02-02 15:46:11.217.727.460] <N> 2287 =====================================================================================

    [ 125.248418] <DRV_ADS6311> [2024-02-02 15:46:11.233.014.120] <N> 2247 ============= Register Dump from <__sensor_start_stream> Line: 3161, Power_on: No =============
    [ 125.263099] <DRV_ADS6311> [2024-02-02 15:46:11.247.695.005] <N> 2256 ---------0----1----2----3----4----5----6----7----8----9----a----b----c----d----e----f
    [ 125.277725] <DRV_ADS6311> [2024-02-02 15:46:11.262.320.720] <N> 2282 0200: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 125.292352] <DRV_ADS6311> [2024-02-02 15:46:11.276.947.390] <N> 2282 0210: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 125.306965] <DRV_ADS6311> [2024-02-02 15:46:11.291.561.625] <N> 2282 0220: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 125.321427] <DRV_ADS6311> [2024-02-02 15:46:11.306.023.425] <N> 2282 0230: 00 00 00 00 00 00 00 00 00 00 00 00 00 -- -- --
    [ 125.335236] <DRV_ADS6311> [2024-02-02 15:46:11.319.833.010] <N> 2282 0240: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    [ 125.349050] <DRV_ADS6311> [2024-02-02 15:46:11.333.646.420] <N> 2282 0250: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    [ 125.362861] <DRV_ADS6311> [2024-02-02 15:46:11.347.457.440] <N> 2282 0260: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    [ 125.376670] <DRV_ADS6311> [2024-02-02 15:46:11.361.266.475] <N> 2282 0270: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    [ 125.390478] <DRV_ADS6311> [2024-02-02 15:46:11.375.074.770] <N> 2282 0280: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    [ 125.404288] <DRV_ADS6311> [2024-02-02 15:46:11.388.884.320] <N> 2282 0290: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    [ 125.418102] <DRV_ADS6311> [2024-02-02 15:46:11.402.698.480] <N> 2282 02a0: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    [ 125.431913] <DRV_ADS6311> [2024-02-02 15:46:11.416.509.500] <N> 2282 02b0: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    [ 125.445723] <DRV_ADS6311> [2024-02-02 15:46:11.430.319.220] <N> 2282 02c0: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    [ 125.459529] <DRV_ADS6311> [2024-02-02 15:46:11.444.125.930] <N> 2282 02d0: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    [ 125.473343] <DRV_ADS6311> [2024-02-02 15:46:11.457.938.960] <N> 2282 02e0: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    [ 125.487153] <DRV_ADS6311> [2024-02-02 15:46:11.471.748.795] <N> 2287 =====================================================================================

    [ 125.502439] <DRV_ADS6311> [2024-02-02 15:46:11.487.035.165] <N> 6383 ====================MCU Register Dump from <__sensor_start_stream> Line: 3162=====================
    [ 125.517380] <DRV_ADS6311> [2024-02-02 15:46:11.501.975.735] <N> 6392 ---------0----1----2----3----4----5----6----7----8----9----a----b----c----d----e----f
    [ 125.801620] <DRV_ADS6311> [2024-02-02 15:46:11.786.209.240] <N> 6415 0000: DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC
    [ 126.086080] <DRV_ADS6311> [2024-02-02 15:46:12.070.668.360] <N> 6415 0010: DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC
    [ 126.370532] <DRV_ADS6311> [2024-02-02 15:46:12.355.122.780] <N> 6415 0020: DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC
    [ 126.654942] <DRV_ADS6311> [2024-02-02 15:46:12.639.534.390] <N> 6415 0030: DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC
    [ 126.939393] <DRV_ADS6311> [2024-02-02 15:46:12.923.983.255] <N> 6415 0040: DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC
    [ 127.223965] <DRV_ADS6311> [2024-02-02 15:46:13.208.550.845] <N> 6415 0050: DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC
    [ 127.508482] <DRV_ADS6311> [2024-02-02 15:46:13.493.068.860] <N> 6415 0060: DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC
    [ 127.792921] <DRV_ADS6311> [2024-02-02 15:46:13.777.510.670] <N> 6415 0070: DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC
    [ 128.077377] <DRV_ADS6311> [2024-02-02 15:46:14.061.967.840] <N> 6415 0080: DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC
    [ 128.361786] <DRV_ADS6311> [2024-02-02 15:46:14.346.372.610] <N> 6415 0090: DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC
    [ 128.646232] <DRV_ADS6311> [2024-02-02 15:46:14.630.821.310] <N> 6415 00a0: DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC
    [ 128.930668] <DRV_ADS6311> [2024-02-02 15:46:14.915.254.420] <N> 6415 00b0: DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC
    [ 129.215088] <DRV_ADS6311> [2024-02-02 15:46:15.199.678.605] <N> 6415 00c0: DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC
    [ 129.499503] <DRV_ADS6311> [2024-02-02 15:46:15.484.094.445] <N> 6415 00d0: DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC
    [ 129.783914] <DRV_ADS6311> [2024-02-02 15:46:15.768.505.260] <N> 6415 00e0: DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC
    [ 130.068325] <DRV_ADS6311> [2024-02-02 15:46:16.052.916.130] <N> 6415 00f0: DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC DDCC
    [ 130.082299] <DRV_ADS6311> [2024-02-02 15:46:16.066.892.225] <N> 6420 =====================================================================================

    [ 130.097733] <DRV_ADS6311> [2024-02-02 15:46:16.082.325.280] <N> 3259 --<sensor_s_stream> Line:3259: on:1, ret:0, dbg_ctrl:0x142e, wkmode:0(PHR), linkFreq:500000000, exposureTime:1000 us, power_on:0, mcu_chipid:ddcc, mcu_fw_type: 0xddcc, drv_version: 2.0.0_LM20240222b---
    [ 130.121981] --HAWK--<v4l2_subdev_enable_streams_fallback> Line: 1830--s_stream(1)-owner:, v4l2_subdev_name:dToF_ads6311 spi1.0, ret:0---
    [ 130.135183] <DRV_ADS6311> [2024-02-02 15:46:16 119.773.855] v4l2_cb <sensor_close> L3586:---- S_CLOSE from hawk_concurrenc (1352:1352) on CPU 2
    [ 130.154030] <DRV_ADS6311> [2024-02-02 15:46:16.138.621.800] <N> 3202 --<sensor_s_stream> Line:3202: on:0, console_loglevel:7, dbg_ctrl:0x142e, wkmode:0(PHR), linkFreq:500000000, exposureTime:1000 us, power_on:0, mcu_chipid:ddcc, mcu_fw_type: 0xddcc, drv_version: 2.0.0_LM20240222b---
    [ 130.184220] <DRV_ADS6311> [2024-02-02 15:46:16 168.814.470] <I> 2769 set_vcsel_state: 0, call from Line:3174.

    [ 130.215458] <DRV_ADS6311> [2024-02-02 15:46:16 200.045.830] <mcuctrl_write_reg_raw> 6113 <REGS_WRITE> rpmsg write mcu reg:0x0088 to 0x0000, ret:0...
    [ 130.344866] <DRV_ADS6311> [2024-02-02 15:46:16 329.460.060] <sensor_write_regs> 1952 <REGS_WRITE> spi write sensor reg00:0x0007 to 0x00, ret:0...
    [ 130.358016] <DRV_ADS6311> [2024-02-02 15:46:16.342.611.650] <N> 3259 --<sensor_s_stream> Line:3259: on:0, ret:0, dbg_ctrl:0x142e, wkmode:0(PHR), linkFreq:500000000, exposureTime:1000 us, power_on:0, mcu_chipid:ddcc, mcu_fw_type: 0xddcc, drv_version: 2.0.0_LM20240222b---
    [ 130.381959] --HAWK--<v4l2_subdev_disable_streams_fallback> Line: 1943--s_stream(0)-owner:, v4l2_subdev_name:dToF_ads6311 spi1.0, ret:0---
    root@am62axx-evm:~#

  • 在`pipeline_pm_power_one`函数中,只有当实体(`entity`)的`use_count`为0且`change`大于0时,才会调用`s_power(1)`,或者当`use_count`为0且`change`小于0时,才会调用`s_power(0)`。如果你的设备在期望调用`s_power()`之前`use_count`不为0,或者`change`参数没有正确反映状态变化,那么`s_power()`就不会被调用。需要检查`use_count`的管理逻辑是否正确,以及是否有其他部分的代码在操作前后改变了`use_count`的值。

    `pipeline_pm_power_one`中通过`is_media_entity_v4l2_subdev`函数检查实体是否为V4L2子设备。

    你提到在`pipeline_pm_power_one`中添加的`printk`打印信息没有出现。这是因为内核日志级别的设置导致某些信息被过滤

  • 2. 尽管我的kernel层dToF sensor驱动(ads6311)里s_stream()回调是返回0 (成功)的,但是用户层调用xioctl(fd, VIDIOC_STREAMON, &buf_type)还是返回了失败,错误信息如下,请问是什么原因呢?

    Fail to stream_on for fd:7, errno: No such file or  directory (2)...

    确保对应的设备文件(通常在`/dev/`下)存在

  • 我使用的是printk(KERN_ERR来打印的,应该不是被过滤的原因,因为我在其他地点使用printk(KERN_ERR都能正常输出的,所以应该是确实没跑到这里。

    另外,今天我在您提及的条件前加了打印(如下),测试还是没有打印。

    static int pipeline_pm_power_one(struct media_entity *entity, int change)
    {
    struct v4l2_subdev *subdev;
    int ret;

    subdev = is_media_entity_v4l2_subdev(entity)
    ? media_entity_to_v4l2_subdev(entity) : NULL;

    if (subdev != NULL) {
    printk(KERN_ERR "--HAWK--<%s> Line: %d---owner:%s, v4l2_subdev_name:%s, use_count:%d, change:%d---\n", __FUNCTION__, __LINE__, subdev->owner, subdev->name, entity->use_count, change);
    }

    if (entity->use_count == 0 && change > 0 && subdev != NULL) {
    ret = v4l2_subdev_call(subdev, core, s_power, 1);
    printk(KERN_ERR "--HAWK--<%s> Line: %d--s_power(1)-owner:%s, v4l2_subdev_name:%s, ret:%d---\n", __FUNCTION__, __LINE__, subdev->owner, subdev->name, ret);
    if (ret < 0 && ret != -ENOIOCTLCMD)
    return ret;
    }

    entity->use_count += change;
    WARN_ON(entity->use_count < 0);

    if (entity->use_count == 0 && change < 0 && subdev != NULL)
    {
    v4l2_subdev_call(subdev, core, s_power, 0);
    printk(KERN_ERR "--HAWK--<%s> Line: %d--s_power(0)-owner:%s, v4l2_subdev_name:%s--\n", __FUNCTION__, __LINE__, subdev->owner, subdev->name);
    }

    return 0;
    }

    于是我参考了drivers/media/i2c/imx219.c, 发现它也没有实现s_power回调,而是在imx219_start_streaming()中调用pm_runtime_resume_and_get()来拉起供电(执行imx219_pm_ops中定义的imx219_power_on()),我也仿照修改了我的dToF sensor驱动,目前看起来能工作。

  • 我进一步跟踪发现失败的是/dev/video1, 而/dev/video0是成功的。我暂时只使用/dev/video0时,可以抓取到测试mipi raw数据了。 不过后续,我们还是需要配置多vc, 多data type, 所以应该还是需要使用/dev/video1及后续节点的。

  • 根据您提供的信息,没有执行到 `pipeline_pm_power_one` 函数中的打印语句,表明 `s_power` 回调没有被正常调用。这是因为您的设备在特定的使用场景下,不满足调用 `s_power` 的条件,或是因为V4L2框架在某些情况下并不直接调用 `s_power`。

    在 V4L2 架构中,`s_power` 回调的调用往往是为了管理设备的电源状态,但并非所有的驱动都需要显式地实现或依赖这个回调。一些驱动会选择在启动流媒体之前或在特定的初始化阶段手动管理电源状态,这正是您通过参考 imx219 驱动所采取的方法。

    使用 `pm_runtime_resume_and_get()` 函数来主动管理您的设备电源状态是一个有效的替代方案。这个函数是 PM 运行时框架的一部分,它允许设备驱动在需要时请求设备电源被打开,从而避免了依赖自动调用 `s_power` 回调的需求。这种方法提供了更灵活的电源管理策略,允许驱动根据自己的需求来控制电源状态,而不是完全依赖于框架的自动管理。

    这种方法直接利用 PM 运行时框架进行电源管理成为了一种更推荐的实践,因为它提供了更细粒度的电源控制能力

  • 我们还是需要配置多vc, 多data type, 所以应该还是需要使用/dev/video1及后续节点的

    是的,您的思路是正确的