All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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 [Ksummit-discuss] [TECH TOPIC] Addressing complex dependencies and semantics (v2) 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 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.