From: Jesse Barnes <jbarnes@virtuousgeek.org>
To: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: dri-devel@lists.freedesktop.org, "Clark, Rob" <rob@ti.com>,
Hans Verkuil <hverkuil@xs4all.nl>,
linux-media@vger.kernel.org
Subject: Re: [RFC] drm: add overlays as first class KMS objects
Date: Fri, 13 May 2011 18:02:56 -0700 [thread overview]
Message-ID: <20110513180256.773ec8aa@jbarnes-desktop> (raw)
In-Reply-To: <BANLkTimSrSgxcS2khHvAQPK+-vdfxo7VGg@mail.gmail.com>
On Fri, 13 May 2011 18:16:30 +0200
Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
> Hi Jesse,
>
> Discussion here in Budapest with v4l and embedded graphics folks was
> extremely fruitful. A few quick things to take away - I'll try to dig
> through all
> the stuff I've learned more in-depth later (probably in a blog post or two):
>
> - embedded graphics is insane. The output routing/blending/whatever
> currently shipping hw can do is crazy and kms as-is is nowhere near up
> to snuff to support this. We've discussed omap4 and a ti chip targeted at
> video surveillance as use cases. I'll post block diagrams and explanations
> some when later.
Yeah I expected that; even just TVs can have really funky restrictions
about z order and blend capability.
> - we should immediately stop to call anything an overlay. It's a confusing
> concept that has a different meaning in every subsystem and for every hw
> manufacturer. More sensible names are dma fifo engines for things that slurp
> in planes and make them available to the display subsystem. Blend engines
> for blocks that take multiple input pipes and overlay/underlay/blend them
> together. Display subsytem/controller for the aggregate thing including
> encoders/resizers/outputs and especially the crazy routing network that
> connects everything.
How about just "display plane" then? Specifically in the context of
display output hardware...
> 1) Splitting the crtc object into two objects: crtc with associated output mode
> (pixel clock, encoders/connectors) and dma engines (possibly multiple) that
> feed it. omap 4 has essentially just 4 dma engines that can be freely assigned
> to the available outputs, so a distinction between normal crtcs and overlay
> engines just does not make sense. There's the major open question of where
> to put the various attributes to set up the output pipeline. Also some of these
> attributes might need to be changed atomicly together with pageflips on
> a bunch of dma engines all associated with the same crtc on the next vsync,
> e.g. output position of an overlaid video buffer.
Yeah, that's a good goal, and pretty much what I had in mind here.
However, breaking the existing interface is a non-starter, so either we
need a new CRTC object altogether, or we preserve the idea of a
"primary" plane (whatever that means for a given platform) that's tied
to each CRTC, which each additional plane described in a separate
structure. Z order and blend restrictions will have to be communicated
separately I think...
Thanks,
--
Jesse Barnes, Intel Open Source Technology Center
next prev parent reply other threads:[~2011-05-14 1:02 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-25 22:12 [RFC] drm: add overlays as first class KMS objects Jesse Barnes
2011-04-25 23:16 ` Keith Packard
2011-04-25 23:22 ` Jesse Barnes
2011-04-25 23:35 ` Stéphane Marchesin
2011-04-25 23:52 ` Jesse Barnes
2011-04-26 1:17 ` Keith Packard
2011-04-26 9:37 ` Alan Cox
2011-04-28 16:24 ` Rob Clark
2011-04-25 23:37 ` Keith Packard
2011-04-25 23:58 ` Jesse Barnes
2011-04-26 0:28 ` Alex Deucher
2011-04-26 0:33 ` Jesse Barnes
2011-04-26 14:01 ` Jerome Glisse
2011-04-26 14:16 ` Alan Cox
2011-04-26 15:11 ` Jerome Glisse
2011-04-26 15:29 ` Alan Cox
2011-04-26 10:01 ` Alan Cox
2011-04-26 15:16 ` Jesse Barnes
2011-04-28 16:32 ` Rob Clark
2011-04-26 15:20 ` Ville Syrjälä
2011-04-26 15:31 ` Jesse Barnes
2011-04-26 15:38 ` Alan Cox
2011-04-27 12:19 ` Daniel Vetter
2011-04-27 13:32 ` Jerome Glisse
2011-04-27 14:27 ` Daniel Vetter
2011-04-27 14:34 ` Chris Wilson
2011-04-27 14:50 ` Daniel Vetter
2011-04-27 14:56 ` Ville Syrjälä
2011-04-27 21:12 ` Jesse Barnes
2011-04-28 6:47 ` Daniel Vetter
2011-04-28 17:37 ` Jakob Bornecrantz
2011-04-28 17:03 ` Rob Clark
2011-04-28 17:54 ` Ville Syrjälä
2011-05-13 16:16 ` Daniel Vetter
2011-05-14 1:02 ` Jesse Barnes [this message]
2011-05-15 0:00 ` Clark, Rob
2011-05-17 18:35 ` Laurent Pinchart
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=20110513180256.773ec8aa@jbarnes-desktop \
--to=jbarnes@virtuousgeek.org \
--cc=daniel.vetter@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=hverkuil@xs4all.nl \
--cc=linux-media@vger.kernel.org \
--cc=rob@ti.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox