dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
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

  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