From: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
To: Laurent Pinchart <laurent.pinchart@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 14:02:59 +0100 [thread overview]
Message-ID: <1af25186-6e4d-4f6e-daeb-e77888c18dd0@ideasonboard.com> (raw)
In-Reply-To: <1699268.4rpuBZgWBW@avalon>
Hi Laurent,
Thanks for the review,
On 17/05/18 10:41, Laurent Pinchart wrote:
> 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.
I would have thought I would too :)
>
>> -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.
Ah yes, indeed!.
>> +
>
> 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.
No objections to any white-space corrections you feel are necessary.
Thanks.
Kieran
next prev parent reply other threads:[~2018-05-17 13:03 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
2018-05-17 13:02 ` Kieran Bingham [this message]
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=1af25186-6e4d-4f6e-daeb-e77888c18dd0@ideasonboard.com \
--to=kieran.bingham+renesas@ideasonboard.com \
--cc=kieran.bingham@ideasonboard.com \
--cc=laurent.pinchart@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox