From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org
Subject: Re: [PATCH v9 6/8] media: vsp1: Refactor display list configure operations
Date: Thu, 17 May 2018 12:41:14 +0300 [thread overview]
Message-ID: <1699268.4rpuBZgWBW@avalon> (raw)
In-Reply-To: <3c526da2424dda10560a0d40dc258263b54e122f.1525354160.git-series.kieran.bingham+renesas@ideasonboard.com>
Hi Kieran,
Thank you for the patch.
On Thursday, 3 May 2018 16:35:45 EEST Kieran Bingham wrote:
> The entities provide a single .configure operation which configures the
> object into the target display list, based on the vsp1_entity_params
> selection.
>
> Split the configure function into three parts, '.configure_stream()',
> '.configure_frame()', and '.configure_partition()' to facilitate
> splitting the configuration of each parameter class into separate
> display list bodies.
>
> Signed-off-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
>
> ---
> The checkpatch warning:
>
> WARNING: function definition argument 'struct vsp1_dl_list *' should
> also have an identifier name
>
> has been ignored to match the existing code style.
>
> v8:
> - Add support for the UIF
> - Remove unrelated whitespace change
> - Fix comment location for clu_configure_stream()
> - Update configure documentations
> - Implement configure_partition separation.
>
> v7
> - Fix formatting and white space
> - s/prepare/configure_stream/
> - s/configure/configure_frame/
> ---
> drivers/media/platform/vsp1/vsp1_brx.c | 12 +-
> drivers/media/platform/vsp1/vsp1_clu.c | 77 ++----
> drivers/media/platform/vsp1/vsp1_drm.c | 12 +-
> drivers/media/platform/vsp1/vsp1_entity.c | 24 ++-
> drivers/media/platform/vsp1/vsp1_entity.h | 39 +--
> drivers/media/platform/vsp1/vsp1_hgo.c | 12 +-
> drivers/media/platform/vsp1/vsp1_hgt.c | 12 +-
> drivers/media/platform/vsp1/vsp1_hsit.c | 12 +-
> drivers/media/platform/vsp1/vsp1_lif.c | 12 +-
> drivers/media/platform/vsp1/vsp1_lut.c | 47 +---
> drivers/media/platform/vsp1/vsp1_rpf.c | 168 ++++++-------
> drivers/media/platform/vsp1/vsp1_sru.c | 12 +-
> drivers/media/platform/vsp1/vsp1_uds.c | 56 ++--
> drivers/media/platform/vsp1/vsp1_uif.c | 16 +-
> drivers/media/platform/vsp1/vsp1_video.c | 28 +--
> drivers/media/platform/vsp1/vsp1_wpf.c | 303 ++++++++++++-----------
> 16 files changed, 422 insertions(+), 420 deletions(-)
[snip]
> diff --git a/drivers/media/platform/vsp1/vsp1_clu.c
> b/drivers/media/platform/vsp1/vsp1_clu.c index ea83f1b7d125..0a978980d447
> 100644
> --- a/drivers/media/platform/vsp1/vsp1_clu.c
> +++ b/drivers/media/platform/vsp1/vsp1_clu.c
> @@ -168,58 +168,50 @@ static const struct v4l2_subdev_ops clu_ops = {
> /* ------------------------------------------------------------------------
> * VSP1 Entity Operations
> */
> +static void clu_configure_stream(struct vsp1_entity *entity,
> + struct vsp1_pipeline *pipe,
> + struct vsp1_dl_list *dl)
> +{
> + struct vsp1_clu *clu = to_clu(&entity->subdev);
> + struct v4l2_mbus_framefmt *format;
>
I would have kept this blank line before the function.
> -static void clu_configure(struct vsp1_entity *entity,
> - struct vsp1_pipeline *pipe,
> - struct vsp1_dl_list *dl,
> - enum vsp1_entity_params params)
> + /*
> + * The yuv_mode can't be changed during streaming. Cache it internally
> + * for future runtime configuration calls.
> + */
> + format = vsp1_entity_get_pad_format(&clu->entity,
> + clu->entity.config,
> + CLU_PAD_SINK);
> + clu->yuv_mode = format->code == MEDIA_BUS_FMT_AYUV8_1X32;
> +}
[snip]
> diff --git a/drivers/media/platform/vsp1/vsp1_wpf.c
> b/drivers/media/platform/vsp1/vsp1_wpf.c index 65ed2f849551..da287c27b324
> 100644
> --- a/drivers/media/platform/vsp1/vsp1_wpf.c
> +++ b/drivers/media/platform/vsp1/vsp1_wpf.c
[snip]
> +static void wpf_configure_frame(struct vsp1_entity *entity,
> + struct vsp1_pipeline *pipe,
> + struct vsp1_dl_list *dl)
> +{
> + struct vsp1_rwpf *wpf = to_rwpf(&entity->subdev);
> + unsigned long flags;
> + u32 outfmt = 0;
No need to initialize outfmt to 0.
> +
This blank line isn't needed.
> + const unsigned int mask = BIT(WPF_CTRL_VFLIP)
> + | BIT(WPF_CTRL_HFLIP);
> +
> + spin_lock_irqsave(&wpf->flip.lock, flags);
> + wpf->flip.active = (wpf->flip.active & ~mask)
> + | (wpf->flip.pending & mask);
> + spin_unlock_irqrestore(&wpf->flip.lock, flags);
> +
> + outfmt = (wpf->alpha << VI6_WPF_OUTFMT_PDV_SHIFT) | wpf->outfmt;
> +
> + if (wpf->flip.active & BIT(WPF_CTRL_VFLIP))
> + outfmt |= VI6_WPF_OUTFMT_FLP;
> + if (wpf->flip.active & BIT(WPF_CTRL_HFLIP))
> + outfmt |= VI6_WPF_OUTFMT_HFLP;
> +
> + vsp1_wpf_write(wpf, dl, VI6_WPF_OUTFMT, outfmt);
> +}
[snip]
Apart from that,
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
If you agree with those small changes there's no need to resubmit, I'll fix
when applying.
--
Regards,
Laurent Pinchart
next prev parent reply other threads:[~2018-05-17 9:41 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-03 13:35 [PATCH v9 0/8] vsp1: TLB optimisation and DL caching Kieran Bingham
2018-05-03 13:35 ` [PATCH v9 1/8] media: vsp1: Reword uses of 'fragment' as 'body' Kieran Bingham
2018-05-03 13:35 ` [PATCH v9 2/8] media: vsp1: Protect bodies against overflow Kieran Bingham
2018-05-03 13:35 ` [PATCH v9 3/8] media: vsp1: Provide a body pool Kieran Bingham
2018-05-16 23:59 ` Laurent Pinchart
2018-05-03 13:35 ` [PATCH v9 4/8] media: vsp1: Convert display lists to use new " Kieran Bingham
2018-05-17 0:05 ` Laurent Pinchart
2018-05-03 13:35 ` [PATCH v9 5/8] media: vsp1: Use reference counting for bodies Kieran Bingham
2018-05-03 13:35 ` [PATCH v9 6/8] media: vsp1: Refactor display list configure operations Kieran Bingham
2018-05-17 9:41 ` Laurent Pinchart [this message]
2018-05-17 13:02 ` Kieran Bingham
2018-05-03 13:35 ` [PATCH v9 7/8] media: vsp1: Adapt entities to configure into a body Kieran Bingham
2018-05-17 9:58 ` Laurent Pinchart
2018-05-03 13:35 ` [PATCH v9 8/8] media: vsp1: Move video configuration to a cached dlb Kieran Bingham
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=1699268.4rpuBZgWBW@avalon \
--to=laurent.pinchart@ideasonboard.com \
--cc=kieran.bingham+renesas@ideasonboard.com \
--cc=linux-media@vger.kernel.org \
--cc=linux-renesas-soc@vger.kernel.org \
/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.