From c9866aeb9b6d11e82d0d5549969bf522cd0feb11 Mon Sep 17 00:00:00 2001 From: Qubot <1445788683@qq.com> Date: Fri, 12 Jun 2026 23:28:45 +0800 Subject: [PATCH] media: sunxi-vin: adapt IMX415 mbus config ops --- bsp/drivers/vin/modules/sensor/imx415_mipi.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/bsp/drivers/vin/modules/sensor/imx415_mipi.c b/bsp/drivers/vin/modules/sensor/imx415_mipi.c index 1f0fdfa71..2439bbf67 100644 --- a/bsp/drivers/vin/modules/sensor/imx415_mipi.c +++ b/bsp/drivers/vin/modules/sensor/imx415_mipi.c @@ -1133,16 +1133,25 @@ static struct sensor_win_size sensor_win_sizes[] = { #define N_WIN_SIZES (ARRAY_SIZE(sensor_win_sizes)) -static int sensor_g_mbus_config(struct v4l2_subdev *sd, +static int sensor_g_mbus_config(struct v4l2_subdev *sd, unsigned int pad, struct v4l2_mbus_config *cfg) { struct sensor_info *info = to_state(sd); cfg->type = V4L2_MBUS_CSI2_DPHY; - if (info->isp_wdr_mode == ISP_DOL_WDR_MODE) + if (info->isp_wdr_mode == ISP_DOL_WDR_MODE) { +#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0) + cfg->bus.mipi_csi2.num_data_lanes = 0 | V4L2_MBUS_CSI2_4_LANE | V4L2_MBUS_CSI2_CHANNEL_0 | V4L2_MBUS_CSI2_CHANNEL_1; +#else cfg->flags = 0 | V4L2_MBUS_CSI2_4_LANE | V4L2_MBUS_CSI2_CHANNEL_0 | V4L2_MBUS_CSI2_CHANNEL_1; - else +#endif + } else { +#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0) + cfg->bus.mipi_csi2.num_data_lanes = 0 | V4L2_MBUS_CSI2_4_LANE | V4L2_MBUS_CSI2_CHANNEL_0; +#else cfg->flags = 0 | V4L2_MBUS_CSI2_4_LANE | V4L2_MBUS_CSI2_CHANNEL_0; +#endif + } return 0; } @@ -1255,7 +1264,6 @@ static const struct v4l2_subdev_core_ops sensor_core_ops = { static const struct v4l2_subdev_video_ops sensor_video_ops = { .s_stream = sensor_s_stream, - .g_mbus_config = sensor_g_mbus_config, }; static const struct v4l2_subdev_pad_ops sensor_pad_ops = { @@ -1264,6 +1272,7 @@ static const struct v4l2_subdev_pad_ops sensor_pad_ops = { .enum_frame_interval = sensor_enum_frame_interval, .get_fmt = sensor_get_fmt, .set_fmt = sensor_set_fmt, + .get_mbus_config = sensor_g_mbus_config, }; static const struct v4l2_subdev_ops sensor_ops = {