After upgrading jetson 6.0 to jetson 6.1, the sensor_start_streaming function is not called

After upgrading jetson 6.0(R36.3) to jetson 6.1(R36.4), the imx415_start_streaming function is not called.

This is my driver source code:


There is no log printout of its calls in the kernel logs:

this is my source file:
nv_gmsl_imx415.txt (27.3 KB)
tegra234-p3768-pcai-camera-gmsl-imx415-overlay.dts.txt (4.1 KB)
tegra234-p3768-pcai-camera-gmsl-imx415.dtsi.txt (13.4 KB)

Hi @2450732921,

Can you please share your VI trace logs after you try to capture?

Regards,
Francis Guindon

Embedded SW Engineer at RidgeRun
Contact us: support@ridgerun.com
Developers wiki: https://developer.ridgerun.com/
Website: http://www.ridgerun.com/

Hi francis.guindon,

This is dmesg log and trace log:
dmesg1.txt (70.4 KB)
trace1.txt (9.2 KB)

Here’s my version info:

Please break down the call stack of v4l2sd_stream() in
../drivers/media/platform/tegra/camera/tegracam_v4l2.c

       dev_dbg(&client->dev, "%s++ enable %d\n", __func__, enable);

        if (!s_data)
                return -EINVAL;

        sensor_ops = s_data->ops;
        tc_dev = to_tegracam_device(s_data);
        sensor_data = &s_data->tegracam_ctrl_hdl->sensor_data;
        ctrl_blob = &sensor_data->ctrls_blob;
        mode_blob = &sensor_data->mode_blob;

        /* reset control packet at start/stop streaming */
        memset(ctrl_blob, 0, sizeof(struct sensor_blob));
        memset(mode_blob, 0, sizeof(struct sensor_blob));
        if (enable) {
                /* increase ref count so module can't be unloaded */
                if (!try_module_get(s_data->owner))
                        return -ENODEV;

                err = sensor_ops->set_mode(tc_dev);
                if (err) {
                        dev_err(&client->dev, "Error writing mode\n");
                        goto error;
                }

                /* update control ranges based on mode settings*/
                err = tegracam_init_ctrl_ranges_by_mode(
                        s_data->tegracam_ctrl_hdl, (u32) s_data->mode);
                if (err) {
                        dev_err(&client->dev, "Error updating control ranges\n");
                        goto error;
                }

                if (s_data->override_enable) {
                        err = tegracam_ctrl_set_overrides(
                                        s_data->tegracam_ctrl_hdl);
                        if (err) {
                                dev_err(&client->dev,
                                        "overrides cannot be set\n");
                                goto error;
                        }
                }
                err = tegracam_ctrl_synchronize_ctrls(s_data->tegracam_ctrl_hdl);
                if (err) {
                        dev_err(&client->dev, "Error synchronizing controls during stream start\n");
                        goto error;
                }
                err = sensor_ops->start_streaming(tc_dev);
                if (err) {
                        dev_err(&client->dev, "Error turning on streaming\n");
                        goto error;
                }

Hi ShaneCCC

Is this the directory for the platform v4l2 code?

Linux_for_Tegra/source/nvidia-oot/drivers/media/platform/tegra/camera/tegracam_v4l2.c

What is the timing of the call to the code in this file?
How should I view the Log here?

dmesg doesn’t seem to be able to see that the v4l2sd_stream() function is being called:


How should I view the direction of the problem?

Using dev_info() or pr_info() instead of dev_dbg()

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.