All of lore.kernel.org
 help / color / mirror / Atom feed
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Cc: linux-media@vger.kernel.org, linux-renesas-soc@vger.kernel.org,
	Sakari Ailus <sakari.ailus@iki.fi>,
	Hans Verkuil <hverkuil-cisco@xs4all.nl>,
	Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>,
	Kieran Bingham <kieran.bingham@ideasonboard.com>
Subject: Re: [RFC PATCH v1 08/19] media: renesas: vsp1: Store RPF partition configuration per RPF instance
Date: Tue, 18 Jun 2024 19:09:42 +0300	[thread overview]
Message-ID: <20240618160942.GD32669@pendragon.ideasonboard.com> (raw)
In-Reply-To: <fzdn7eq4xhofryqqquo3eqpixplegswvkfomhp227fyskhvh7b@la56opfmfr4h>

On Tue, Jun 18, 2024 at 12:32:47PM +0200, Jacopo Mondi wrote:
> Hi Laurent
> 
> On Wed, Nov 22, 2023 at 06:29:58AM GMT, Laurent Pinchart wrote:
> > The vsp1_partition structure stores the RPF partition configuration in a
> > single field for all RPF instances, while each RPF can have its own
> > configuration. Fix it by storing the configuration separately for each
> > RPF instance.
> >
> > Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
> 
> Is this worth a Fixes: tag ?

I'll add

Fixes: ab45e8585182 ("media: v4l: vsp1: Allow entities to participate in the partition algorithm")

This was introduced in v5.2, I'm not sure if the fix can be meaningfully
backported.

> Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
> 
> > ---
> >  drivers/media/platform/renesas/vsp1/vsp1_pipe.h | 2 +-
> >  drivers/media/platform/renesas/vsp1/vsp1_rpf.c  | 8 +++++---
> >  2 files changed, 6 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/media/platform/renesas/vsp1/vsp1_pipe.h b/drivers/media/platform/renesas/vsp1/vsp1_pipe.h
> > index 02e98d843730..840fd3288efb 100644
> > --- a/drivers/media/platform/renesas/vsp1/vsp1_pipe.h
> > +++ b/drivers/media/platform/renesas/vsp1/vsp1_pipe.h
> > @@ -73,7 +73,7 @@ struct vsp1_partition_window {
> >   * @wpf: The WPF partition window configuration
> >   */
> >  struct vsp1_partition {
> > -	struct vsp1_partition_window rpf;
> > +	struct vsp1_partition_window rpf[VSP1_MAX_RPF];
> >  	struct vsp1_partition_window uds_sink;
> >  	struct vsp1_partition_window uds_source;
> >  	struct vsp1_partition_window sru;
> > diff --git a/drivers/media/platform/renesas/vsp1/vsp1_rpf.c b/drivers/media/platform/renesas/vsp1/vsp1_rpf.c
> > index 3e62638fdce6..42b0c5655404 100644
> > --- a/drivers/media/platform/renesas/vsp1/vsp1_rpf.c
> > +++ b/drivers/media/platform/renesas/vsp1/vsp1_rpf.c
> > @@ -311,8 +311,8 @@ static void rpf_configure_partition(struct vsp1_entity *entity,
> >  	 * 'width' need to be adjusted.
> >  	 */
> >  	if (pipe->partitions > 1) {
> > -		crop.width = pipe->partition->rpf.width;
> > -		crop.left += pipe->partition->rpf.left;
> > +		crop.width = pipe->partition->rpf[rpf->entity.index].width;
> > +		crop.left += pipe->partition->rpf[rpf->entity.index].left;
> >  	}
> >
> >  	if (pipe->interlaced) {
> > @@ -367,7 +367,9 @@ static void rpf_partition(struct vsp1_entity *entity,
> >  			  unsigned int partition_idx,
> >  			  struct vsp1_partition_window *window)
> >  {
> > -	partition->rpf = *window;
> > +	struct vsp1_rwpf *rpf = to_rwpf(&entity->subdev);
> > +
> > +	partition->rpf[rpf->entity.index] = *window;
> >  }
> >
> >  static const struct vsp1_entity_operations rpf_entity_ops = {

-- 
Regards,

Laurent Pinchart

  reply	other threads:[~2024-06-18 16:10 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-22  4:29 [RFC PATCH v1 00/19] media: renesas: vsp1: Conversion to subdev active state Laurent Pinchart
2023-11-22  4:29 ` [RFC PATCH v1 01/19] media: renesas: vsp1: Drop vsp1_entity_get_pad_format() wrapper Laurent Pinchart
2024-06-18  9:52   ` Jacopo Mondi
2023-11-22  4:29 ` [RFC PATCH v1 02/19] media: renesas: vsp1: Drop vsp1_entity_get_pad_selection() wrapper Laurent Pinchart
2024-06-18  9:56   ` Jacopo Mondi
2023-11-22  4:29 ` [RFC PATCH v1 03/19] media: renesas: vsp1: Drop vsp1_rwpf_get_crop() wrapper Laurent Pinchart
2024-06-18  9:58   ` Jacopo Mondi
2023-11-22  4:29 ` [RFC PATCH v1 04/19] media: renesas: vsp1: Drop brx_get_compose() wrapper Laurent Pinchart
2024-06-18  9:59   ` Jacopo Mondi
2023-11-22  4:29 ` [RFC PATCH v1 05/19] media: renesas: vsp1: Drop custom .get_fmt() handler for histogram Laurent Pinchart
2024-06-18 10:05   ` Jacopo Mondi
2024-06-18 15:57     ` Laurent Pinchart
2023-11-22  4:29 ` [RFC PATCH v1 06/19] media: renesas: vsp1: Move partition calculation to vsp1_pipe.c Laurent Pinchart
2024-06-18 10:26   ` Jacopo Mondi
2023-11-22  4:29 ` [RFC PATCH v1 07/19] media: renesas: vsp1: Simplify partition calculation Laurent Pinchart
2024-06-18 10:29   ` Jacopo Mondi
2023-11-22  4:29 ` [RFC PATCH v1 08/19] media: renesas: vsp1: Store RPF partition configuration per RPF instance Laurent Pinchart
2024-06-18 10:32   ` Jacopo Mondi
2024-06-18 16:09     ` Laurent Pinchart [this message]
2023-11-22  4:29 ` [RFC PATCH v1 09/19] media: renesas: vsp1: Pass partition pointer to .configure_partition() Laurent Pinchart
2024-06-18 10:45   ` Jacopo Mondi
2024-06-18 16:13     ` Laurent Pinchart
2024-06-18 16:28       ` Jacopo Mondi
2023-11-22  4:30 ` [RFC PATCH v1 10/19] media: renesas: vsp1: Replace vsp1_partition_window with v4l2_rect Laurent Pinchart
2024-06-18 11:07   ` Jacopo Mondi
2024-06-18 16:24     ` Laurent Pinchart
2024-06-18 16:29       ` Jacopo Mondi
2023-11-22  4:30 ` [RFC PATCH v1 11/19] media: renesas: vsp1: Add and use function to dump a pipeline to the log Laurent Pinchart
2024-06-18 11:34   ` Jacopo Mondi
2024-06-18 16:25     ` Laurent Pinchart
2024-06-18 16:30       ` Jacopo Mondi
2023-11-22  4:30 ` [RFC PATCH v1 12/19] media: renesas: vsp1: Keep the DRM pipeline entities sorted Laurent Pinchart
2024-06-19 12:02   ` Jacopo Mondi
2023-11-22  4:30 ` [RFC PATCH v1 13/19] media: renesas: vsp1: Compute partitions for DRM pipelines Laurent Pinchart
2024-06-18 11:35   ` Jacopo Mondi
2023-11-22  4:30 ` [RFC PATCH v1 14/19] media: renesas: vsp1: Get configuration from partition instead of state Laurent Pinchart
2024-06-18 11:23   ` Jacopo Mondi
2024-06-18 16:38     ` Laurent Pinchart
2024-06-18 16:46       ` Jacopo Mondi
2023-11-22  4:30 ` [RFC PATCH v1 15/19] media: renesas: vsp1: Name parameters to entity operations Laurent Pinchart
2024-06-18 11:24   ` Jacopo Mondi
2023-11-22  4:30 ` [RFC PATCH v1 16/19] media: renesas: vsp1: Pass subdev state " Laurent Pinchart
2024-06-18 16:52   ` Jacopo Mondi
2024-06-18 17:17     ` Laurent Pinchart
2023-11-22  4:30 ` [RFC PATCH v1 17/19] media: renesas: vsp1: Initialize control handler after subdev Laurent Pinchart
2024-06-18 16:56   ` Jacopo Mondi
2023-11-22  4:30 ` [RFC PATCH v1 18/19] media: renesas: vsp1: Switch to V4L2 subdev active state Laurent Pinchart
2023-11-22  4:30 ` [RFC PATCH v1 19/19] media: renesas: vsp1: Rename all v4l2_subdev_state variables to 'state' Laurent Pinchart
2024-06-18 16:57   ` Jacopo Mondi

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=20240618160942.GD32669@pendragon.ideasonboard.com \
    --to=laurent.pinchart@ideasonboard.com \
    --cc=hverkuil-cisco@xs4all.nl \
    --cc=jacopo.mondi@ideasonboard.com \
    --cc=kieran.bingham@ideasonboard.com \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=sakari.ailus@iki.fi \
    --cc=tomi.valkeinen@ideasonboard.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.