This is an automatic generated email to let you know that the following patch 
were queued:

Subject: media: atomisp: Remove redundant atomisp_subdev_set_selection() calls 
from atomisp_set_fmt()
Author:  Hans de Goede <[email protected]>
Date:    Mon May 29 11:37:28 2023 +0100

atomisp_subdev_set_selection(sink-pad, V4L2_SEL_TGT_CROP, rect)
ignores the passed in rect, using the width and height from the last
atomisp_subdev_set_ffmt(ATOMISP_SUBDEV_PAD_SINK, ffmt) call instead.

The atomisp_subdev_set_ffmt() call done by atomisp_set_fmt_to_snr()
already propagates the sink ffmt changes to V4L2_SEL_TGT_CROP
(this is what allows atomisp_set_fmt() to get the isp_sink_crop in
the first place).

Remove the redundant atomisp_subdev_set_selection(sink-pad, ...)
calls.

Note the removed aspect ratio correction in the last else block is
is already done by atomisp_subdev_set_selection() itself when
setting V4L2_SEL_TGT_COMPOSE on the source-pad.

Link: https://lore.kernel.org/r/[email protected]

Signed-off-by: Hans de Goede <[email protected]>
Reviewed-by: Andy Shevchenko <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>

 drivers/staging/media/atomisp/pci/atomisp_cmd.c | 33 -------------------------
 1 file changed, 33 deletions(-)

---

diff --git a/drivers/staging/media/atomisp/pci/atomisp_cmd.c 
b/drivers/staging/media/atomisp/pci/atomisp_cmd.c
index 748cb78d1ee8..36618d2eba72 100644
--- a/drivers/staging/media/atomisp/pci/atomisp_cmd.c
+++ b/drivers/staging/media/atomisp/pci/atomisp_cmd.c
@@ -4327,12 +4327,6 @@ int atomisp_set_fmt(struct video_device *vdev, struct 
v4l2_format *f)
                isp_sink_crop.width = f->fmt.pix.width;
                isp_sink_crop.height = f->fmt.pix.height;
 
-               atomisp_subdev_set_selection(&asd->subdev, fh.state,
-                                            V4L2_SUBDEV_FORMAT_ACTIVE,
-                                            ATOMISP_SUBDEV_PAD_SINK,
-                                            V4L2_SEL_TGT_CROP,
-                                            V4L2_SEL_FLAG_KEEP_CONFIG,
-                                            &isp_sink_crop);
                atomisp_subdev_set_selection(&asd->subdev, fh.state,
                                             V4L2_SUBDEV_FORMAT_ACTIVE,
                                             ATOMISP_SUBDEV_PAD_SOURCE, 
V4L2_SEL_TGT_COMPOSE,
@@ -4358,38 +4352,11 @@ int atomisp_set_fmt(struct video_device *vdev, struct 
v4l2_format *f)
                                             V4L2_SEL_TGT_COMPOSE, 0,
                                             &main_compose);
        } else {
-               struct v4l2_rect sink_crop = {0};
                struct v4l2_rect main_compose = {0};
 
                main_compose.width = f->fmt.pix.width;
                main_compose.height = f->fmt.pix.height;
 
-               /* WORKAROUND: this override is universally enabled in
-                * GMIN to work around a CTS failures (GMINL-539)
-                * which appears to be related by a hardware
-                * performance limitation.  It's unclear why this
-                * particular code triggers the issue. */
-               if (isp_sink_crop.width * main_compose.height >
-                   isp_sink_crop.height * main_compose.width) {
-                       sink_crop.height = isp_sink_crop.height;
-                       sink_crop.width =
-                               DIV_NEAREST_STEP(sink_crop.height * 
f->fmt.pix.width,
-                                                f->fmt.pix.height,
-                                                ATOM_ISP_STEP_WIDTH);
-               } else {
-                       sink_crop.width = isp_sink_crop.width;
-                       sink_crop.height =
-                               DIV_NEAREST_STEP(sink_crop.width * 
f->fmt.pix.height,
-                                                f->fmt.pix.width,
-                                                ATOM_ISP_STEP_HEIGHT);
-               }
-               atomisp_subdev_set_selection(&asd->subdev, fh.state,
-                                            V4L2_SUBDEV_FORMAT_ACTIVE,
-                                            ATOMISP_SUBDEV_PAD_SINK,
-                                            V4L2_SEL_TGT_CROP,
-                                            V4L2_SEL_FLAG_KEEP_CONFIG,
-                                            &sink_crop);
-
                atomisp_subdev_set_selection(&asd->subdev, fh.state,
                                             V4L2_SUBDEV_FORMAT_ACTIVE,
                                             ATOMISP_SUBDEV_PAD_SOURCE,

_______________________________________________
linuxtv-commits mailing list
[email protected]
https://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to