From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Cc: ksummit-discuss@lists.linuxfoundation.org,
"vegard.nossum@gmail.com" <vegard.nossum@gmail.com>,
"rafael.j.wysocki" <rafael.j.wysocki@intel.com>,
Marek Szyprowski <m.szyprowski@samsung.com>,
Valentin Rothberg <valentinrothberg@gmail.com>
Subject: Re: [Ksummit-discuss] [TECH TOPIC] Addressing complex dependencies and semantics (v2)
Date: Thu, 28 Jul 2016 19:04:49 +0300 [thread overview]
Message-ID: <3704346.bW37OlXF5c@avalon> (raw)
In-Reply-To: <20160728092558.3efa4bf8@recife.lan>
Hi Mauro,
On Thursday 28 Jul 2016 09:25:58 Mauro Carvalho Chehab wrote:
> Em Thu, 28 Jul 2016 14:24:49 +0300 Laurent Pinchart escreveu:
> > On Thursday 28 Jul 2016 08:18:08 Mauro Carvalho Chehab wrote:
> > > Em Wed, 27 Jul 2016 09:50:04 -0700 Luis R. Rodriguez escreveu:
> > > > (first e-mail bounced)
> > > >
> > > > Rafael has proposed has a set of patches to help deal with functional
> > > > dependencies between devices to help with power management. Mauro has
> > > > spoken briefly before over the media controller feature graph used to
> > > > help build relationship between complex dynamic dependencies.
> > >
> > > Actually, there are two separate at the media subsystem:
> > >
> > > 1) the complex dependencies at the build system, required by the media
> > > devices, as almost all media hardware require multiple drivers in order
> > > to work. The media controller is unrelated to it.
> > >
> > > We have right now a very complex Kconfig setup, as we try to map what
> > > user wants (a driver for the board "foo") with the requirements that
> > > such "foo" device requires (e. g. tuner "bar", demod "foobar",
> > > main driver "foodriver", etc).
> > >
> > > 2) the complexity of setting up pipelines using the media controller.
> > >
> > > The media controller reflects the complexity of the media devices,
> > > showing their internal topology and allowing userspace to dynamically
> > > re-route the pipelines. There are several such pipeline examples,
> > >
> > > obtained from real hardware at:
> > > https://mchehab.fedorapeople.org/mc-next-gen/
> > >
> > > Internally, the media controller has a logic to do graph traversal,
> > > in order to setup such pipelines. As the idea is to use SAT for the
> > > build system, eventually we could re-use its code inside the media
> > > controller, in order to improve the media controller logic, if such
> > > code find its way into the Kernel itself.
> >
> > I'm not sure to follow you there. How would an SAT solver help the media
> > controller ?
>
> As you know, there are two types or V4L2 devices. Let me enumerate them
> to help the others to follow the discussions.
>
> The vast majority of the V4L2 devices use only the /dev/video?,
> /dev/radio? /dev/vbi? device drivers to provide userspace interface.
> On such devices, the hardware pipelines are dynamically created by the
> Kernel. Let's call them as "device-centric" device drivers.
>
> The V4L2 drivers meant for embedded usage typically also provide a
> per-subdevice device node, via the V4L2 sub-device API extension:
> https://linuxtv.org/downloads/v4l-dvb-apis-new/media/uapi/v4l/dev-> subdev.html
> Also, on such drivers, the pipelines are explicitly created via
> userspace. Let's call them as "media-controller-centric" device drivers.
Nitpicking, the pipelines are not created by userspace, they're controlled by
userspace. I think we agree on this, it's just a matter of terminology.
> Right now, all DVB devices are also device-centric, as we don't have
> yet any sub-device API, and the DVB API currently assumes dynamic
> pipeline setup.
>
> It should also be said that the generic media applications (xawtv,
> tvtime, kaffeine, MythTV, camorama, Skype, etc) assume that the pipelines
> will be set automatically by the Kernel. We currently lack a generic
> application that would automatically setup the required pipelines
> that would work for all media-controller-centric devices,
> as the pipeline settings are device-specific.
>
> For the device-centric media devices, the pipelines should be created by
> the Kernel, and not via userspace. On such cases, a SAT solver could help
> to setup the hardware pipelines.
That's the part I don't get. How is SAT related to that ?
> > > So, I'm very interested on this topic.
--
Regards,
Laurent Pinchart
next prev parent reply other threads:[~2016-07-28 16:04 UTC|newest]
Thread overview: 111+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-27 16:50 Luis R. Rodriguez
2016-07-27 17:26 ` Mark Brown
2016-07-27 17:58 ` Luis R. Rodriguez
2016-07-27 18:03 ` Mark Brown
2016-07-27 19:20 ` Luis R. Rodriguez
2016-07-28 0:54 ` Rafael J. Wysocki
2016-07-28 10:41 ` Laurent Pinchart
2016-07-28 10:54 ` Hans Verkuil
2016-07-28 11:03 ` Laurent Pinchart
2016-07-28 11:46 ` Jan Kara
2016-07-28 15:16 ` Mark Brown
2016-07-28 16:00 ` Laurent Pinchart
2016-08-02 8:32 ` Jan Kara
2016-08-03 14:17 ` Alexandre Belloni
2016-07-30 1:59 ` Steven Rostedt
2016-08-01 13:12 ` Laurent Pinchart
2016-07-28 20:12 ` Lars-Peter Clausen
2016-07-28 20:38 ` Mark Brown
2016-08-01 13:15 ` Laurent Pinchart
2016-07-28 14:36 ` Rafael J. Wysocki
2016-07-29 7:33 ` Hans Verkuil
2016-08-01 13:03 ` Laurent Pinchart
2016-08-01 13:17 ` Hans Verkuil
2016-08-04 8:22 ` Jani Nikula
2016-08-04 9:50 ` Greg KH
2016-08-04 10:20 ` Mark Brown
2016-08-04 10:27 ` Jani Nikula
2016-08-05 2:59 ` Rob Herring
2016-08-05 9:01 ` Arnd Bergmann
2016-08-05 10:54 ` Greg KH
2016-08-05 11:31 ` Andrzej Hajda
2016-08-05 11:58 ` Mark Brown
2016-08-05 13:43 ` Greg KH
2016-08-05 19:27 ` Rob Herring
2016-08-09 8:08 ` Daniel Vetter
2016-08-09 8:17 ` Greg KH
2016-08-09 12:04 ` Daniel Vetter
2016-08-04 12:37 ` Geert Uytterhoeven
2016-08-04 15:53 ` Mark Brown
2016-07-28 21:49 ` Lars-Peter Clausen
2016-07-29 3:50 ` Greg KH
2016-07-29 7:45 ` Hans Verkuil
2016-07-29 7:55 ` Lars-Peter Clausen
2016-08-01 13:06 ` Laurent Pinchart
2016-07-29 11:13 ` Mark Brown
2016-08-01 13:09 ` Laurent Pinchart
2016-08-01 13:14 ` Lars-Peter Clausen
2016-08-01 13:19 ` Laurent Pinchart
2016-08-01 13:21 ` Hans Verkuil
2016-08-01 13:26 ` Laurent Pinchart
2016-08-01 13:35 ` Hans Verkuil
2016-08-01 13:38 ` Laurent Pinchart
2016-08-01 13:51 ` Hans Verkuil
2016-08-01 17:15 ` Laurent Pinchart
2016-08-01 13:33 ` Lars-Peter Clausen
2016-08-01 13:55 ` Mauro Carvalho Chehab
2016-08-01 14:41 ` Lars-Peter Clausen
2016-08-01 14:44 ` Andrzej Hajda
2016-08-01 14:54 ` Lars-Peter Clausen
2016-08-01 15:20 ` Mark Brown
2016-08-01 15:34 ` Andrzej Hajda
2016-08-01 15:43 ` Lars-Peter Clausen
2016-08-01 16:18 ` Andrzej Hajda
2016-08-01 17:06 ` Mark Brown
2016-08-01 18:21 ` Lars-Peter Clausen
2016-08-02 11:45 ` Andrzej Hajda
2016-08-01 18:33 ` Andrzej Hajda
2016-08-01 18:48 ` Mark Brown
2016-08-01 19:42 ` Andrzej Hajda
2016-08-01 20:05 ` Lars-Peter Clausen
2016-08-02 8:57 ` Takashi Iwai
2016-08-01 17:40 ` Laurent Pinchart
2016-08-02 7:38 ` Greg KH
2016-08-01 19:03 ` Luis R. Rodriguez
2016-08-02 0:01 ` Rafael J. Wysocki
2016-08-02 0:56 ` Luis R. Rodriguez
2016-08-02 1:03 ` Dmitry Torokhov
2016-08-02 8:30 ` Jiri Kosina
2016-08-02 9:41 ` Hannes Reinecke
2016-08-02 9:48 ` Jiri Kosina
2016-08-02 11:50 ` Takashi Iwai
2016-08-09 9:57 ` Jörg Rödel
2016-08-09 16:08 ` James Bottomley
2016-08-09 16:11 ` James Bottomley
2016-08-09 16:51 ` Luis R. Rodriguez
2016-08-09 17:05 ` David Woodhouse
2016-08-09 17:12 ` James Bottomley
2016-08-09 16:53 ` Jörg Rödel
2016-08-09 18:06 ` Luis R. Rodriguez
2016-08-10 15:21 ` Jörg Rödel
2016-08-10 16:42 ` Luis R. Rodriguez
2016-08-10 21:37 ` Jörg Rödel
2016-08-12 7:33 ` Linus Walleij
2016-07-27 18:50 ` Dmitry Torokhov
2016-07-28 10:43 ` Marc Zyngier
2016-07-28 10:51 ` Laurent Pinchart
2016-07-28 23:43 ` Luis R. Rodriguez
2016-08-01 12:44 ` Laurent Pinchart
2016-07-28 11:18 ` Mauro Carvalho Chehab
2016-07-28 11:24 ` Laurent Pinchart
2016-07-28 12:25 ` Mauro Carvalho Chehab
2016-07-28 16:04 ` Laurent Pinchart [this message]
2016-07-29 0:00 ` Luis R. Rodriguez
2016-08-01 12:50 ` Laurent Pinchart
2016-08-01 20:32 ` Luis R. Rodriguez
2016-07-29 13:57 ` Andrzej Hajda
2016-09-07 16:40 ` Kevin Hilman
2016-08-01 14:03 ` Marek Szyprowski
2016-11-03 18:43 ` Laurent Pinchart
2016-11-04 6:53 ` Marek Szyprowski
2016-09-08 21:03 ` Frank Rowand
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=3704346.bW37OlXF5c@avalon \
--to=laurent.pinchart@ideasonboard.com \
--cc=ksummit-discuss@lists.linuxfoundation.org \
--cc=m.szyprowski@samsung.com \
--cc=mchehab@osg.samsung.com \
--cc=rafael.j.wysocki@intel.com \
--cc=valentinrothberg@gmail.com \
--cc=vegard.nossum@gmail.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