[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <D64PAIXELZ6A.37ZSFBIRPE6MT@fairphone.com>
Date: Fri, 06 Dec 2024 15:51:33 +0100
From: "Luca Weiss" <luca.weiss@...rphone.com>
To: "Jordan Crouse" <jorcrous@...zon.com>, <linux-media@...r.kernel.org>
Cc: "Bryan O'Donoghue" <bryan.odonoghue@...aro.org>, "Mauro Carvalho Chehab"
<mchehab@...nel.org>, "Robert Foss" <rfoss@...nel.org>, "Todor Tomov"
<todor.too@...il.com>, <linux-arm-msm@...r.kernel.org>,
<linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v1 1/2] media: camss: Increase the maximum frame size
On Fri Aug 2, 2024 at 5:24 PM CEST, Jordan Crouse wrote:
> Commit 35493d653a2d
> ("media: camss: add support for vidioc_enum_framesizes ioctl") added a
> maximum frame width and height but the values selected seemed to have
> been arbitrary. In reality the cam hardware doesn't seem to have a maximum
> size restriction so double up the maximum reported width and height to
> allow for larger frames.
>
> Also increase the maximum size checks at each point in the pipeline so
> the increased sizes are allowed all the way down to the sensor.
Hi Jordan,
Looks like this hasn't landed yet, do you plan on resending this?
Just wanted to try a 8192x6144 format but csid limiting the size to 8191
is a bit in the way.
Regards
Luca
>
> Signed-off-by: Jordan Crouse <jorcrous@...zon.com>
> ---
>
> drivers/media/platform/qcom/camss/camss-csid.c | 8 ++++----
> drivers/media/platform/qcom/camss/camss-csiphy.c | 4 ++--
> drivers/media/platform/qcom/camss/camss-ispif.c | 4 ++--
> drivers/media/platform/qcom/camss/camss-vfe.c | 4 ++--
> drivers/media/platform/qcom/camss/camss-video.c | 6 +++---
> 5 files changed, 13 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/media/platform/qcom/camss/camss-csid.c b/drivers/media/platform/qcom/camss/camss-csid.c
> index 858db5d4ca75..886c42c82612 100644
> --- a/drivers/media/platform/qcom/camss/camss-csid.c
> +++ b/drivers/media/platform/qcom/camss/camss-csid.c
> @@ -752,8 +752,8 @@ static void csid_try_format(struct csid_device *csid,
> if (i >= csid->res->formats->nformats)
> fmt->code = MEDIA_BUS_FMT_UYVY8_1X16;
>
> - fmt->width = clamp_t(u32, fmt->width, 1, 8191);
> - fmt->height = clamp_t(u32, fmt->height, 1, 8191);
> + fmt->width = clamp_t(u32, fmt->width, 1, 16383);
> + fmt->height = clamp_t(u32, fmt->height, 1, 16383);
>
> fmt->field = V4L2_FIELD_NONE;
> fmt->colorspace = V4L2_COLORSPACE_SRGB;
> @@ -781,8 +781,8 @@ static void csid_try_format(struct csid_device *csid,
> if (i >= csid->res->formats->nformats)
> fmt->code = MEDIA_BUS_FMT_UYVY8_1X16;
>
> - fmt->width = clamp_t(u32, fmt->width, 1, 8191);
> - fmt->height = clamp_t(u32, fmt->height, 1, 8191);
> + fmt->width = clamp_t(u32, fmt->width, 1, 16383);
> + fmt->height = clamp_t(u32, fmt->height, 1, 16383);
>
> fmt->field = V4L2_FIELD_NONE;
> }
> diff --git a/drivers/media/platform/qcom/camss/camss-csiphy.c b/drivers/media/platform/qcom/camss/camss-csiphy.c
> index 2f7361dfd461..43c35ad6ac84 100644
> --- a/drivers/media/platform/qcom/camss/camss-csiphy.c
> +++ b/drivers/media/platform/qcom/camss/camss-csiphy.c
> @@ -368,8 +368,8 @@ static void csiphy_try_format(struct csiphy_device *csiphy,
> if (i >= csiphy->res->formats->nformats)
> fmt->code = MEDIA_BUS_FMT_UYVY8_1X16;
>
> - fmt->width = clamp_t(u32, fmt->width, 1, 8191);
> - fmt->height = clamp_t(u32, fmt->height, 1, 8191);
> + fmt->width = clamp_t(u32, fmt->width, 1, 16383);
> + fmt->height = clamp_t(u32, fmt->height, 1, 16383);
>
> fmt->field = V4L2_FIELD_NONE;
> fmt->colorspace = V4L2_COLORSPACE_SRGB;
> diff --git a/drivers/media/platform/qcom/camss/camss-ispif.c b/drivers/media/platform/qcom/camss/camss-ispif.c
> index a12dcc7ff438..01e2ded8da0b 100644
> --- a/drivers/media/platform/qcom/camss/camss-ispif.c
> +++ b/drivers/media/platform/qcom/camss/camss-ispif.c
> @@ -912,8 +912,8 @@ static void ispif_try_format(struct ispif_line *line,
> if (i >= line->nformats)
> fmt->code = MEDIA_BUS_FMT_UYVY8_1X16;
>
> - fmt->width = clamp_t(u32, fmt->width, 1, 8191);
> - fmt->height = clamp_t(u32, fmt->height, 1, 8191);
> + fmt->width = clamp_t(u32, fmt->width, 1, 16383);
> + fmt->height = clamp_t(u32, fmt->height, 1, 16383);
>
> fmt->field = V4L2_FIELD_NONE;
> fmt->colorspace = V4L2_COLORSPACE_SRGB;
> diff --git a/drivers/media/platform/qcom/camss/camss-vfe.c b/drivers/media/platform/qcom/camss/camss-vfe.c
> index 83c5a36d071f..826c0fb31785 100644
> --- a/drivers/media/platform/qcom/camss/camss-vfe.c
> +++ b/drivers/media/platform/qcom/camss/camss-vfe.c
> @@ -1049,8 +1049,8 @@ static void vfe_try_format(struct vfe_line *line,
> if (i >= line->nformats)
> fmt->code = MEDIA_BUS_FMT_UYVY8_1X16;
>
> - fmt->width = clamp_t(u32, fmt->width, 1, 8191);
> - fmt->height = clamp_t(u32, fmt->height, 1, 8191);
> + fmt->width = clamp_t(u32, fmt->width, 1, 16383);
> + fmt->height = clamp_t(u32, fmt->height, 1, 16383);
>
> fmt->field = V4L2_FIELD_NONE;
> fmt->colorspace = V4L2_COLORSPACE_SRGB;
> diff --git a/drivers/media/platform/qcom/camss/camss-video.c b/drivers/media/platform/qcom/camss/camss-video.c
> index cd72feca618c..5fee3733da8e 100644
> --- a/drivers/media/platform/qcom/camss/camss-video.c
> +++ b/drivers/media/platform/qcom/camss/camss-video.c
> @@ -19,10 +19,10 @@
> #include "camss.h"
>
> #define CAMSS_FRAME_MIN_WIDTH 1
> -#define CAMSS_FRAME_MAX_WIDTH 8191
> +#define CAMSS_FRAME_MAX_WIDTH 16833
> #define CAMSS_FRAME_MIN_HEIGHT 1
> -#define CAMSS_FRAME_MAX_HEIGHT_RDI 8191
> -#define CAMSS_FRAME_MAX_HEIGHT_PIX 4096
> +#define CAMSS_FRAME_MAX_HEIGHT_RDI 16833
> +#define CAMSS_FRAME_MAX_HEIGHT_PIX 8192
>
> /* -----------------------------------------------------------------------------
> * Helper functions
Powered by blists - more mailing lists