[PATCH 12/55] media: rkisp1: Reject sensors without pixel rate control at bound time
Dafna Hirschfeld
dafna at fastmail.com
Fri Jun 24 11:20:18 PDT 2022
On 15.06.2022 04:10, Paul Elder wrote:
>From: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
>
>The rkisp1 driver requires the sensor to implement the pixel rate
>control. Trying to operate without it will cause an error when starting
>streaming. Catch the issue earlier, at bound time.
>
>Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
Reviewed-by Dafna Hirschfeld <dafna at fastmail.com>
>---
> drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c | 6 ++++++
> drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c | 5 -----
> 2 files changed, 6 insertions(+), 5 deletions(-)
>
>diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c
>index 39ae35074062..7fc617d51f44 100644
>--- a/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c
>+++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c
>@@ -190,6 +190,12 @@ static int rkisp1_subdev_notifier_bound(struct v4l2_async_notifier *notifier,
>
> s_asd->pixel_rate_ctrl = v4l2_ctrl_find(sd->ctrl_handler,
> V4L2_CID_PIXEL_RATE);
>+ if (!s_asd->pixel_rate_ctrl) {
>+ dev_err(rkisp1->dev, "No pixel rate control in subdev %s\n",
>+ sd->name);
>+ return -EINVAL;
>+ }
>+
> s_asd->sd = sd;
> s_asd->dphy = devm_phy_get(rkisp1->dev, "dphy");
> if (IS_ERR(s_asd->dphy)) {
>diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
>index 58cf6d21f1eb..81138c676ac0 100644
>--- a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
>+++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
>@@ -823,11 +823,6 @@ static int rkisp1_mipi_csi2_start(struct rkisp1_isp *isp,
> struct phy_configure_opts_mipi_dphy *cfg = &opts.mipi_dphy;
> s64 pixel_clock;
>
>- if (!sensor->pixel_rate_ctrl) {
>- dev_warn(rkisp1->dev, "No pixel rate control in sensor subdev\n");
>- return -EPIPE;
>- }
>-
> pixel_clock = v4l2_ctrl_g_ctrl_int64(sensor->pixel_rate_ctrl);
> if (!pixel_clock) {
> dev_err(rkisp1->dev, "Invalid pixel rate value\n");
>--
>2.30.2
>
More information about the Linux-rockchip
mailing list