From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: kieran.bingham+renesas@ideasonboard.com
Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org,
dri-devel@lists.freedesktop.org
Subject: Re: [PATCH v4 10/11] media: vsp1: Support Interlaced display pipelines
Date: Tue, 17 Jul 2018 15:52:24 +0300 [thread overview]
Message-ID: <5111021.qdhzlld4I3@avalon> (raw)
In-Reply-To: <f794f4d6-f524-293b-3df6-097f42bef372@ideasonboard.com>
Hi Kieran,
On Monday, 16 July 2018 21:21:00 EEST Kieran Bingham wrote:
> On 24/05/18 13:51, Laurent Pinchart wrote:
> > On Thursday, 3 May 2018 16:36:21 EEST Kieran Bingham wrote:
> >> Calculate the top and bottom fields for the interlaced frames and
> >> utilise the extended display list command feature to implement the
> >> auto-field operations. This allows the DU to update the VSP2 registers
> >> dynamically based upon the currently processing field.
> >>
> >> Signed-off-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
> >>
> >> ---
> >>
> >> v3:
> >> - Pass DL through partition calls to allow autocmd's to be retrieved
> >> - Document interlaced field in struct vsp1_du_atomic_config
> >>
> >> v2:
> >> - fix erroneous BIT value which enabled interlaced
> >> - fix field handling at frame_end interrupt
> >>
> >> ---
> >>
> >> drivers/media/platform/vsp1/vsp1_dl.c | 10 ++++-
> >> drivers/media/platform/vsp1/vsp1_drm.c | 11 ++++-
> >> drivers/media/platform/vsp1/vsp1_regs.h | 1 +-
> >> drivers/media/platform/vsp1/vsp1_rpf.c | 71 ++++++++++++++++++++++++--
> >> drivers/media/platform/vsp1/vsp1_rwpf.h | 1 +-
> >> include/media/vsp1.h | 2 +-
> >> 6 files changed, 93 insertions(+), 3 deletions(-)
[snip]
> >> diff --git a/drivers/media/platform/vsp1/vsp1_drm.c
> >> b/drivers/media/platform/vsp1/vsp1_drm.c index 2c3db8b8adce..cc29c9d96bb7
> >> 100644
> >> --- a/drivers/media/platform/vsp1/vsp1_drm.c
> >> +++ b/drivers/media/platform/vsp1/vsp1_drm.c
> >> @@ -811,6 +811,17 @@ int vsp1_du_atomic_update(struct device *dev,
> >> unsigned
> >> int pipe_index, return -EINVAL;
> >>
> >> }
> >>
> >> + if (!(vsp1_feature(vsp1, VSP1_HAS_EXT_DL)) && cfg->interlaced) {
> >
> > Nitpicking, writing the condition as
> >
> > if (cfg->interlaced && !(vsp1_feature(vsp1, VSP1_HAS_EXT_DL)))
>
> Done.
>
> > would match the comment better. You can also drop the parentheses around
> > the vsp1_feature() call.
> >
> >> + /*
> >> + * Interlaced support requires extended display lists to
> >> + * provide the auto-fld feature with the DU.
> >> + */
> >> + dev_dbg(vsp1->dev, "Interlaced unsupported on this output\n");
> >
> > Could we catch this in the DU driver to fail atomic test ?
>
> Ugh - I thought moving the configuration to vsp1_du_setup_lif() would
> give us this, but that return value is not checked in the DU.
>
> How can we interogate the VSP1 to ask it if it supports interlaced from
> rcar_du_vsp_plane_atomic_check()?
>
>
> Some dummy call to vsp1_du_setup_lif() to check the return value ? Or
> should we implement a hook to call through to perform checks in the VSP1
> DRM API?
Would it be possible to just infer that from the DU compatible string, without
querying the VSP driver ? Of course that's a bit of a layering violation, but
as we know what type of VSP instance is present in each SoC, such a small hack
wouldn't hurt in my opinion. If the need arises later we can introduce an API
to query the information from the VSP driver.
> >> + return -EINVAL;
> >> + }
> >> +
> >> + rpf->interlaced = cfg->interlaced;
> >> +
> >> rpf->fmtinfo = fmtinfo;
> >> rpf->format.num_planes = fmtinfo->planes;
> >> rpf->format.plane_fmt[0].bytesperline = cfg->pitch;
[snip]
--
Regards,
Laurent Pinchart
WARNING: multiple messages have this Message-ID (diff)
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: kieran.bingham+renesas@ideasonboard.com
Cc: linux-renesas-soc@vger.kernel.org,
dri-devel@lists.freedesktop.org, linux-media@vger.kernel.org
Subject: Re: [PATCH v4 10/11] media: vsp1: Support Interlaced display pipelines
Date: Tue, 17 Jul 2018 15:52:24 +0300 [thread overview]
Message-ID: <5111021.qdhzlld4I3@avalon> (raw)
In-Reply-To: <f794f4d6-f524-293b-3df6-097f42bef372@ideasonboard.com>
Hi Kieran,
On Monday, 16 July 2018 21:21:00 EEST Kieran Bingham wrote:
> On 24/05/18 13:51, Laurent Pinchart wrote:
> > On Thursday, 3 May 2018 16:36:21 EEST Kieran Bingham wrote:
> >> Calculate the top and bottom fields for the interlaced frames and
> >> utilise the extended display list command feature to implement the
> >> auto-field operations. This allows the DU to update the VSP2 registers
> >> dynamically based upon the currently processing field.
> >>
> >> Signed-off-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
> >>
> >> ---
> >>
> >> v3:
> >> - Pass DL through partition calls to allow autocmd's to be retrieved
> >> - Document interlaced field in struct vsp1_du_atomic_config
> >>
> >> v2:
> >> - fix erroneous BIT value which enabled interlaced
> >> - fix field handling at frame_end interrupt
> >>
> >> ---
> >>
> >> drivers/media/platform/vsp1/vsp1_dl.c | 10 ++++-
> >> drivers/media/platform/vsp1/vsp1_drm.c | 11 ++++-
> >> drivers/media/platform/vsp1/vsp1_regs.h | 1 +-
> >> drivers/media/platform/vsp1/vsp1_rpf.c | 71 ++++++++++++++++++++++++--
> >> drivers/media/platform/vsp1/vsp1_rwpf.h | 1 +-
> >> include/media/vsp1.h | 2 +-
> >> 6 files changed, 93 insertions(+), 3 deletions(-)
[snip]
> >> diff --git a/drivers/media/platform/vsp1/vsp1_drm.c
> >> b/drivers/media/platform/vsp1/vsp1_drm.c index 2c3db8b8adce..cc29c9d96bb7
> >> 100644
> >> --- a/drivers/media/platform/vsp1/vsp1_drm.c
> >> +++ b/drivers/media/platform/vsp1/vsp1_drm.c
> >> @@ -811,6 +811,17 @@ int vsp1_du_atomic_update(struct device *dev,
> >> unsigned
> >> int pipe_index, return -EINVAL;
> >>
> >> }
> >>
> >> + if (!(vsp1_feature(vsp1, VSP1_HAS_EXT_DL)) && cfg->interlaced) {
> >
> > Nitpicking, writing the condition as
> >
> > if (cfg->interlaced && !(vsp1_feature(vsp1, VSP1_HAS_EXT_DL)))
>
> Done.
>
> > would match the comment better. You can also drop the parentheses around
> > the vsp1_feature() call.
> >
> >> + /*
> >> + * Interlaced support requires extended display lists to
> >> + * provide the auto-fld feature with the DU.
> >> + */
> >> + dev_dbg(vsp1->dev, "Interlaced unsupported on this output\n");
> >
> > Could we catch this in the DU driver to fail atomic test ?
>
> Ugh - I thought moving the configuration to vsp1_du_setup_lif() would
> give us this, but that return value is not checked in the DU.
>
> How can we interogate the VSP1 to ask it if it supports interlaced from
> rcar_du_vsp_plane_atomic_check()?
>
>
> Some dummy call to vsp1_du_setup_lif() to check the return value ? Or
> should we implement a hook to call through to perform checks in the VSP1
> DRM API?
Would it be possible to just infer that from the DU compatible string, without
querying the VSP driver ? Of course that's a bit of a layering violation, but
as we know what type of VSP instance is present in each SoC, such a small hack
wouldn't hurt in my opinion. If the need arises later we can introduce an API
to query the information from the VSP driver.
> >> + return -EINVAL;
> >> + }
> >> +
> >> + rpf->interlaced = cfg->interlaced;
> >> +
> >> rpf->fmtinfo = fmtinfo;
> >> rpf->format.num_planes = fmtinfo->planes;
> >> rpf->format.plane_fmt[0].bytesperline = cfg->pitch;
[snip]
--
Regards,
Laurent Pinchart
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2018-07-17 13:24 UTC|newest]
Thread overview: 78+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-03 13:36 [PATCH v4 00/11] R-Car DU Interlaced support through VSP1 Kieran Bingham
2018-05-03 13:36 ` Kieran Bingham
2018-05-03 13:36 ` [PATCH v4 01/11] media: vsp1: drm: Fix minor grammar error Kieran Bingham
2018-05-03 13:36 ` Kieran Bingham
2018-05-24 10:24 ` Laurent Pinchart
2018-05-24 10:24 ` Laurent Pinchart
2018-05-03 13:36 ` [PATCH v4 02/11] media: vsp1: Remove packed attributes from aligned structures Kieran Bingham
2018-05-03 13:36 ` Kieran Bingham
2018-05-24 10:47 ` Laurent Pinchart
2018-05-24 10:47 ` Laurent Pinchart
2018-07-13 10:17 ` Kieran Bingham
2018-07-13 10:17 ` Kieran Bingham
2018-05-03 13:36 ` [PATCH v4 03/11] media: vsp1: Rename dl_child to dl_next Kieran Bingham
2018-05-03 13:36 ` Kieran Bingham
2018-05-24 10:51 ` Laurent Pinchart
2018-05-24 10:51 ` Laurent Pinchart
2018-05-03 13:36 ` [PATCH v4 04/11] media: vsp1: Remove unused display list structure field Kieran Bingham
2018-05-03 13:36 ` Kieran Bingham
2018-05-24 10:51 ` Laurent Pinchart
2018-05-24 10:51 ` Laurent Pinchart
2018-05-03 13:36 ` [PATCH v4 05/11] media: vsp1: Clean up DLM objects on error Kieran Bingham
2018-05-03 13:36 ` Kieran Bingham
2018-05-24 10:58 ` Laurent Pinchart
2018-05-24 10:58 ` Laurent Pinchart
2018-05-03 13:36 ` [PATCH v4 06/11] media: vsp1: Provide VSP1 feature helper macro Kieran Bingham
2018-05-03 13:36 ` Kieran Bingham
2018-05-24 11:00 ` Laurent Pinchart
2018-05-24 11:00 ` Laurent Pinchart
2018-05-03 13:36 ` [PATCH v4 07/11] media: vsp1: Use header display lists for all WPF outputs linked to the DU Kieran Bingham
2018-05-03 13:36 ` Kieran Bingham
2018-05-24 11:10 ` Laurent Pinchart
2018-05-24 11:10 ` Laurent Pinchart
2018-07-13 10:39 ` Kieran Bingham
2018-07-13 10:39 ` Kieran Bingham
2018-05-03 13:36 ` [PATCH v4 08/11] media: vsp1: Add support for extended display list headers Kieran Bingham
2018-05-03 13:36 ` Kieran Bingham
2018-05-24 11:44 ` Laurent Pinchart
2018-05-24 11:44 ` Laurent Pinchart
2018-07-16 17:14 ` Kieran Bingham
2018-07-16 17:14 ` Kieran Bingham
2018-07-17 10:53 ` Laurent Pinchart
2018-07-17 10:53 ` Laurent Pinchart
2018-07-17 15:01 ` Kieran Bingham
2018-07-17 15:01 ` Kieran Bingham
2018-05-03 13:36 ` [PATCH v4 09/11] media: vsp1: Provide support for extended command pools Kieran Bingham
2018-05-03 13:36 ` Kieran Bingham
2018-05-24 12:12 ` Laurent Pinchart
2018-05-24 12:12 ` Laurent Pinchart
2018-07-17 15:59 ` Kieran Bingham
2018-07-17 15:59 ` Kieran Bingham
2018-05-03 13:36 ` [PATCH v4 10/11] media: vsp1: Support Interlaced display pipelines Kieran Bingham
2018-05-03 13:36 ` Kieran Bingham
2018-05-24 12:51 ` Laurent Pinchart
2018-05-24 12:51 ` Laurent Pinchart
2018-07-16 18:21 ` Kieran Bingham
2018-07-16 18:21 ` Kieran Bingham
2018-07-17 12:52 ` Laurent Pinchart [this message]
2018-07-17 12:52 ` Laurent Pinchart
2018-07-17 16:08 ` Kieran Bingham
2018-07-17 16:08 ` Kieran Bingham
2018-07-17 17:42 ` Laurent Pinchart
2018-07-17 17:42 ` Laurent Pinchart
2018-07-17 14:23 ` Kieran Bingham
2018-07-17 14:23 ` Kieran Bingham
2018-05-03 13:36 ` [PATCH v4 11/11] drm: rcar-du: Support interlaced video output through vsp1 Kieran Bingham
2018-05-03 13:36 ` Kieran Bingham
2018-05-24 11:50 ` Laurent Pinchart
2018-05-24 11:50 ` Laurent Pinchart
2018-07-16 17:20 ` Kieran Bingham
2018-07-16 17:20 ` Kieran Bingham
2018-07-17 13:51 ` Laurent Pinchart
2018-07-17 13:51 ` Laurent Pinchart
2018-07-17 20:32 ` Kieran Bingham
2018-07-17 20:32 ` Kieran Bingham
2018-07-18 8:55 ` Laurent Pinchart
2018-07-18 8:55 ` Laurent Pinchart
2018-07-18 9:55 ` Kieran Bingham
2018-07-18 9:55 ` 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=5111021.qdhzlld4I3@avalon \
--to=laurent.pinchart@ideasonboard.com \
--cc=dri-devel@lists.freedesktop.org \
--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.