From 2f7c68cb55ecb7331f2381deb497c27155f32faf Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Wed, 03 Jan 2024 09:43:39 +0000
Subject: [PATCH] update kernel to 5.10.198
---
kernel/drivers/media/i2c/gc2145.c | 20 ++++++++------------
1 files changed, 8 insertions(+), 12 deletions(-)
diff --git a/kernel/drivers/media/i2c/gc2145.c b/kernel/drivers/media/i2c/gc2145.c
index 0ea0b91..9eff822 100644
--- a/kernel/drivers/media/i2c/gc2145.c
+++ b/kernel/drivers/media/i2c/gc2145.c
@@ -2105,7 +2105,7 @@
dev_dbg(&client->dev, "%s: on: %d\n", __func__, on);
- if (gc2145->bus_cfg.bus_type == V4L2_MBUS_CSI2) {
+ if (gc2145->bus_cfg.bus_type == V4L2_MBUS_CSI2_DPHY) {
val = on ? 0x94 : 0x84;
ret = gc2145_write(client, 0xfe, 0x03);
ret |= gc2145_write(client, 0x10, val);
@@ -2458,13 +2458,13 @@
}
#endif
-static int gc2145_g_mbus_config(struct v4l2_subdev *sd,
+static int gc2145_g_mbus_config(struct v4l2_subdev *sd, unsigned int pad_id,
struct v4l2_mbus_config *config)
{
struct gc2145 *gc2145 = to_gc2145(sd);
- if (gc2145->bus_cfg.bus_type == V4L2_MBUS_CSI2) {
- config->type = V4L2_MBUS_CSI2;
+ if (gc2145->bus_cfg.bus_type == V4L2_MBUS_CSI2_DPHY) {
+ config->type = V4L2_MBUS_CSI2_DPHY;
config->flags = V4L2_MBUS_CSI2_1_LANE |
V4L2_MBUS_CSI2_CHANNEL_0 |
V4L2_MBUS_CSI2_CONTINUOUS_CLOCK;
@@ -2483,9 +2483,7 @@
{
struct gc2145 *gc2145 = to_gc2145(sd);
- mutex_lock(&gc2145->lock);
fi->interval = gc2145->frame_size->max_fps;
- mutex_unlock(&gc2145->lock);
return 0;
}
@@ -2628,7 +2626,7 @@
dev_info(&client->dev, "%s(%d)\n", __func__, __LINE__);
- if (gc2145->bus_cfg.bus_type == V4L2_MBUS_CSI2)
+ if (gc2145->bus_cfg.bus_type == V4L2_MBUS_CSI2_DPHY)
ret = gc2145_write_array(client, gc2145_mipi_init_regs);
else
ret = gc2145_write_array(client, gc2145_dvp_init_regs);
@@ -2672,9 +2670,7 @@
if (fie->index >= gc2145->cfg_num)
return -EINVAL;
- if (fie->code != MEDIA_BUS_FMT_UYVY8_2X8)
- return -EINVAL;
-
+ fie->code = MEDIA_BUS_FMT_UYVY8_2X8;
fie->width = gc2145->framesize_cfg[fie->index].width;
fie->height = gc2145->framesize_cfg[fie->index].height;
fie->interval = gc2145->framesize_cfg[fie->index].max_fps;
@@ -2694,7 +2690,6 @@
static const struct v4l2_subdev_video_ops gc2145_subdev_video_ops = {
.s_stream = gc2145_s_stream,
- .g_mbus_config = gc2145_g_mbus_config,
.g_frame_interval = gc2145_g_frame_interval,
.s_frame_interval = gc2145_s_frame_interval,
};
@@ -2705,6 +2700,7 @@
.enum_frame_interval = gc2145_enum_frame_interval,
.get_fmt = gc2145_get_fmt,
.set_fmt = gc2145_set_fmt,
+ .get_mbus_config = gc2145_g_mbus_config,
};
#ifdef CONFIG_VIDEO_V4L2_SUBDEV_API
@@ -2856,7 +2852,7 @@
of_node_put(endpoint);
return ret;
}
- if (gc2145->bus_cfg.bus_type == V4L2_MBUS_CSI2) {
+ if (gc2145->bus_cfg.bus_type == V4L2_MBUS_CSI2_DPHY) {
gc2145->framesize_cfg = gc2145_mipi_framesizes;
gc2145->cfg_num = ARRAY_SIZE(gc2145_mipi_framesizes);
} else {
--
Gitblit v1.6.2