All of 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 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.