From d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d Mon Sep 17 00:00:00 2001 From: hc <hc@nodka.com> Date: Mon, 11 Dec 2023 02:45:28 +0000 Subject: [PATCH] add boot partition size --- kernel/drivers/media/platform/rockchip/isp1/rkisp1.c | 24 +++++++++++++++++------- 1 files changed, 17 insertions(+), 7 deletions(-) diff --git a/kernel/drivers/media/platform/rockchip/isp1/rkisp1.c b/kernel/drivers/media/platform/rockchip/isp1/rkisp1.c index 07246bc..12f5f90 100644 --- a/kernel/drivers/media/platform/rockchip/isp1/rkisp1.c +++ b/kernel/drivers/media/platform/rockchip/isp1/rkisp1.c @@ -155,10 +155,15 @@ return -ENODEV; sensor = sd_to_sensor(dev, sensor_sd); - ret = v4l2_subdev_call(sensor->sd, video, g_mbus_config, - &sensor->mbus); + if (!sensor) + return -ENODEV; + + ret = v4l2_subdev_call(sensor->sd, pad, get_mbus_config, + 0, &sensor->mbus); if (ret && ret != -ENOIOCTLCMD) return ret; + + sensor->fmt.pad = 0; sensor->fmt.which = V4L2_SUBDEV_FORMAT_ACTIVE; ret = v4l2_subdev_call(sensor->sd, pad, get_fmt, &sensor->cfg, &sensor->fmt); @@ -327,7 +332,8 @@ acq_prop = CIF_ISP_ACQ_PROP_DMA_RGB; } else if (in_fmt->fmt_type == FMT_YUV) { acq_mult = 2; - if (sensor && sensor->mbus.type == V4L2_MBUS_CSI2) { + if (sensor && (sensor->mbus.type == V4L2_MBUS_CSI2_DPHY || + sensor->mbus.type == V4L2_MBUS_CCP2)) { isp_ctrl = CIF_ISP_CTRL_ISP_MODE_ITU601; } else { if (sensor && sensor->mbus.type == V4L2_MBUS_BT656) @@ -595,7 +601,7 @@ ret = rkisp1_config_dvp(dev); dpcl |= CIF_VI_DPCL_IF_SEL_PARALLEL; dev->isp_inp = INP_DVP; - } else if (sensor && sensor->mbus.type == V4L2_MBUS_CSI2) { + } else if (sensor && sensor->mbus.type == V4L2_MBUS_CSI2_DPHY) { ret = rkisp1_config_mipi(dev); dpcl |= CIF_VI_DPCL_IF_SEL_MIPI; dev->isp_inp = INP_CSI; @@ -822,7 +828,7 @@ dev->stream[RKISP1_STREAM_MP].streaming); /* Activate MIPI */ - if (sensor && sensor->mbus.type == V4L2_MBUS_CSI2) { + if (sensor && sensor->mbus.type == V4L2_MBUS_CSI2_DPHY) { #if RKISP1_RK3326_USE_OLDMIPI if (dev->isp_ver == ISP_V13) { #else @@ -1250,6 +1256,8 @@ const struct ispsd_in_fmt *in_fmt; in_fmt = find_in_fmt(mf->code); + if (!in_fmt) + goto err; isp_sd->in_fmt = *in_fmt; isp_sd->in_frm = *mf; } else if (fmt->pad == RKISP1_ISP_PAD_SOURCE_PATH) { @@ -1257,6 +1265,8 @@ /* Ignore width/height */ out_fmt = find_out_fmt(mf->code); + if (!out_fmt) + goto err; isp_sd->out_fmt = *out_fmt; /* * It is quantization for output, @@ -1476,7 +1486,7 @@ } } else { rkisp1_config_clk(isp_dev, on); - ret = pm_runtime_put(isp_dev->dev); + ret = pm_runtime_put_sync(isp_dev->dev); if (ret < 0) return ret; } @@ -1763,7 +1773,7 @@ if (isp_mis & CIF_ISP_V_START) { if (dev->stream[RKISP1_STREAM_SP].interlaced) { /* 0 = ODD 1 = EVEN */ - if (dev->active_sensor->mbus.type == V4L2_MBUS_CSI2) { + if (dev->active_sensor->mbus.type == V4L2_MBUS_CSI2_DPHY) { void __iomem *addr = NULL; if (dev->isp_ver == ISP_V10 || -- Gitblit v1.6.2