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/maxim4c/maxim4c_v4l2.c | 34 +++++++++++++--------------------- 1 files changed, 13 insertions(+), 21 deletions(-) diff --git a/kernel/drivers/media/i2c/maxim4c/maxim4c_v4l2.c b/kernel/drivers/media/i2c/maxim4c/maxim4c_v4l2.c index 37df9a6..908045e 100644 --- a/kernel/drivers/media/i2c/maxim4c/maxim4c_v4l2.c +++ b/kernel/drivers/media/i2c/maxim4c/maxim4c_v4l2.c @@ -532,6 +532,11 @@ if (maxim4c->hot_plug_irq > 0) enable_irq(maxim4c->hot_plug_irq); + if (maxim4c->link_lock_state != maxim4c->gmsl_link.link_enable_mask) { + dev_info(dev, "partial links are locked, start hot plug detect work.\n"); + maxim4c_hot_plug_detect_work_start(maxim4c); + } + return 0; } @@ -589,21 +594,20 @@ goto unlock_and_return; if (on) { - ret = pm_runtime_get_sync(&client->dev); - if (ret < 0) { - pm_runtime_put_noidle(&client->dev); + ret = pm_runtime_resume_and_get(&client->dev); + if (ret < 0) goto unlock_and_return; - } ret = __maxim4c_start_stream(maxim4c); if (ret) { v4l2_err(sd, "start stream failed while write regs\n"); - pm_runtime_put(&client->dev); + pm_runtime_put_sync(&client->dev); goto unlock_and_return; } } else { __maxim4c_stop_stream(maxim4c); - pm_runtime_put(&client->dev); + pm_runtime_mark_last_busy(&client->dev); + pm_runtime_put_autosuspend(&client->dev); } maxim4c->streaming = on; @@ -787,21 +791,9 @@ val |= V4L2_MBUS_CSI2_CONTINUOUS_CLOCK; val |= (1 << (data_lanes - 1)); - switch (data_lanes) { - case 4: - val |= V4L2_MBUS_CSI2_CHANNEL_3; - fallthrough; - case 3: - val |= V4L2_MBUS_CSI2_CHANNEL_2; - fallthrough; - case 2: - val |= V4L2_MBUS_CSI2_CHANNEL_1; - fallthrough; - case 1: - default: - val |= V4L2_MBUS_CSI2_CHANNEL_0; - break; - } + + val |= V4L2_MBUS_CSI2_CHANNEL_3 | V4L2_MBUS_CSI2_CHANNEL_2 | + V4L2_MBUS_CSI2_CHANNEL_1 | V4L2_MBUS_CSI2_CHANNEL_0; config->type = V4L2_MBUS_CSI2_DPHY; config->flags = val; -- Gitblit v1.6.2