From: Daniel Vetter <daniel.vetter@ffwll.ch>
To: Jesse Barnes <jbarnes@virtuousgeek.org>
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:16:30 +0200 [thread overview]
Message-ID: <BANLkTimSrSgxcS2khHvAQPK+-vdfxo7VGg@mail.gmail.com> (raw)
In-Reply-To: <20110425151220.2f5dc17a@jbarnes-desktop>
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.
- 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.
Most of the discussion centered around clearing up the confusion and
reaching a mutual understanding between desktop graphics, embedded
graphics and v4l people. Two rough ideas emerged though:
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.
2) The above should be good enough to support halfway sane chips like
omap4. But hw with more insane routing capabilities that can also use v4l
devices as sources (even video input connectors) media controller might be
a good fit. Media controller is designed to expose multimedia pipe routing
across different subsystem. But the first version, still marked experimental,
only got merged in .39. We discussed a few ideas as how to splice
media controller into kms but nothing clear emerged. So a possible kms
integration with media
controller is rather far away.
Yours, Daniel
--
Daniel Vetter
daniel.vetter@ffwll.ch - +41 (0) 79 364 57 48 - http://blog.ffwll.ch
next prev parent reply other threads:[~2011-05-13 16:16 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 [this message]
2011-05-14 1:02 ` Jesse Barnes
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=BANLkTimSrSgxcS2khHvAQPK+-vdfxo7VGg@mail.gmail.com \
--to=daniel.vetter@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=hverkuil@xs4all.nl \
--cc=jbarnes@virtuousgeek.org \
--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