Linux Media Controller development
 help / color / mirror / Atom feed
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Sakari Ailus <sakari.ailus@linux.intel.com>
Cc: Paul Elder <paul.elder@ideasonboard.com>,
	Steve Longerbeam <slongerbeam@gmail.com>,
	Hans Verkuil <hverkuil-cisco@xs4all.nl>,
	"Paul J. Murphy" <paul.j.murphy@intel.com>,
	Martina Krasteva <martinax.krasteva@intel.com>,
	Shawn Tu <shawnx.tu@intel.com>, Arec Kao <arec.kao@intel.com>,
	Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>,
	Jimmy Su <jimmy.su@intel.com>,
	Martin Kepplinger <martink@posteo.de>,
	Daniel Scally <djrscally@gmail.com>,
	Jacopo Mondi <jmondi@jmondi.org>,
	Paul Kocialkowski <paul.kocialkowski@bootlin.com>,
	linux-media@vger.kernel.org
Subject: Re: [PATCH v2] media: ov5640: Use runtime PM
Date: Tue, 29 Mar 2022 16:02:54 +0300	[thread overview]
Message-ID: <YkMDfvuhAvsrjbON@pendragon.ideasonboard.com> (raw)
In-Reply-To: <Yi+vdvMeXqb/BvKo@paasikivi.fi.intel.com>

Hi Sakari,

On Mon, Mar 14, 2022 at 11:11:18PM +0200, Sakari Ailus wrote:
> On Mon, Mar 14, 2022 at 10:05:37PM +0200, Laurent Pinchart wrote:
> ...
> > > > Yes, after reading the version register (or doing any other harware
> > > > access). Actually the full code would be
> > > > 
> > > > 
> > > >  	pm_runtime_enable(dev);
> > > >  	pm_runtime_resume_and_get(dev);
> > > > 
> > > > 	/* Hardware access */
> > > > 
> > > > 	pm_runtime_set_autosuspend_delay(dev, 1000);
> > > > 	pm_runtime_use_autosuspend(dev);
> > > > 	pm_runtime_put_autosuspend(dev);
> > > > 
> > > > (plus error handling).
> > > > 
> > > > If the probe function doesn't need to access the hardware, then
> > > > the above becomes
> > > > 
> > > > 	pm_runtime_enable(dev);
> > > > 	pm_runtime_set_autosuspend_delay(dev, 1000);
> > > > 	pm_runtime_use_autosuspend(dev);
> > > > 
> > > > instead of having to power up the device just in case !PM.
> > > > 
> > > > > Also the latter only works on DT-based systems so it's not an option for
> > > > > most of the drivers.

Does the former work on ACPI systems ?

> > > > How so, what's wrong with the above for ACPI-based system ?
> > > 
> > > I²C devices are already powered on for probe on ACPI based systems.
> > 
> > Not through RPM I suppose ?
> 
> Runtime PM isn't involved, this takes place in the ACPI framework (via
> dev_pm_domain_attach() called in i2c_device_probe()).

How can we fix this ? It may have made sense a long time ago, but it's
making RPM handling way too difficult in I2C drivers now. We need
something better instead of continuing to rely on cargo-cult for probe
functions. Most drivers are broken.

-- 
Regards,

Laurent Pinchart

  reply	other threads:[~2022-03-29 13:03 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-11 11:12 [PATCH v2] media: ov5640: Use runtime PM Paul Elder
2022-03-11 12:23 ` Sakari Ailus
2022-03-11 12:30   ` Laurent Pinchart
2022-03-11 13:15     ` Sakari Ailus
2022-03-11 13:20       ` Laurent Pinchart
2022-03-11 13:32         ` Sakari Ailus
2022-03-13 13:01           ` Laurent Pinchart
2022-03-13 13:38             ` Sakari Ailus
2022-03-13 14:16               ` Laurent Pinchart
2022-03-14 20:01                 ` Sakari Ailus
2022-03-14 20:05                   ` Laurent Pinchart
2022-03-14 21:11                     ` Sakari Ailus
2022-03-29 13:02                       ` Laurent Pinchart [this message]
2022-04-14  9:29                         ` Sakari Ailus
2022-08-01  7:17                           ` Tomasz Figa
2022-08-01  7:23                             ` Tomasz Figa
2022-08-01 13:47                               ` Laurent Pinchart
2022-08-01 20:39                               ` Sakari Ailus
2022-03-18 22:28 ` Laurent Pinchart
2022-03-21 10:58   ` Sakari Ailus
2022-03-21 11:24     ` Laurent Pinchart
2022-03-22 12:05       ` Sakari Ailus

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=YkMDfvuhAvsrjbON@pendragon.ideasonboard.com \
    --to=laurent.pinchart@ideasonboard.com \
    --cc=arec.kao@intel.com \
    --cc=djrscally@gmail.com \
    --cc=hverkuil-cisco@xs4all.nl \
    --cc=jimmy.su@intel.com \
    --cc=jmondi@jmondi.org \
    --cc=kieran.bingham+renesas@ideasonboard.com \
    --cc=linux-media@vger.kernel.org \
    --cc=martinax.krasteva@intel.com \
    --cc=martink@posteo.de \
    --cc=paul.elder@ideasonboard.com \
    --cc=paul.j.murphy@intel.com \
    --cc=paul.kocialkowski@bootlin.com \
    --cc=sakari.ailus@linux.intel.com \
    --cc=shawnx.tu@intel.com \
    --cc=slongerbeam@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