public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
To: Antoine Bouyer <antoine.bouyer@nxp.com>
Cc: "Jacopo Mondi" <jacopo.mondi@ideasonboard.com>,
	"Mauro Carvalho Chehab" <mchehab@kernel.org>,
	"Daniel Scally" <dan.scally@ideasonboard.com>,
	"Keke Li" <keke.li@amlogic.com>,
	"Jai Luthra" <jai.luthra@ideasonboard.com>,
	"Niklas Söderlund" <niklas.soderlund@ragnatech.se>,
	"Ricardo Ribalda" <ribalda@chromium.org>,
	"Laurent Pinchart" <laurent.pinchart@ideasonboard.com>,
	"Sakari Ailus" <sakari.ailus@linux.intel.com>,
	"Hans Verkuil" <hverkuil+cisco@kernel.org>,
	linux-media@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 3/6] media: v4l2-isp: Rename v4l2_isp_params_buffer_size
Date: Wed, 6 May 2026 10:35:25 +0200	[thread overview]
Message-ID: <afr7sCGUTJqixAC-@zed> (raw)
In-Reply-To: <b8c24929-449b-4394-afe3-d3517c64427e@nxp.com>

Hello Antoine

On Wed, May 06, 2026 at 10:11:31AM +0200, Antoine Bouyer wrote:
> On 5/5/26 4:12 PM, Jacopo Mondi wrote:
> >
> >
> > Rename v4l2_isp_params_buffer_size() to v4l2_isp_buffer_size() to
> > support statistics.
> >
> > Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
> > ---
> >   .../media/platform/arm/mali-c55/mali-c55-params.c  | 12 ++++++------
>
> Hi Jacopo
>
> Is it ok to meld driver and include changes and remove all occurrences of
> v4l2_isp_params_buffer_size ? Of course it prevents build errors, but what
> if pending changes are already using this macro ?

This is an internal header, we don't keep compatibility for internal
kAPI symbols.

If you're referring to your in-review patches which use the now
renamed 'v4l2_isp_params_buffer_size' symbol, I'm sorry but we'll
have to synchronize here, there's no way around it.

>  >   include/media/v4l2-isp.h                           | 22
> +++++++++++++---------
> >   2 files changed, 19 insertions(+), 15 deletions(-)
> >
> > diff --git a/drivers/media/platform/arm/mali-c55/mali-c55-params.c b/drivers/media/platform/arm/mali-c55/mali-c55-params.c
> > index de0e9d898db7..dc483f0322d6 100644
> > --- a/drivers/media/platform/arm/mali-c55/mali-c55-params.c
> > +++ b/drivers/media/platform/arm/mali-c55/mali-c55-params.c
> > @@ -487,7 +487,7 @@ static int mali_c55_params_g_fmt_meta_out(struct file *file, void *fh,
> >   {
> >          static const struct v4l2_meta_format mfmt = {
> >                  .dataformat = V4L2_META_FMT_MALI_C55_PARAMS,
> > -               .buffersize = v4l2_isp_params_buffer_size(MALI_C55_PARAMS_MAX_SIZE),
> > +               .buffersize = v4l2_isp_buffer_size(MALI_C55_PARAMS_MAX_SIZE),
> >          };
> >
> >          f->fmt.meta = mfmt;
> > @@ -540,13 +540,13 @@ mali_c55_params_queue_setup(struct vb2_queue *q, unsigned int *num_buffers,
> >          if (*num_planes && *num_planes > 1)
> >                  return -EINVAL;
> >
> > -       if (sizes[0] && sizes[0] < v4l2_isp_params_buffer_size(MALI_C55_PARAMS_MAX_SIZE))
> > +       if (sizes[0] && sizes[0] < v4l2_isp_buffer_size(MALI_C55_PARAMS_MAX_SIZE))
> >                  return -EINVAL;
> >
> >          *num_planes = 1;
> >
> >          if (!sizes[0])
> > -               sizes[0] = v4l2_isp_params_buffer_size(MALI_C55_PARAMS_MAX_SIZE);
> > +               sizes[0] = v4l2_isp_buffer_size(MALI_C55_PARAMS_MAX_SIZE);
> >
> >          return 0;
> >   }
> > @@ -556,7 +556,7 @@ static int mali_c55_params_buf_init(struct vb2_buffer *vb)
> >          struct vb2_v4l2_buffer *vbuf = to_vb2_v4l2_buffer(vb);
> >          struct mali_c55_params_buf *buf = to_mali_c55_params_buf(vbuf);
> >
> > -       buf->config = kvmalloc(v4l2_isp_params_buffer_size(MALI_C55_PARAMS_MAX_SIZE),
> > +       buf->config = kvmalloc(v4l2_isp_buffer_size(MALI_C55_PARAMS_MAX_SIZE),
> >                                 GFP_KERNEL);
> >          if (!buf->config)
> >                  return -ENOMEM;
> > @@ -583,7 +583,7 @@ static int mali_c55_params_buf_prepare(struct vb2_buffer *vb)
> >          int ret;
> >
> >          ret = v4l2_isp_params_validate_buffer_size(mali_c55->dev, vb,
> > -                       v4l2_isp_params_buffer_size(MALI_C55_PARAMS_MAX_SIZE));
> > +                       v4l2_isp_buffer_size(MALI_C55_PARAMS_MAX_SIZE));
> >          if (ret)
> >                  return ret;
> >
> > @@ -593,7 +593,7 @@ static int mali_c55_params_buf_prepare(struct vb2_buffer *vb)
> >           * changed to the buffer content whilst the driver processes it.
> >           */
> >
> > -       memcpy(buf->config, config, v4l2_isp_params_buffer_size(MALI_C55_PARAMS_MAX_SIZE));
> > +       memcpy(buf->config, config, v4l2_isp_buffer_size(MALI_C55_PARAMS_MAX_SIZE));
> >
> >          return v4l2_isp_params_validate_buffer(mali_c55->dev, vb, buf->config,
> >                                                 mali_c55_params_block_types_info,
> > diff --git a/include/media/v4l2-isp.h b/include/media/v4l2-isp.h
> > index f3a6d0edcb24..d70ed6b431e7 100644
> > --- a/include/media/v4l2-isp.h
> > +++ b/include/media/v4l2-isp.h
> > @@ -15,17 +15,21 @@ struct device;
> >   struct vb2_buffer;
> >
> >   /**
> > - * v4l2_isp_params_buffer_size - Calculate size of v4l2_isp_params_buffer
> > - * @max_params_size: The total size of the ISP configuration blocks
> > + * v4l2_isp_buffer_size - Calculate size of v4l2_isp_buffer
> > + * @max_size: The total size of the ISP configuration or statistics blocks
> > + *
> > + * Users of v4l2-isp will have differing sized data arrays for parameters and
> > + * statistics, depending on their specific blocks. Drivers need to be able to
> > + * calculate the appropriate size of the buffer to accommodate all ISP blocks
> > + * supported by the platform. This macro provides a convenient tool for the
> > + * calculation.
> > + *
> > + * The intended users of this function are drivers initializing the size
> > + * of their metadata (parameters and statistics) buffers.
> >    *
> > - * Users of the v4l2 extensible parameters will have differing sized data arrays
> > - * depending on their specific parameter buffers. Drivers and userspace will
> > - * need to be able to calculate the appropriate size of the struct to
> > - * accommodate all ISP configuration blocks provided by the platform.
> > - * This macro provides a convenient tool for the calculation.
> >    */
> > -#define v4l2_isp_params_buffer_size(max_params_size) \
> > -       (offsetof(struct v4l2_isp_params_buffer, data) + (max_params_size))
> > +#define v4l2_isp_buffer_size(max_size)                 \
> > +       (offsetof(struct v4l2_isp_buffer, data) + (max_size))
>
> Shouldn't we keep v4l2_isp_params_buffer_size for compatibility ?

I don't think so, no. This is internal stuff, not exposed to
userspace. We should port all existing users to the new symbol, don't
we ?

>
> BR
> Antoine

Thanks!

>
> >
> >   /**
> >    * v4l2_isp_params_validate_buffer_size - Validate a V4L2 ISP buffer sizes
> >
> > --
> > 2.53.0
> >
>
>

  reply	other threads:[~2026-05-06  8:35 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-05 14:12 [PATCH 0/6] media: v4l2-isp: Add support for extensible statistics Jacopo Mondi
2026-05-05 14:12 ` [PATCH 1/6] media: uapi: v4l2-isp: Add " Jacopo Mondi
2026-05-05 14:12 ` [PATCH 2/6] media: Documentation: uapi: Update V4L2 ISP for extensible stats Jacopo Mondi
2026-05-05 14:12 ` [PATCH 3/6] media: v4l2-isp: Rename v4l2_isp_params_buffer_size Jacopo Mondi
2026-05-06  8:11   ` Antoine Bouyer
2026-05-06  8:35     ` Jacopo Mondi [this message]
2026-05-06  8:57       ` Antoine Bouyer
2026-05-05 14:12 ` [PATCH 4/6] media: v4l2-isp: Add per-block validation callback Jacopo Mondi
2026-05-05 14:12 ` [PATCH 5/6] media: amlogic-c3: Implement per-block validation Jacopo Mondi
2026-05-05 14:12 ` [PATCH 6/6] media: v4l2-isp: Add helpers for stats buffer Jacopo Mondi
2026-05-05 16:49 ` [PATCH 0/6] media: v4l2-isp: Add support for extensible statistics Antoine Bouyer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=afr7sCGUTJqixAC-@zed \
    --to=jacopo.mondi@ideasonboard.com \
    --cc=antoine.bouyer@nxp.com \
    --cc=dan.scally@ideasonboard.com \
    --cc=hverkuil+cisco@kernel.org \
    --cc=jai.luthra@ideasonboard.com \
    --cc=keke.li@amlogic.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=niklas.soderlund@ragnatech.se \
    --cc=ribalda@chromium.org \
    --cc=sakari.ailus@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox