* [Ksummit-discuss] [Unconference] PM dependencies
@ 2014-08-18 13:08 Laurent Pinchart
2014-08-18 14:11 ` Linus Walleij
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Laurent Pinchart @ 2014-08-18 13:08 UTC (permalink / raw)
To: ksummit-discuss; +Cc: Mauro Carvalho Chehab
Hello,
As we still haven't hammered out PM dependencies I propose discussing it in
the unconference track. Shuah and Mauro have reminded me of their interest in
the topic, does anyone else want to discuss it ?
The unconference slots are 30 minutes long only. We should avoid spending all
the allocated time presenting the problems, so please post your use case(s) in
a reply to this mail thread if you plan to participate.
--
Regards,
Laurent Pinchart
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [Ksummit-discuss] [Unconference] PM dependencies 2014-08-18 13:08 [Ksummit-discuss] [Unconference] PM dependencies Laurent Pinchart @ 2014-08-18 14:11 ` Linus Walleij 2014-08-19 2:46 ` Shuah Khan 2014-08-19 3:50 ` Mauro Carvalho Chehab 2014-08-19 20:08 ` Mauro Carvalho Chehab 2 siblings, 1 reply; 6+ messages in thread From: Linus Walleij @ 2014-08-18 14:11 UTC (permalink / raw) To: Laurent Pinchart; +Cc: ksummit-discuss, Mauro Carvalho Chehab On Mon, Aug 18, 2014 at 8:08 AM, Laurent Pinchart <laurent.pinchart@ideasonboard.com> wrote: > As we still haven't hammered out PM dependencies I propose discussing it in > the unconference track. Shuah and Mauro have reminded me of their interest in > the topic, does anyone else want to discuss it ? Count me in. Yours, Linus Walleij ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Ksummit-discuss] [Unconference] PM dependencies 2014-08-18 14:11 ` Linus Walleij @ 2014-08-19 2:46 ` Shuah Khan 0 siblings, 0 replies; 6+ messages in thread From: Shuah Khan @ 2014-08-19 2:46 UTC (permalink / raw) To: Linus Walleij; +Cc: ksummit-discuss, Mauro Carvalho Chehab On Mon, Aug 18, 2014 at 8:11 AM, Linus Walleij <linus.walleij@linaro.org> wrote: > On Mon, Aug 18, 2014 at 8:08 AM, Laurent Pinchart > <laurent.pinchart@ideasonboard.com> wrote: > >> As we still haven't hammered out PM dependencies I propose discussing it in >> the unconference track. Shuah and Mauro have reminded me of their interest in >> the topic, does anyone else want to discuss it ? > > Count me in. > Count me in as well. I updated the wiki for 2:30 timeslot -- Shuah ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Ksummit-discuss] [Unconference] PM dependencies 2014-08-18 13:08 [Ksummit-discuss] [Unconference] PM dependencies Laurent Pinchart 2014-08-18 14:11 ` Linus Walleij @ 2014-08-19 3:50 ` Mauro Carvalho Chehab 2014-08-19 20:08 ` Mauro Carvalho Chehab 2 siblings, 0 replies; 6+ messages in thread From: Mauro Carvalho Chehab @ 2014-08-19 3:50 UTC (permalink / raw) To: Laurent Pinchart; +Cc: ksummit-discuss Em Mon, 18 Aug 2014 15:08:05 +0200 Laurent Pinchart <laurent.pinchart@ideasonboard.com> escreveu: > Hello, > > As we still haven't hammered out PM dependencies I propose discussing it in > the unconference track. Shuah and Mauro have reminded me of their interest in > the topic, does anyone else want to discuss it ? Count on me on that. > The unconference slots are 30 minutes long only. We should avoid spending all > the allocated time presenting the problems, so please post your use case(s) in > a reply to this mail thread if you plan to participate. One usecase we're seeing is how to properly resume a complex media device that was streaming when the system got suspend. Resuming it is a complex challenge, if we want to keep the device streaming after resume, as such devices depend on: - I2C subsystem (as the communication with tuner/demod depends on that); - block subsystem and eventually userspace, in order to load a firmware (generally required by tuner and/or by the demod); - DVB core subsystem, as some threads need to be started there; - Media subsystem; - Input subsystem (due to remote controller). Sometimes, IR is provided by a separate device driver, like mceusb, but there are some devices, where the IR receiver is connected to some weird block (on au0828 devices, the IR is connected to the Analog/Digital TV demod - au8522); - Tuner sub-driver, with needs to tune to the last channel, after re-loading the firmware (if it needs); - DVB (or analog TV) demodulator, with need to be coordinated with the tuner at dvb recovery, in order to pass the right parameters to decode the video system used by the tuned channel; - For analog TV, the VBI decoding logic should also be reenabled, if it was active during suspend time; - ALSA driver (on some cases, using an USB Vendor Class, but on other cases just uses the standard USB Audio Class supported by an independent driver; - Restart some threads that were stopped at resume (some are driver-specific, while others are part of the DVB or Remote Controller core). The PM recovery order is important, as doing it at the wrong order may either cause the device to not work after resume or to produce bad side effects. For example, cx88 audio carrier detection happens by a kthread that does some DSP processing to detect the audio standard. If the ALSA audio is unmuted too early, white noise can be output to the speakers. On other devices, like tm6000, both audio, video and VBI comes via the very same DMA engine, and are packed together (in a way that looks like an MPEG-TS). So, the ALSA driver or VBI will only work if the video is streaming. Of course, we don't want to restart video streaming before having the device tuned and the demod properly set. Regards, Mauro ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Ksummit-discuss] [Unconference] PM dependencies 2014-08-18 13:08 [Ksummit-discuss] [Unconference] PM dependencies Laurent Pinchart 2014-08-18 14:11 ` Linus Walleij 2014-08-19 3:50 ` Mauro Carvalho Chehab @ 2014-08-19 20:08 ` Mauro Carvalho Chehab 2014-08-25 14:49 ` Greg Kroah-Hartman 2 siblings, 1 reply; 6+ messages in thread From: Mauro Carvalho Chehab @ 2014-08-19 20:08 UTC (permalink / raw) To: Greg Kroah-Hartman; +Cc: Shuah Khan, ksummit-discuss Em Mon, 18 Aug 2014 15:08:05 +0200 Laurent Pinchart <laurent.pinchart@ideasonboard.com> escreveu: > Hello, > > As we still haven't hammered out PM dependencies I propose discussing it in > the unconference track. Shuah and Mauro have reminded me of their interest in > the topic, does anyone else want to discuss it ? > > The unconference slots are 30 minutes long only. We should avoid spending all > the allocated time presenting the problems, so please post your use case(s) in > a reply to this mail thread if you plan to participate. > Greg, I'm thinking that one solution that won't sound too hacky would be to add a module init macro that would mark a driver to be the first one to be probed, to be handled by the device core. If the device core finds a USB (PCI) ID for a table initialized this way, it will only call one device driver. This device will be the master device for that USB ID, and he will call some init function that will do the probing of the other device drivers associated with that specific device, being allowed to replace the drivers specific fops by their own internal ones. This way, at resume time, it can call each driver's specific .resume code on the right order. Would that work? Regards, Mauro ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Ksummit-discuss] [Unconference] PM dependencies 2014-08-19 20:08 ` Mauro Carvalho Chehab @ 2014-08-25 14:49 ` Greg Kroah-Hartman 0 siblings, 0 replies; 6+ messages in thread From: Greg Kroah-Hartman @ 2014-08-25 14:49 UTC (permalink / raw) To: Mauro Carvalho Chehab; +Cc: Shuah Khan, ksummit-discuss On Tue, Aug 19, 2014 at 03:08:08PM -0500, Mauro Carvalho Chehab wrote: > Em Mon, 18 Aug 2014 15:08:05 +0200 > Laurent Pinchart <laurent.pinchart@ideasonboard.com> escreveu: > > > Hello, > > > > As we still haven't hammered out PM dependencies I propose discussing it in > > the unconference track. Shuah and Mauro have reminded me of their interest in > > the topic, does anyone else want to discuss it ? > > > > The unconference slots are 30 minutes long only. We should avoid spending all > > the allocated time presenting the problems, so please post your use case(s) in > > a reply to this mail thread if you plan to participate. > > > Greg, > > I'm thinking that one solution that won't sound too hacky would be to add > a module init macro that would mark a driver to be the first one to be > probed, to be handled by the device core. If the device core > finds a USB (PCI) ID for a table initialized this way, it will only call > one device driver. This device will be the master device for that USB ID, > and he will call some init function that will do the probing of the other > device drivers associated with that specific device, being allowed to > replace the drivers specific fops by their own internal ones. > > This way, at resume time, it can call each driver's specific .resume code > on the right order. > > Would that work? As we discussed in person later on that day, this will not work due to linking vs. module issues, and lots of other things. People have been asking for "priorities" of driver binding/matching for over a decade, but no one has come up with a way to solve the issues involved, sorry. greg k-h ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2014-08-25 14:49 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2014-08-18 13:08 [Ksummit-discuss] [Unconference] PM dependencies Laurent Pinchart 2014-08-18 14:11 ` Linus Walleij 2014-08-19 2:46 ` Shuah Khan 2014-08-19 3:50 ` Mauro Carvalho Chehab 2014-08-19 20:08 ` Mauro Carvalho Chehab 2014-08-25 14:49 ` Greg Kroah-Hartman
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox