* [PATCH 1/2] media: imx: imx7-media-csi: Move stepwise framesize into a dedicated struct
@ 2023-07-20 7:41 Alexander Stein
2023-07-20 7:41 ` [PATCH 2/2] media: imx: imx7-media-csi: Fix applying format constraints Alexander Stein
0 siblings, 1 reply; 4+ messages in thread
From: Alexander Stein @ 2023-07-20 7:41 UTC (permalink / raw)
To: Rui Miguel Silva, Laurent Pinchart, Mauro Carvalho Chehab,
Shawn Guo, Sascha Hauer, Fabio Estevam, Tim Harvey
Cc: Alexander Stein, Pengutronix Kernel Team, NXP Linux Team,
linux-media, linux-arm-kernel
This way these constraints can be reused later on.
No functional change intended.
Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
---
drivers/media/platform/nxp/imx7-media-csi.c | 26 ++++++++++++---------
1 file changed, 15 insertions(+), 11 deletions(-)
diff --git a/drivers/media/platform/nxp/imx7-media-csi.c b/drivers/media/platform/nxp/imx7-media-csi.c
index 2f9302fc7570..73f8f2a35422 100644
--- a/drivers/media/platform/nxp/imx7-media-csi.c
+++ b/drivers/media/platform/nxp/imx7-media-csi.c
@@ -260,6 +260,20 @@ imx7_csi_notifier_to_dev(struct v4l2_async_notifier *n)
return container_of(n, struct imx7_csi, notifier);
}
+/*
+ * TODO: The constraints are hardware-specific and may depend on the
+ * pixel format. This should come from the driver using
+ * imx_media_capture.
+ */
+static const struct v4l2_frmsize_stepwise imx7_csi_frmsize_stepwise = {
+ .min_width = 1,
+ .min_height = 1,
+ .max_width = 65535,
+ .max_height = 65535,
+ .step_width = 1,
+ .step_height = 1,
+};
+
/* -----------------------------------------------------------------------------
* Hardware Configuration
*/
@@ -1082,18 +1096,8 @@ static int imx7_csi_video_enum_framesizes(struct file *file, void *fh,
if (!cc)
return -EINVAL;
- /*
- * TODO: The constraints are hardware-specific and may depend on the
- * pixel format. This should come from the driver using
- * imx_media_capture.
- */
fsize->type = V4L2_FRMSIZE_TYPE_CONTINUOUS;
- fsize->stepwise.min_width = 1;
- fsize->stepwise.max_width = 65535;
- fsize->stepwise.min_height = 1;
- fsize->stepwise.max_height = 65535;
- fsize->stepwise.step_width = 1;
- fsize->stepwise.step_height = 1;
+ fsize->stepwise = imx7_csi_frmsize_stepwise;
return 0;
}
--
2.34.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 4+ messages in thread* [PATCH 2/2] media: imx: imx7-media-csi: Fix applying format constraints
2023-07-20 7:41 [PATCH 1/2] media: imx: imx7-media-csi: Move stepwise framesize into a dedicated struct Alexander Stein
@ 2023-07-20 7:41 ` Alexander Stein
2023-07-20 10:19 ` Alexander Stein
2023-07-20 16:43 ` kernel test robot
0 siblings, 2 replies; 4+ messages in thread
From: Alexander Stein @ 2023-07-20 7:41 UTC (permalink / raw)
To: Rui Miguel Silva, Laurent Pinchart, Mauro Carvalho Chehab,
Shawn Guo, Sascha Hauer, Fabio Estevam, Tim Harvey
Cc: Alexander Stein, Pengutronix Kernel Team, NXP Linux Team,
linux-media, linux-arm-kernel
v4l_bound_align_image aligns to a multiple power of 2 of walign, but the
result only needs to be a multiple of walign. Fix this by using
v4l2_apply_frmsize_constraints() instead.
Reported-by: Tim Harvey <tharvey@gateworks.com>
Fixes: 6f482c4729d9 ("media: imx: imx7-media-csi: Get rid of superfluous call to imx7_csi_mbus_fmt_to_pix_fmt")
Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
---
Tim,
can you please test if this fixes your problem?
Apparently this issue only arises under specific conditions, e.g. 640/480/8bpp.
This issue does not show up for 640/480/10bpp.
drivers/media/platform/nxp/imx7-media-csi.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/media/platform/nxp/imx7-media-csi.c b/drivers/media/platform/nxp/imx7-media-csi.c
index 73f8f2a35422..523e5f039a5a 100644
--- a/drivers/media/platform/nxp/imx7-media-csi.c
+++ b/drivers/media/platform/nxp/imx7-media-csi.c
@@ -1141,8 +1141,8 @@ __imx7_csi_video_try_fmt(struct v4l2_pix_format *pixfmt,
* TODO: Implement configurable stride support.
*/
walign = 8 * 8 / cc->bpp;
- v4l_bound_align_image(&pixfmt->width, 1, 0xffff, walign,
- &pixfmt->height, 1, 0xffff, 1, 0);
+ v4l2_apply_frmsize_constraints(&pixfmt->width, &pixfmt->height,
+ &imx7_csi_frmsize_stepwise);
pixfmt->bytesperline = pixfmt->width * cc->bpp / 8;
pixfmt->sizeimage = pixfmt->bytesperline * pixfmt->height;
--
2.34.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [PATCH 2/2] media: imx: imx7-media-csi: Fix applying format constraints
2023-07-20 7:41 ` [PATCH 2/2] media: imx: imx7-media-csi: Fix applying format constraints Alexander Stein
@ 2023-07-20 10:19 ` Alexander Stein
2023-07-20 16:43 ` kernel test robot
1 sibling, 0 replies; 4+ messages in thread
From: Alexander Stein @ 2023-07-20 10:19 UTC (permalink / raw)
To: Rui Miguel Silva, Laurent Pinchart, Mauro Carvalho Chehab,
Shawn Guo, Sascha Hauer, Fabio Estevam, Tim Harvey
Cc: Pengutronix Kernel Team, NXP Linux Team, linux-media,
linux-arm-kernel
Am Donnerstag, 20. Juli 2023, 09:41:29 CEST schrieb Alexander Stein:
> v4l_bound_align_image aligns to a multiple power of 2 of walign, but the
> result only needs to be a multiple of walign. Fix this by using
> v4l2_apply_frmsize_constraints() instead.
>
> Reported-by: Tim Harvey <tharvey@gateworks.com>
> Fixes: 6f482c4729d9 ("media: imx: imx7-media-csi: Get rid of superfluous
> call to imx7_csi_mbus_fmt_to_pix_fmt") Signed-off-by: Alexander Stein
> <alexander.stein@ew.tq-group.com>
> ---
> Tim,
> can you please test if this fixes your problem?
> Apparently this issue only arises under specific conditions, e.g.
> 640/480/8bpp. This issue does not show up for 640/480/10bpp.
>
> drivers/media/platform/nxp/imx7-media-csi.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/media/platform/nxp/imx7-media-csi.c
> b/drivers/media/platform/nxp/imx7-media-csi.c index
> 73f8f2a35422..523e5f039a5a 100644
> --- a/drivers/media/platform/nxp/imx7-media-csi.c
> +++ b/drivers/media/platform/nxp/imx7-media-csi.c
> @@ -1141,8 +1141,8 @@ __imx7_csi_video_try_fmt(struct v4l2_pix_format
> *pixfmt, * TODO: Implement configurable stride support.
> */
> walign = 8 * 8 / cc->bpp;
> - v4l_bound_align_image(&pixfmt->width, 1, 0xffff, walign,
> - &pixfmt->height, 1, 0xffff, 1, 0);
> + v4l2_apply_frmsize_constraints(&pixfmt->width, &pixfmt->height,
> + &imx7_csi_frmsize_stepwise);
Meh, this essentially removes the walign constraint. I need some more coffee
and this some more work.
Sorry for the noise
Alexander
>
> pixfmt->bytesperline = pixfmt->width * cc->bpp / 8;
> pixfmt->sizeimage = pixfmt->bytesperline * pixfmt->height;
--
TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany
Amtsgericht München, HRB 105018
Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider
http://www.tq-group.com/
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH 2/2] media: imx: imx7-media-csi: Fix applying format constraints
2023-07-20 7:41 ` [PATCH 2/2] media: imx: imx7-media-csi: Fix applying format constraints Alexander Stein
2023-07-20 10:19 ` Alexander Stein
@ 2023-07-20 16:43 ` kernel test robot
1 sibling, 0 replies; 4+ messages in thread
From: kernel test robot @ 2023-07-20 16:43 UTC (permalink / raw)
To: Alexander Stein, Rui Miguel Silva, Laurent Pinchart,
Mauro Carvalho Chehab, Shawn Guo, Sascha Hauer, Fabio Estevam,
Tim Harvey
Cc: oe-kbuild-all, linux-media, Alexander Stein,
Pengutronix Kernel Team, NXP Linux Team, linux-arm-kernel
Hi Alexander,
kernel test robot noticed the following build warnings:
[auto build test WARNING on media-tree/master]
[also build test WARNING on linus/master v6.5-rc2 next-20230720]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Alexander-Stein/media-imx-imx7-media-csi-Fix-applying-format-constraints/20230720-154426
base: git://linuxtv.org/media_tree.git master
patch link: https://lore.kernel.org/r/20230720074129.3680269-2-alexander.stein%40ew.tq-group.com
patch subject: [PATCH 2/2] media: imx: imx7-media-csi: Fix applying format constraints
config: arm-allmodconfig (https://download.01.org/0day-ci/archive/20230721/202307210050.s7hfCvwG-lkp@intel.com/config)
compiler: arm-linux-gnueabi-gcc (GCC) 12.3.0
reproduce: (https://download.01.org/0day-ci/archive/20230721/202307210050.s7hfCvwG-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202307210050.s7hfCvwG-lkp@intel.com/
All warnings (new ones prefixed by >>):
drivers/media/platform/nxp/imx7-media-csi.c: In function '__imx7_csi_video_try_fmt':
>> drivers/media/platform/nxp/imx7-media-csi.c:1120:13: warning: variable 'walign' set but not used [-Wunused-but-set-variable]
1120 | u32 walign;
| ^~~~~~
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for SM_GCC_8350
Depends on [n]: COMMON_CLK [=y] && COMMON_CLK_QCOM [=m] && (ARM64 || COMPILE_TEST [=n])
Selected by [m]:
- SM_VIDEOCC_8350 [=m] && COMMON_CLK [=y] && COMMON_CLK_QCOM [=m]
WARNING: unmet direct dependencies detected for SM_GCC_8450
Depends on [n]: COMMON_CLK [=y] && COMMON_CLK_QCOM [=m] && (ARM64 || COMPILE_TEST [=n])
Selected by [m]:
- SM_GPUCC_8450 [=m] && COMMON_CLK [=y] && COMMON_CLK_QCOM [=m]
- SM_VIDEOCC_8450 [=m] && COMMON_CLK [=y] && COMMON_CLK_QCOM [=m]
WARNING: unmet direct dependencies detected for SM_GCC_8550
Depends on [n]: COMMON_CLK [=y] && COMMON_CLK_QCOM [=m] && (ARM64 || COMPILE_TEST [=n])
Selected by [m]:
- SM_GPUCC_8550 [=m] && COMMON_CLK [=y] && COMMON_CLK_QCOM [=m]
- SM_VIDEOCC_8550 [=m] && COMMON_CLK [=y] && COMMON_CLK_QCOM [=m]
vim +/walign +1120 drivers/media/platform/nxp/imx7-media-csi.c
01ac6b7542872e drivers/staging/media/imx/imx7-media-csi.c Laurent Pinchart 2022-05-09 1114
e352833d32e693 drivers/staging/media/imx/imx7-media-csi.c Laurent Pinchart 2022-05-09 1115 static const struct imx7_csi_pixfmt *
31959b981c231f drivers/staging/media/imx/imx7-media-csi.c Laurent Pinchart 2022-05-09 1116 __imx7_csi_video_try_fmt(struct v4l2_pix_format *pixfmt,
31959b981c231f drivers/staging/media/imx/imx7-media-csi.c Laurent Pinchart 2022-05-09 1117 struct v4l2_rect *compose)
01ac6b7542872e drivers/staging/media/imx/imx7-media-csi.c Laurent Pinchart 2022-05-09 1118 {
e352833d32e693 drivers/staging/media/imx/imx7-media-csi.c Laurent Pinchart 2022-05-09 1119 const struct imx7_csi_pixfmt *cc;
bef1bb620ca693 drivers/media/platform/nxp/imx7-media-csi.c Alexander Stein 2023-04-19 @1120 u32 walign;
01ac6b7542872e drivers/staging/media/imx/imx7-media-csi.c Laurent Pinchart 2022-05-09 1121
6f482c4729d904 drivers/media/platform/nxp/imx7-media-csi.c Alexander Stein 2023-04-19 1122 if (compose) {
6f482c4729d904 drivers/media/platform/nxp/imx7-media-csi.c Alexander Stein 2023-04-19 1123 compose->width = pixfmt->width;
6f482c4729d904 drivers/media/platform/nxp/imx7-media-csi.c Alexander Stein 2023-04-19 1124 compose->height = pixfmt->height;
6f482c4729d904 drivers/media/platform/nxp/imx7-media-csi.c Alexander Stein 2023-04-19 1125 }
6f482c4729d904 drivers/media/platform/nxp/imx7-media-csi.c Alexander Stein 2023-04-19 1126
01ac6b7542872e drivers/staging/media/imx/imx7-media-csi.c Laurent Pinchart 2022-05-09 1127 /*
01ac6b7542872e drivers/staging/media/imx/imx7-media-csi.c Laurent Pinchart 2022-05-09 1128 * Find the pixel format, default to the first supported format if not
01ac6b7542872e drivers/staging/media/imx/imx7-media-csi.c Laurent Pinchart 2022-05-09 1129 * found.
01ac6b7542872e drivers/staging/media/imx/imx7-media-csi.c Laurent Pinchart 2022-05-09 1130 */
2d35c1ff83c095 drivers/staging/media/imx/imx7-media-csi.c Laurent Pinchart 2022-05-10 1131 cc = imx7_csi_find_pixel_format(pixfmt->pixelformat);
01ac6b7542872e drivers/staging/media/imx/imx7-media-csi.c Laurent Pinchart 2022-05-09 1132 if (!cc) {
a1a60e7ac274dc drivers/staging/media/imx/imx7-media-csi.c Laurent Pinchart 2022-05-10 1133 pixfmt->pixelformat = IMX7_CSI_DEF_PIX_FORMAT;
2d35c1ff83c095 drivers/staging/media/imx/imx7-media-csi.c Laurent Pinchart 2022-05-10 1134 cc = imx7_csi_find_pixel_format(pixfmt->pixelformat);
01ac6b7542872e drivers/staging/media/imx/imx7-media-csi.c Laurent Pinchart 2022-05-09 1135 }
01ac6b7542872e drivers/staging/media/imx/imx7-media-csi.c Laurent Pinchart 2022-05-09 1136
6f482c4729d904 drivers/media/platform/nxp/imx7-media-csi.c Alexander Stein 2023-04-19 1137 /*
bef1bb620ca693 drivers/media/platform/nxp/imx7-media-csi.c Alexander Stein 2023-04-19 1138 * The width alignment is 8 bytes as indicated by the
bef1bb620ca693 drivers/media/platform/nxp/imx7-media-csi.c Alexander Stein 2023-04-19 1139 * CSI_IMAG_PARA.IMAGE_WIDTH documentation. Convert it to pixels.
6f482c4729d904 drivers/media/platform/nxp/imx7-media-csi.c Alexander Stein 2023-04-19 1140 *
bef1bb620ca693 drivers/media/platform/nxp/imx7-media-csi.c Alexander Stein 2023-04-19 1141 * TODO: Implement configurable stride support.
6f482c4729d904 drivers/media/platform/nxp/imx7-media-csi.c Alexander Stein 2023-04-19 1142 */
bef1bb620ca693 drivers/media/platform/nxp/imx7-media-csi.c Alexander Stein 2023-04-19 1143 walign = 8 * 8 / cc->bpp;
75ab3b3196c39c drivers/media/platform/nxp/imx7-media-csi.c Alexander Stein 2023-07-20 1144 v4l2_apply_frmsize_constraints(&pixfmt->width, &pixfmt->height,
75ab3b3196c39c drivers/media/platform/nxp/imx7-media-csi.c Alexander Stein 2023-07-20 1145 &imx7_csi_frmsize_stepwise);
01ac6b7542872e drivers/staging/media/imx/imx7-media-csi.c Laurent Pinchart 2022-05-09 1146
6f482c4729d904 drivers/media/platform/nxp/imx7-media-csi.c Alexander Stein 2023-04-19 1147 pixfmt->bytesperline = pixfmt->width * cc->bpp / 8;
6f482c4729d904 drivers/media/platform/nxp/imx7-media-csi.c Alexander Stein 2023-04-19 1148 pixfmt->sizeimage = pixfmt->bytesperline * pixfmt->height;
79bb4c7df8af76 drivers/media/platform/nxp/imx7-media-csi.c Alexander Stein 2023-04-19 1149 pixfmt->field = V4L2_FIELD_NONE;
01ac6b7542872e drivers/staging/media/imx/imx7-media-csi.c Laurent Pinchart 2022-05-09 1150
01ac6b7542872e drivers/staging/media/imx/imx7-media-csi.c Laurent Pinchart 2022-05-09 1151 return cc;
01ac6b7542872e drivers/staging/media/imx/imx7-media-csi.c Laurent Pinchart 2022-05-09 1152 }
01ac6b7542872e drivers/staging/media/imx/imx7-media-csi.c Laurent Pinchart 2022-05-09 1153
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2023-07-20 16:44 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-20 7:41 [PATCH 1/2] media: imx: imx7-media-csi: Move stepwise framesize into a dedicated struct Alexander Stein
2023-07-20 7:41 ` [PATCH 2/2] media: imx: imx7-media-csi: Fix applying format constraints Alexander Stein
2023-07-20 10:19 ` Alexander Stein
2023-07-20 16:43 ` kernel test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox