diff options
| author | Lukasz Majczak <lmajczak@google.com> | 2021-07-28 14:39:08 +0200 |
|---|---|---|
| committer | Google Cont Rebase <goog-rebase-dev@semihalf.com> | 2021-08-17 14:25:29 +0200 |
| commit | e56ec43c5d29d49e540a3883be0a5d2ffa441103 (patch) | |
| tree | 48d9de6f2bc155faa82d530acda2cbdba66ca5ce | |
| parent | 2331db3a85ce59194e2af2f127b87f22cdb8b3a3 (diff) | |
| download | chromeos-e56ec43c5d29d49e540a3883be0a5d2ffa441103.tar.gz | |
FIXUP:media: v4l2-subdev: add subdev-wide state struct
Change-Id: Iccec7404f786a42c278fb0c4614f51ebe8bdbe95
| -rw-r--r-- | drivers/media/pci/intel/ipu-isys-csi2-be-soc.c | 18 | ||||
| -rw-r--r-- | drivers/media/pci/intel/ipu-isys-csi2-be.c | 22 | ||||
| -rw-r--r-- | drivers/media/pci/intel/ipu-isys-csi2.c | 14 | ||||
| -rw-r--r-- | drivers/media/pci/intel/ipu-isys-subdev.c | 77 | ||||
| -rw-r--r-- | drivers/media/pci/intel/ipu-isys-subdev.h | 23 | ||||
| -rw-r--r-- | drivers/media/platform/mtk-isp/isp_50/dip/mtk_dip-v4l2.c | 20 | ||||
| -rw-r--r-- | drivers/media/platform/mtk-isp/isp_50/seninf/mtk_seninf.c | 14 |
7 files changed, 93 insertions, 95 deletions
diff --git a/drivers/media/pci/intel/ipu-isys-csi2-be-soc.c b/drivers/media/pci/intel/ipu-isys-csi2-be-soc.c index daaed97d1b137..ef381facb5ba6 100644 --- a/drivers/media/pci/intel/ipu-isys-csi2-be-soc.c +++ b/drivers/media/pci/intel/ipu-isys-csi2-be-soc.c @@ -116,7 +116,7 @@ __subdev_link_validate(struct v4l2_subdev *sd, struct media_link *link, static int ipu_isys_csi2_be_soc_set_sel(struct v4l2_subdev *sd, - struct v4l2_subdev_pad_config *cfg, + struct v4l2_subdev_state *state, struct v4l2_subdev_selection *sel) { struct ipu_isys_subdev *asd = to_ipu_isys_subdev(sd); @@ -128,7 +128,7 @@ ipu_isys_csi2_be_soc_set_sel(struct v4l2_subdev *sd, enum isys_subdev_prop_tgt tgt = IPU_ISYS_SUBDEV_PROP_TGT_SOURCE_CROP; struct v4l2_mbus_framefmt *ffmt = - __ipu_isys_get_ffmt(sd, cfg, sel->pad, sel->which); + __ipu_isys_get_ffmt(sd, state, sel->pad, sel->which); if (get_supported_code_index(ffmt->code) < 0) { /* Non-bayer formats can't be odd lines cropped */ @@ -142,9 +142,9 @@ ipu_isys_csi2_be_soc_set_sel(struct v4l2_subdev *sd, sel->r.height = clamp(sel->r.height, IPU_ISYS_MIN_HEIGHT, IPU_ISYS_MAX_HEIGHT); - *__ipu_isys_get_selection(sd, cfg, sel->target, sel->pad, + *__ipu_isys_get_selection(sd, state, sel->target, sel->pad, sel->which) = sel->r; - ipu_isys_subdev_fmt_propagate(sd, cfg, NULL, &sel->r, + ipu_isys_subdev_fmt_propagate(sd, state, NULL, &sel->r, tgt, sel->pad, sel->which); return 0; } @@ -171,11 +171,11 @@ static struct media_entity_operations csi2_be_soc_entity_ops = { }; static void csi2_be_soc_set_ffmt(struct v4l2_subdev *sd, - struct v4l2_subdev_pad_config *cfg, + struct v4l2_subdev_state *state, struct v4l2_subdev_format *fmt) { struct v4l2_mbus_framefmt *ffmt = - __ipu_isys_get_ffmt(sd, cfg, fmt->pad, + __ipu_isys_get_ffmt(sd, state, fmt->pad, fmt->which); if (sd->entity.pads[fmt->pad].flags & MEDIA_PAD_FL_SINK) { @@ -183,19 +183,19 @@ static void csi2_be_soc_set_ffmt(struct v4l2_subdev *sd, fmt->format.field = V4L2_FIELD_NONE; *ffmt = fmt->format; - ipu_isys_subdev_fmt_propagate(sd, cfg, &fmt->format, + ipu_isys_subdev_fmt_propagate(sd, state, &fmt->format, NULL, IPU_ISYS_SUBDEV_PROP_TGT_SINK_FMT, fmt->pad, fmt->which); } else if (sd->entity.pads[fmt->pad].flags & MEDIA_PAD_FL_SOURCE) { struct v4l2_mbus_framefmt *sink_ffmt; - struct v4l2_rect *r = __ipu_isys_get_selection(sd, cfg, + struct v4l2_rect *r = __ipu_isys_get_selection(sd, state, V4L2_SEL_TGT_CROP, fmt->pad, fmt->which); struct ipu_isys_subdev *asd = to_ipu_isys_subdev(sd); u32 code; int idx; - sink_ffmt = __ipu_isys_get_ffmt(sd, cfg, 0, fmt->which); + sink_ffmt = __ipu_isys_get_ffmt(sd, state, 0, fmt->which); code = sink_ffmt->code; idx = get_supported_code_index(code); diff --git a/drivers/media/pci/intel/ipu-isys-csi2-be.c b/drivers/media/pci/intel/ipu-isys-csi2-be.c index 99ceb607fedad..61a22e416d07d 100644 --- a/drivers/media/pci/intel/ipu-isys-csi2-be.c +++ b/drivers/media/pci/intel/ipu-isys-csi2-be.c @@ -93,7 +93,7 @@ static int get_supported_code_index(u32 code) } static int ipu_isys_csi2_be_set_sel(struct v4l2_subdev *sd, - struct v4l2_subdev_pad_config *cfg, + struct v4l2_subdev_state *state, struct v4l2_subdev_selection *sel) { struct ipu_isys_subdev *asd = to_ipu_isys_subdev(sd); @@ -103,9 +103,9 @@ static int ipu_isys_csi2_be_set_sel(struct v4l2_subdev *sd, pad->flags & MEDIA_PAD_FL_SOURCE && asd->valid_tgts[CSI2_BE_PAD_SOURCE].crop) { struct v4l2_mbus_framefmt *ffmt = - __ipu_isys_get_ffmt(sd, cfg, sel->pad, sel->which); + __ipu_isys_get_ffmt(sd, state, sel->pad, sel->which); struct v4l2_rect *r = __ipu_isys_get_selection - (sd, cfg, sel->target, CSI2_BE_PAD_SINK, sel->which); + (sd, state, sel->target, CSI2_BE_PAD_SINK, sel->which); if (get_supported_code_index(ffmt->code) < 0) { /* Non-bayer formats can't be single line cropped */ @@ -127,15 +127,15 @@ static int ipu_isys_csi2_be_set_sel(struct v4l2_subdev *sd, */ sel->r.height = clamp(sel->r.height, IPU_ISYS_MIN_HEIGHT, r->height); - *__ipu_isys_get_selection(sd, cfg, sel->target, sel->pad, + *__ipu_isys_get_selection(sd, state, sel->target, sel->pad, sel->which) = sel->r; ipu_isys_subdev_fmt_propagate - (sd, cfg, NULL, &sel->r, + (sd, state, NULL, &sel->r, IPU_ISYS_SUBDEV_PROP_TGT_SOURCE_CROP, sel->pad, sel->which); return 0; } - return ipu_isys_subdev_set_sel(sd, cfg, sel); + return ipu_isys_subdev_set_sel(sd, state, sel); } static const struct v4l2_subdev_pad_ops csi2_be_sd_pad_ops = { @@ -158,12 +158,12 @@ static struct media_entity_operations csi2_be_entity_ops = { }; static void csi2_be_set_ffmt(struct v4l2_subdev *sd, - struct v4l2_subdev_pad_config *cfg, + struct v4l2_subdev_state *state, struct v4l2_subdev_format *fmt) { struct ipu_isys_csi2 *csi2 = to_ipu_isys_csi2(sd); struct v4l2_mbus_framefmt *ffmt = - __ipu_isys_get_ffmt(sd, cfg, fmt->pad, fmt->which); + __ipu_isys_get_ffmt(sd, state, fmt->pad, fmt->which); switch (fmt->pad) { case CSI2_BE_PAD_SINK: @@ -172,15 +172,15 @@ static void csi2_be_set_ffmt(struct v4l2_subdev *sd, *ffmt = fmt->format; ipu_isys_subdev_fmt_propagate - (sd, cfg, &fmt->format, NULL, + (sd, state, &fmt->format, NULL, IPU_ISYS_SUBDEV_PROP_TGT_SINK_FMT, fmt->pad, fmt->which); return; case CSI2_BE_PAD_SOURCE: { struct v4l2_mbus_framefmt *sink_ffmt = - __ipu_isys_get_ffmt(sd, cfg, CSI2_BE_PAD_SINK, + __ipu_isys_get_ffmt(sd, state, CSI2_BE_PAD_SINK, fmt->which); struct v4l2_rect *r = - __ipu_isys_get_selection(sd, cfg, V4L2_SEL_TGT_CROP, + __ipu_isys_get_selection(sd, state, V4L2_SEL_TGT_CROP, CSI2_BE_PAD_SOURCE, fmt->which); struct ipu_isys_subdev *asd = to_ipu_isys_subdev(sd); diff --git a/drivers/media/pci/intel/ipu-isys-csi2.c b/drivers/media/pci/intel/ipu-isys-csi2.c index 4437e1bf88b2d..d202fa6fb9ca8 100644 --- a/drivers/media/pci/intel/ipu-isys-csi2.c +++ b/drivers/media/pci/intel/ipu-isys-csi2.c @@ -314,17 +314,17 @@ static const struct v4l2_subdev_video_ops csi2_sd_video_ops = { }; static int ipu_isys_csi2_get_fmt(struct v4l2_subdev *sd, - struct v4l2_subdev_pad_config *cfg, + struct v4l2_subdev_state *state, struct v4l2_subdev_format *fmt) { - return ipu_isys_subdev_get_ffmt(sd, cfg, fmt); + return ipu_isys_subdev_get_ffmt(sd, state, fmt); } static int ipu_isys_csi2_set_fmt(struct v4l2_subdev *sd, - struct v4l2_subdev_pad_config *cfg, + struct v4l2_subdev_state *state, struct v4l2_subdev_format *fmt) { - return ipu_isys_subdev_set_ffmt(sd, cfg, fmt); + return ipu_isys_subdev_set_ffmt(sd, state, fmt); } static int __subdev_link_validate(struct v4l2_subdev *sd, @@ -360,12 +360,12 @@ static struct media_entity_operations csi2_entity_ops = { }; static void csi2_set_ffmt(struct v4l2_subdev *sd, - struct v4l2_subdev_pad_config *cfg, + struct v4l2_subdev_state *state, struct v4l2_subdev_format *fmt) { enum isys_subdev_prop_tgt tgt = IPU_ISYS_SUBDEV_PROP_TGT_SINK_FMT; struct v4l2_mbus_framefmt *ffmt = - __ipu_isys_get_ffmt(sd, cfg, fmt->pad, + __ipu_isys_get_ffmt(sd, state, fmt->pad, fmt->which); if (fmt->format.field != V4L2_FIELD_ALTERNATE) @@ -373,7 +373,7 @@ static void csi2_set_ffmt(struct v4l2_subdev *sd, if (fmt->pad == CSI2_PAD_SINK) { *ffmt = fmt->format; - ipu_isys_subdev_fmt_propagate(sd, cfg, &fmt->format, NULL, + ipu_isys_subdev_fmt_propagate(sd, state, &fmt->format, NULL, tgt, fmt->pad, fmt->which); return; } diff --git a/drivers/media/pci/intel/ipu-isys-subdev.c b/drivers/media/pci/intel/ipu-isys-subdev.c index 71a5fa592d446..68c4a8492a165 100644 --- a/drivers/media/pci/intel/ipu-isys-subdev.c +++ b/drivers/media/pci/intel/ipu-isys-subdev.c @@ -134,8 +134,7 @@ u32 ipu_isys_subdev_code_to_uncompressed(u32 sink_code) } struct v4l2_mbus_framefmt *__ipu_isys_get_ffmt(struct v4l2_subdev *sd, - struct v4l2_subdev_pad_config - *cfg, + struct v4l2_subdev_state *state, unsigned int pad, unsigned int which) { @@ -144,11 +143,11 @@ struct v4l2_mbus_framefmt *__ipu_isys_get_ffmt(struct v4l2_subdev *sd, if (which == V4L2_SUBDEV_FORMAT_ACTIVE) return &asd->ffmt[pad]; else - return v4l2_subdev_get_try_format(sd, cfg, pad); + return v4l2_subdev_get_try_format(sd, state, pad); } struct v4l2_rect *__ipu_isys_get_selection(struct v4l2_subdev *sd, - struct v4l2_subdev_pad_config *cfg, + struct v4l2_subdev_state *state, unsigned int target, unsigned int pad, unsigned int which) { @@ -164,9 +163,9 @@ struct v4l2_rect *__ipu_isys_get_selection(struct v4l2_subdev *sd, } else { switch (target) { case V4L2_SEL_TGT_CROP: - return v4l2_subdev_get_try_crop(sd, cfg, pad); + return v4l2_subdev_get_try_crop(sd, state, pad); case V4L2_SEL_TGT_COMPOSE: - return v4l2_subdev_get_try_compose(sd, cfg, pad); + return v4l2_subdev_get_try_compose(sd, state, pad); } } WARN_ON(1); @@ -189,7 +188,7 @@ static int target_valid(struct v4l2_subdev *sd, unsigned int target, } int ipu_isys_subdev_fmt_propagate(struct v4l2_subdev *sd, - struct v4l2_subdev_pad_config *cfg, + struct v4l2_subdev_state *state, struct v4l2_mbus_framefmt *ffmt, struct v4l2_rect *r, enum isys_subdev_prop_tgt tgt, @@ -228,10 +227,10 @@ int ipu_isys_subdev_fmt_propagate(struct v4l2_subdev *sd, } for (i = 0; i < sd->entity.num_pads; i++) { - ffmts[i] = __ipu_isys_get_ffmt(sd, cfg, i, which); - crops[i] = __ipu_isys_get_selection(sd, cfg, V4L2_SEL_TGT_CROP, + ffmts[i] = __ipu_isys_get_ffmt(sd, state, i, which); + crops[i] = __ipu_isys_get_selection(sd, state, V4L2_SEL_TGT_CROP, i, which); - compose[i] = __ipu_isys_get_selection(sd, cfg, + compose[i] = __ipu_isys_get_selection(sd, state, V4L2_SEL_TGT_COMPOSE, i, which); } @@ -242,7 +241,7 @@ int ipu_isys_subdev_fmt_propagate(struct v4l2_subdev *sd, crops[pad]->top = 0; crops[pad]->width = ffmt->width; crops[pad]->height = ffmt->height; - rval = ipu_isys_subdev_fmt_propagate(sd, cfg, ffmt, crops[pad], + rval = ipu_isys_subdev_fmt_propagate(sd, state, ffmt, crops[pad], tgt + 1, pad, which); goto out_subdev_fmt_propagate; case IPU_ISYS_SUBDEV_PROP_TGT_SINK_CROP: @@ -253,7 +252,7 @@ int ipu_isys_subdev_fmt_propagate(struct v4l2_subdev *sd, compose[pad]->top = 0; compose[pad]->width = r->width; compose[pad]->height = r->height; - rval = ipu_isys_subdev_fmt_propagate(sd, cfg, ffmt, + rval = ipu_isys_subdev_fmt_propagate(sd, state, ffmt, compose[pad], tgt + 1, pad, which); goto out_subdev_fmt_propagate; @@ -272,7 +271,7 @@ int ipu_isys_subdev_fmt_propagate(struct v4l2_subdev *sd, compose[i]->top = 0; compose[i]->width = r->width; compose[i]->height = r->height; - rval = ipu_isys_subdev_fmt_propagate(sd, cfg, + rval = ipu_isys_subdev_fmt_propagate(sd, state, ffmt, compose[i], tgt + 1, i, @@ -291,7 +290,7 @@ int ipu_isys_subdev_fmt_propagate(struct v4l2_subdev *sd, crops[pad]->top = 0; crops[pad]->width = r->width; crops[pad]->height = r->height; - rval = ipu_isys_subdev_fmt_propagate(sd, cfg, ffmt, + rval = ipu_isys_subdev_fmt_propagate(sd, state, ffmt, crops[pad], tgt + 1, pad, which); goto out_subdev_fmt_propagate; @@ -313,7 +312,7 @@ int ipu_isys_subdev_fmt_propagate(struct v4l2_subdev *sd, }, }; - asd->set_ffmt(sd, cfg, &fmt); + asd->set_ffmt(sd, state, &fmt); goto out_subdev_fmt_propagate; } } @@ -326,16 +325,16 @@ out_subdev_fmt_propagate: } int ipu_isys_subdev_set_ffmt_default(struct v4l2_subdev *sd, - struct v4l2_subdev_pad_config *cfg, + struct v4l2_subdev_state *state, struct v4l2_subdev_format *fmt) { struct v4l2_mbus_framefmt *ffmt = - __ipu_isys_get_ffmt(sd, cfg, fmt->pad, fmt->which); + __ipu_isys_get_ffmt(sd, state, fmt->pad, fmt->which); /* No propagation for non-zero pads. */ if (fmt->pad) { struct v4l2_mbus_framefmt *sink_ffmt = - __ipu_isys_get_ffmt(sd, cfg, 0, fmt->which); + __ipu_isys_get_ffmt(sd, state, 0, fmt->which); ffmt->width = sink_ffmt->width; ffmt->height = sink_ffmt->height; @@ -350,18 +349,18 @@ int ipu_isys_subdev_set_ffmt_default(struct v4l2_subdev *sd, ffmt->code = fmt->format.code; ffmt->field = fmt->format.field; - return ipu_isys_subdev_fmt_propagate(sd, cfg, &fmt->format, NULL, + return ipu_isys_subdev_fmt_propagate(sd, state, &fmt->format, NULL, IPU_ISYS_SUBDEV_PROP_TGT_SINK_FMT, fmt->pad, fmt->which); } int __ipu_isys_subdev_set_ffmt(struct v4l2_subdev *sd, - struct v4l2_subdev_pad_config *cfg, + struct v4l2_subdev_state *state, struct v4l2_subdev_format *fmt) { struct ipu_isys_subdev *asd = to_ipu_isys_subdev(sd); struct v4l2_mbus_framefmt *ffmt = - __ipu_isys_get_ffmt(sd, cfg, fmt->pad, fmt->which); + __ipu_isys_get_ffmt(sd, state, fmt->pad, fmt->which); u32 code = asd->supported_codes[fmt->pad][0]; unsigned int i; @@ -381,7 +380,7 @@ int __ipu_isys_subdev_set_ffmt(struct v4l2_subdev *sd, fmt->format.code = code; - asd->set_ffmt(sd, cfg, fmt); + asd->set_ffmt(sd, state, fmt); fmt->format = *ffmt; @@ -389,27 +388,27 @@ int __ipu_isys_subdev_set_ffmt(struct v4l2_subdev *sd, } int ipu_isys_subdev_set_ffmt(struct v4l2_subdev *sd, - struct v4l2_subdev_pad_config *cfg, + struct v4l2_subdev_state *state, struct v4l2_subdev_format *fmt) { struct ipu_isys_subdev *asd = to_ipu_isys_subdev(sd); int rval; mutex_lock(&asd->mutex); - rval = __ipu_isys_subdev_set_ffmt(sd, cfg, fmt); + rval = __ipu_isys_subdev_set_ffmt(sd, state, fmt); mutex_unlock(&asd->mutex); return rval; } int ipu_isys_subdev_get_ffmt(struct v4l2_subdev *sd, - struct v4l2_subdev_pad_config *cfg, + struct v4l2_subdev_state *state, struct v4l2_subdev_format *fmt) { struct ipu_isys_subdev *asd = to_ipu_isys_subdev(sd); mutex_lock(&asd->mutex); - fmt->format = *__ipu_isys_get_ffmt(sd, cfg, fmt->pad, + fmt->format = *__ipu_isys_get_ffmt(sd, state, fmt->pad, fmt->which); mutex_unlock(&asd->mutex); @@ -417,7 +416,7 @@ int ipu_isys_subdev_get_ffmt(struct v4l2_subdev *sd, } int ipu_isys_subdev_set_sel(struct v4l2_subdev *sd, - struct v4l2_subdev_pad_config *cfg, + struct v4l2_subdev_state *state, struct v4l2_subdev_selection *sel) { struct ipu_isys_subdev *asd = to_ipu_isys_subdev(sd); @@ -432,7 +431,7 @@ int ipu_isys_subdev_set_sel(struct v4l2_subdev *sd, case V4L2_SEL_TGT_CROP: if (pad->flags & MEDIA_PAD_FL_SINK) { struct v4l2_mbus_framefmt *ffmt = - __ipu_isys_get_ffmt(sd, cfg, sel->pad, + __ipu_isys_get_ffmt(sd, state, sel->pad, sel->which); __r.width = ffmt->width; @@ -441,7 +440,7 @@ int ipu_isys_subdev_set_sel(struct v4l2_subdev *sd, tgt = IPU_ISYS_SUBDEV_PROP_TGT_SINK_CROP; } else { /* 0 is the sink pad. */ - r = __ipu_isys_get_selection(sd, cfg, sel->target, 0, + r = __ipu_isys_get_selection(sd, state, sel->target, 0, sel->which); tgt = IPU_ISYS_SUBDEV_PROP_TGT_SOURCE_CROP; } @@ -449,11 +448,11 @@ int ipu_isys_subdev_set_sel(struct v4l2_subdev *sd, break; case V4L2_SEL_TGT_COMPOSE: if (pad->flags & MEDIA_PAD_FL_SINK) { - r = __ipu_isys_get_selection(sd, cfg, V4L2_SEL_TGT_CROP, + r = __ipu_isys_get_selection(sd, state, V4L2_SEL_TGT_CROP, sel->pad, sel->which); tgt = IPU_ISYS_SUBDEV_PROP_TGT_SINK_COMPOSE; } else { - r = __ipu_isys_get_selection(sd, cfg, + r = __ipu_isys_get_selection(sd, state, V4L2_SEL_TGT_COMPOSE, 0, sel->which); tgt = IPU_ISYS_SUBDEV_PROP_TGT_SOURCE_COMPOSE; @@ -465,27 +464,27 @@ int ipu_isys_subdev_set_sel(struct v4l2_subdev *sd, sel->r.width = clamp(sel->r.width, IPU_ISYS_MIN_WIDTH, r->width); sel->r.height = clamp(sel->r.height, IPU_ISYS_MIN_HEIGHT, r->height); - *__ipu_isys_get_selection(sd, cfg, sel->target, sel->pad, + *__ipu_isys_get_selection(sd, state, sel->target, sel->pad, sel->which) = sel->r; - return ipu_isys_subdev_fmt_propagate(sd, cfg, NULL, &sel->r, tgt, + return ipu_isys_subdev_fmt_propagate(sd, state, NULL, &sel->r, tgt, sel->pad, sel->which); } int ipu_isys_subdev_get_sel(struct v4l2_subdev *sd, - struct v4l2_subdev_pad_config *cfg, + struct v4l2_subdev_state *state, struct v4l2_subdev_selection *sel) { if (!target_valid(sd, sel->target, sel->pad)) return -EINVAL; - sel->r = *__ipu_isys_get_selection(sd, cfg, sel->target, + sel->r = *__ipu_isys_get_selection(sd, state, sel->target, sel->pad, sel->which); return 0; } int ipu_isys_subdev_enum_mbus_code(struct v4l2_subdev *sd, - struct v4l2_subdev_pad_config *cfg, + struct v4l2_subdev_state *state, struct v4l2_subdev_mbus_code_enum *code) { struct ipu_isys_subdev *asd = to_ipu_isys_subdev(sd); @@ -555,11 +554,11 @@ int ipu_isys_subdev_open(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh) for (i = 0; i < asd->sd.entity.num_pads; i++) { struct v4l2_mbus_framefmt *try_fmt = - v4l2_subdev_get_try_format(sd, fh->pad, i); + v4l2_subdev_get_try_format(sd, fh->state, i); struct v4l2_rect *try_crop = - v4l2_subdev_get_try_crop(sd, fh->pad, i); + v4l2_subdev_get_try_crop(sd, fh->state, i); struct v4l2_rect *try_compose = - v4l2_subdev_get_try_compose(sd, fh->pad, i); + v4l2_subdev_get_try_compose(sd, fh->state, i); *try_fmt = asd->ffmt[i]; *try_crop = asd->crop[i]; diff --git a/drivers/media/pci/intel/ipu-isys-subdev.h b/drivers/media/pci/intel/ipu-isys-subdev.h index 35eb9d1d3cb73..d16d95670f992 100644 --- a/drivers/media/pci/intel/ipu-isys-subdev.h +++ b/drivers/media/pci/intel/ipu-isys-subdev.h @@ -75,7 +75,7 @@ struct ipu_isys_subdev { struct v4l2_ctrl_handler ctrl_handler; void (*ctrl_init)(struct v4l2_subdev *sd); void (*set_ffmt)(struct v4l2_subdev *sd, - struct v4l2_subdev_pad_config *cfg, + struct v4l2_subdev_state *state, struct v4l2_subdev_format *fmt); struct { bool crop; @@ -90,8 +90,7 @@ struct ipu_isys_subdev { container_of(__sd, struct ipu_isys_subdev, sd) struct v4l2_mbus_framefmt *__ipu_isys_get_ffmt(struct v4l2_subdev *sd, - struct v4l2_subdev_pad_config - *cfg, + struct v4l2_subdev_state *state, unsigned int pad, unsigned int which); @@ -102,37 +101,37 @@ u32 ipu_isys_subdev_code_to_uncompressed(u32 sink_code); enum ipu_isys_subdev_pixelorder ipu_isys_subdev_get_pixelorder(u32 code); int ipu_isys_subdev_fmt_propagate(struct v4l2_subdev *sd, - struct v4l2_subdev_pad_config *cfg, + struct v4l2_subdev_state *state, struct v4l2_mbus_framefmt *ffmt, struct v4l2_rect *r, enum isys_subdev_prop_tgt tgt, unsigned int pad, unsigned int which); int ipu_isys_subdev_set_ffmt_default(struct v4l2_subdev *sd, - struct v4l2_subdev_pad_config *cfg, + struct v4l2_subdev_state *state, struct v4l2_subdev_format *fmt); int __ipu_isys_subdev_set_ffmt(struct v4l2_subdev *sd, - struct v4l2_subdev_pad_config *cfg, + struct v4l2_subdev_state *state, struct v4l2_subdev_format *fmt); struct v4l2_rect *__ipu_isys_get_selection(struct v4l2_subdev *sd, - struct v4l2_subdev_pad_config *cfg, + struct v4l2_subdev_state *state, unsigned int target, unsigned int pad, unsigned int which); int ipu_isys_subdev_set_ffmt(struct v4l2_subdev *sd, - struct v4l2_subdev_pad_config *cfg, + struct v4l2_subdev_state *state, struct v4l2_subdev_format *fmt); int ipu_isys_subdev_get_ffmt(struct v4l2_subdev *sd, - struct v4l2_subdev_pad_config *cfg, + struct v4l2_subdev_state *state, struct v4l2_subdev_format *fmt); int ipu_isys_subdev_get_sel(struct v4l2_subdev *sd, - struct v4l2_subdev_pad_config *cfg, + struct v4l2_subdev_state *state, struct v4l2_subdev_selection *sel); int ipu_isys_subdev_set_sel(struct v4l2_subdev *sd, - struct v4l2_subdev_pad_config *cfg, + struct v4l2_subdev_state *state, struct v4l2_subdev_selection *sel); int ipu_isys_subdev_enum_mbus_code(struct v4l2_subdev *sd, - struct v4l2_subdev_pad_config *cfg, + struct v4l2_subdev_state *state, struct v4l2_subdev_mbus_code_enum *code); int ipu_isys_subdev_link_validate(struct v4l2_subdev *sd, diff --git a/drivers/media/platform/mtk-isp/isp_50/dip/mtk_dip-v4l2.c b/drivers/media/platform/mtk-isp/isp_50/dip/mtk_dip-v4l2.c index 232c45ff5f90c..be5a9d0aac00d 100644 --- a/drivers/media/platform/mtk-isp/isp_50/dip/mtk_dip-v4l2.c +++ b/drivers/media/platform/mtk-isp/isp_50/dip/mtk_dip-v4l2.c @@ -28,9 +28,9 @@ static int mtk_dip_subdev_open(struct v4l2_subdev *sd, struct mtk_dip_pipe *pipe = mtk_dip_subdev_to_pipe(sd); for (i = 0; i < pipe->desc->total_queues; i++) { - *v4l2_subdev_get_try_format(&pipe->subdev, fh->pad, i) = + *v4l2_subdev_get_try_format(&pipe->subdev, fh->state, i) = pipe->nodes[i].pad_fmt; - *v4l2_subdev_get_try_crop(&pipe->subdev, fh->pad, i) = + *v4l2_subdev_get_try_crop(&pipe->subdev, fh->state, i) = pipe->nodes[i].crop; } @@ -61,7 +61,7 @@ static int mtk_dip_subdev_s_stream(struct v4l2_subdev *sd, } static int mtk_dip_subdev_get_fmt(struct v4l2_subdev *sd, - struct v4l2_subdev_pad_config *cfg, + struct v4l2_subdev_state *state, struct v4l2_subdev_format *fmt) { struct mtk_dip_pipe *dip_pipe = mtk_dip_subdev_to_pipe(sd); @@ -74,7 +74,7 @@ static int mtk_dip_subdev_get_fmt(struct v4l2_subdev *sd, if (fmt->which == V4L2_SUBDEV_FORMAT_ACTIVE) { fmt->format = dip_pipe->nodes[pad].pad_fmt; } else { - mf = v4l2_subdev_get_try_format(sd, cfg, pad); + mf = v4l2_subdev_get_try_format(sd, state, pad); fmt->format = *mf; } @@ -82,7 +82,7 @@ static int mtk_dip_subdev_get_fmt(struct v4l2_subdev *sd, } static int mtk_dip_subdev_set_fmt(struct v4l2_subdev *sd, - struct v4l2_subdev_pad_config *cfg, + struct v4l2_subdev_state *state, struct v4l2_subdev_format *fmt) { struct mtk_dip_pipe *dip_pipe = mtk_dip_subdev_to_pipe(sd); @@ -94,7 +94,7 @@ static int mtk_dip_subdev_set_fmt(struct v4l2_subdev *sd, return -EINVAL; if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) - mf = v4l2_subdev_get_try_format(sd, cfg, pad); + mf = v4l2_subdev_get_try_format(sd, state, pad); else mf = &dip_pipe->nodes[pad].pad_fmt; @@ -114,7 +114,7 @@ static int mtk_dip_subdev_set_fmt(struct v4l2_subdev *sd, } static int mtk_dip_subdev_get_selection(struct v4l2_subdev *sd, - struct v4l2_subdev_pad_config *cfg, + struct v4l2_subdev_state *state, struct v4l2_subdev_selection *sel) { struct v4l2_rect *try_sel, *r; @@ -130,7 +130,7 @@ static int mtk_dip_subdev_get_selection(struct v4l2_subdev *sd, switch (sel->target) { case V4L2_SEL_TGT_CROP: - try_sel = v4l2_subdev_get_try_crop(sd, cfg, sel->pad); + try_sel = v4l2_subdev_get_try_crop(sd, state, sel->pad); r = &dip_pipe->nodes[sel->pad].crop; /* effective resolution */ break; default: @@ -150,7 +150,7 @@ static int mtk_dip_subdev_get_selection(struct v4l2_subdev *sd, } static int mtk_dip_subdev_set_selection(struct v4l2_subdev *sd, - struct v4l2_subdev_pad_config *cfg, + struct v4l2_subdev_state *state, struct v4l2_subdev_selection *sel) { struct v4l2_rect *rect, *try_sel; @@ -166,7 +166,7 @@ static int mtk_dip_subdev_set_selection(struct v4l2_subdev *sd, switch (sel->target) { case V4L2_SEL_TGT_CROP: - try_sel = v4l2_subdev_get_try_crop(sd, cfg, sel->pad); + try_sel = v4l2_subdev_get_try_crop(sd, state, sel->pad); rect = &dip_pipe->nodes[sel->pad].crop; break; default: diff --git a/drivers/media/platform/mtk-isp/isp_50/seninf/mtk_seninf.c b/drivers/media/platform/mtk-isp/isp_50/seninf/mtk_seninf.c index 4ee2a9065b86c..7b1feba75ef35 100644 --- a/drivers/media/platform/mtk-isp/isp_50/seninf/mtk_seninf.c +++ b/drivers/media/platform/mtk-isp/isp_50/seninf/mtk_seninf.c @@ -495,13 +495,13 @@ static void init_fmt(struct mtk_seninf *priv) } static int seninf_init_cfg(struct v4l2_subdev *sd, - struct v4l2_subdev_pad_config *cfg) + struct v4l2_subdev_state *state) { struct v4l2_mbus_framefmt *mf; unsigned int i; for (i = 0; i < sd->entity.num_pads; i++) { - mf = v4l2_subdev_get_try_format(sd, cfg, i); + mf = v4l2_subdev_get_try_format(sd, state, i); *mf = mtk_seninf_default_fmt; } @@ -509,7 +509,7 @@ static int seninf_init_cfg(struct v4l2_subdev *sd, } static int seninf_set_fmt(struct v4l2_subdev *sd, - struct v4l2_subdev_pad_config *cfg, + struct v4l2_subdev_state *state, struct v4l2_subdev_format *fmt) { struct mtk_seninf *priv = container_of(sd, struct mtk_seninf, subdev); @@ -518,7 +518,7 @@ static int seninf_set_fmt(struct v4l2_subdev *sd, fmt->format.code = MEDIA_BUS_FMT_SBGGR10_1X10; if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) { - *v4l2_subdev_get_try_format(sd, cfg, fmt->pad) = fmt->format; + *v4l2_subdev_get_try_format(sd, state, fmt->pad) = fmt->format; } else { priv->fmt[fmt->pad].pad = fmt->pad; priv->fmt[fmt->pad].format.code = fmt->format.code; @@ -530,13 +530,13 @@ static int seninf_set_fmt(struct v4l2_subdev *sd, } static int seninf_get_fmt(struct v4l2_subdev *sd, - struct v4l2_subdev_pad_config *cfg, + struct v4l2_subdev_state *state, struct v4l2_subdev_format *fmt) { struct mtk_seninf *priv = container_of(sd, struct mtk_seninf, subdev); if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) { - fmt->format = *v4l2_subdev_get_try_format(sd, cfg, fmt->pad); + fmt->format = *v4l2_subdev_get_try_format(sd, state, fmt->pad); } else { fmt->format.code = priv->fmt[fmt->pad].format.code; fmt->format.width = priv->fmt[fmt->pad].format.width; @@ -553,7 +553,7 @@ static int seninf_get_fmt(struct v4l2_subdev *sd, } static int seninf_enum_mbus_code(struct v4l2_subdev *sd, - struct v4l2_subdev_pad_config *cfg, + struct v4l2_subdev_state *state, struct v4l2_subdev_mbus_code_enum *code) { struct mtk_seninf *priv = container_of(sd, struct mtk_seninf, subdev); |
