From: andrew-ct chen <andrew-ct.chen-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>
To: Daniel Thompson
<daniel.thompson-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Cc: Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>,
James Liao <jamesjj.liao-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>,
Catalin Marinas <catalin.marinas-5wv7dgnIgG8@public.gmane.org>,
Will Deacon <will.deacon-5wv7dgnIgG8@public.gmane.org>,
Darren Etheridge <detheridge-l0cyMroinI0@public.gmane.org>,
Laurent Pinchart
<laurent.pinchart-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org>,
Eddie Huang <eddie.huang-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>,
Pawel Moll <pawel.moll-5wv7dgnIgG8@public.gmane.org>,
Hongzhou Yang
<hongzhou.yang-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>,
Mauro Carvalho Chehab
<mchehab-JPH+aEBZ4P+UEJcrhfAQsw@public.gmane.org>,
Fabien Dessenne <fabien.dessenne-qxv4g6HH51o@public.gmane.org>,
Peter Griffin
<peter.griffin-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
Geert Uytterhoeven
<geert-Td1EMuHUCqxL1ZNQvxDV9g@public.gmane.org>,
Mikhail Ulyanov
<mikhail.ulyanov-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org>,
Hans Verkuil
<hans.verkuil-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org>,
linux-media-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>,
Ian Campbell
<ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org>,
Sascha Hauer <s.hauer-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>,
Benoit Parrot <bparrot-l0cyMroinI0@public.gmane.org>,
Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Subject: Re: [RESEND RFC/PATCH 3/8] media: platform: mtk-vpu: Support Mediatek VPU
Date: Mon, 30 Nov 2015 19:43:39 +0800 [thread overview]
Message-ID: <1448883819.15961.7.camel@mtksdaap41> (raw)
In-Reply-To: <56584AC5.7020704-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
On Fri, 2015-11-27 at 12:21 +0000, Daniel Thompson wrote:
> On 27/11/15 12:10, andrew-ct chen wrote:
> >>> +
> >>> > >+ memcpy((void *)send_obj->share_buf, buf, len);
> >>> > >+ send_obj->len = len;
> >>> > >+ send_obj->id = id;
> >>> > >+ vpu_cfg_writel(vpu, 0x1, HOST_TO_VPU);
> >>> > >+
> >>> > >+ /* Wait until VPU receives the command */
> >>> > >+ timeout = jiffies + msecs_to_jiffies(IPI_TIMEOUT_MS);
> >>> > >+ do {
> >>> > >+ if (time_after(jiffies, timeout)) {
> >>> > >+ dev_err(vpu->dev, "vpu_ipi_send: IPI timeout!\n");
> >>> > >+ return -EIO;
> >>> > >+ }
> >>> > >+ } while (vpu_cfg_readl(vpu, HOST_TO_VPU));
> >> >
> >> >Do we need to busy wait every time we communicate with the co-processor?
> >> >Couldn't we put this wait*before* we write to HOST_TO_VPU above.
> >> >
> >> >That way we only spin when there is a need to.
> >> >
> > Since the hardware VPU only allows that one client sends the command to
> > it each time.
> > We need the wait to make sure VPU accepted the command and cleared the
> > interrupt and then the next command would be served.
>
> I understand that the VPU can only have on message outstanding at once.
>
> I just wonder why we busy wait *after* sending the first command rather
> than *before* sending the second one.
No other special reasons. Just send one command and wait until VPU gets
the command. Then, I think this wait also can be put before we write to
HOST_TO_VPU.Is this better than former? May I know the reason?
>
> Streamed decode/encode typically ends up being rate controlled by
> capture or display meaning that in these cases we don't need to busy
> wait at all (because by the time we send the next frame the VPU has
> already accepted the previous message).
For now, only one device "encoder" exists, it is true.
But, we'll have encoder and decoder devices, the decode and encode
requested to VPU are simultaneous.
Is this supposed to be removed for this patches and we can add it back
if the another device(decoder) is ready for review?
Andrew
>
>
> Daniel.
>
>
> _______________________________________________
> Linux-mediatek mailing list
> Linux-mediatek-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
> http://lists.infradead.org/mailman/listinfo/linux-mediatek
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2015-11-30 11:43 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-17 12:54 [RESEND RFC/PATCH 0/8] Add MT8173 Video Encoder Driver and VPU Driver Tiffany Lin
2015-11-17 12:54 ` [RESEND RFC/PATCH 2/8] arm64: dts: mediatek: Add node for Mediatek Video Processor Unit Tiffany Lin
[not found] ` <1447764885-23100-1-git-send-email-tiffany.lin-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>
2015-11-17 12:54 ` [RESEND RFC/PATCH 1/8] dt-bindings: Add a binding " Tiffany Lin
2015-11-17 14:13 ` Mark Rutland
2015-11-19 2:47 ` andrew-ct chen
2015-11-17 12:54 ` [RESEND RFC/PATCH 3/8] media: platform: mtk-vpu: Support Mediatek VPU Tiffany Lin
[not found] ` <1447764885-23100-4-git-send-email-tiffany.lin-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>
2015-11-25 16:11 ` Daniel Thompson
[not found] ` <5655DDB4.2080002-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-11-27 12:10 ` andrew-ct chen
2015-11-27 12:21 ` Daniel Thompson
[not found] ` <56584AC5.7020704-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-11-30 11:43 ` andrew-ct chen [this message]
2015-11-30 15:36 ` Daniel Thompson
[not found] ` <CAMTL27G8WRTTGCtU9pXpp1-inyzZE9Jat1SkOiX5HMG5E-eFzw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-12-01 14:31 ` andrew-ct chen
2015-11-17 12:54 ` [RESEND RFC/PATCH 4/8] dt-bindings: Add a binding for Mediatek Video Encoder Tiffany Lin
2015-11-17 19:41 ` Rob Herring
2015-11-18 6:21 ` tiffany lin
2015-11-18 7:09 ` tiffany lin
2015-11-17 12:54 ` [RESEND RFC/PATCH 5/8] arm64: dts: mediatek: Add Video Encoder for MT8173 Tiffany Lin
2015-11-19 7:40 ` [RESEND RFC/PATCH 0/8] Add MT8173 Video Encoder Driver and VPU Driver Hans Verkuil
2015-11-17 12:54 ` [RESEND RFC/PATCH 6/8] media: platform: mtk-vcodec: Add Mediatek V4L2 Video Encoder Driver Tiffany Lin
[not found] ` <1447764885-23100-7-git-send-email-tiffany.lin-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>
2015-11-27 16:34 ` Daniel Thompson
[not found] ` <56588622.8060600-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-11-30 11:39 ` tiffany lin
2015-11-30 14:58 ` Daniel Thompson
[not found] ` <CAMTL27FchgtJZS4YpVge-x+TstnVHmG1aAnaOV32qCU3zMUbAQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-12-01 10:42 ` tiffany lin
2015-12-01 15:42 ` Daniel Thompson
2015-12-02 13:08 ` tiffany lin
2015-12-02 16:02 ` Daniel Thompson
2015-11-17 12:54 ` [RESEND RFC/PATCH 7/8] media: platform: mtk-vcodec: Add Mediatek VP8 " Tiffany Lin
2015-11-17 12:54 ` [RESEND RFC/PATCH 8/8] media: platform: mtk-vcodec: Add Mediatek H264 " Tiffany Lin
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=1448883819.15961.7.camel@mtksdaap41 \
--to=andrew-ct.chen-nus5lvnupcjwk0htik3j/w@public.gmane.org \
--cc=arnd-r2nGTMty4D4@public.gmane.org \
--cc=bparrot-l0cyMroinI0@public.gmane.org \
--cc=catalin.marinas-5wv7dgnIgG8@public.gmane.org \
--cc=daniel.thompson-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=detheridge-l0cyMroinI0@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=eddie.huang-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org \
--cc=fabien.dessenne-qxv4g6HH51o@public.gmane.org \
--cc=geert-Td1EMuHUCqxL1ZNQvxDV9g@public.gmane.org \
--cc=hans.verkuil-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org \
--cc=hongzhou.yang-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org \
--cc=ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org \
--cc=jamesjj.liao-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org \
--cc=laurent.pinchart-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org \
--cc=linux-media-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
--cc=mchehab-JPH+aEBZ4P+UEJcrhfAQsw@public.gmane.org \
--cc=mikhail.ulyanov-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org \
--cc=pawel.moll-5wv7dgnIgG8@public.gmane.org \
--cc=peter.griffin-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=s.hauer-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
--cc=will.deacon-5wv7dgnIgG8@public.gmane.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;
as well as URLs for NNTP newsgroup(s).