Re: [PATCH v2 1/9] i2c: prepare runtime PM support for I2C client devices

2013-09-23 Thread Mika Westerberg
On Tue, Sep 17, 2013 at 01:07:37PM +0200, Sylwester Nawrocki wrote: > On 09/16/2013 10:47 AM, Mika Westerberg wrote: > > I'm actually thinking that it is probably better now if we don't touch the > > client runtime PM at all in the I2C core. > > > > I proposed a less intrusive solution in this sam

Re: [PATCH v2 1/9] i2c: prepare runtime PM support for I2C client devices

2013-09-17 Thread Rafael J. Wysocki
On Tuesday, September 17, 2013 02:00:22 PM Mika Westerberg wrote: > On Mon, Sep 16, 2013 at 09:07:07PM +0200, Rafael J. Wysocki wrote: > > On Monday, September 16, 2013 11:47:08 AM Mika Westerberg wrote: > > > On Sun, Sep 15, 2013 at 03:48:12PM +0200, Sylwester Nawrocki wrote: > > > > On 09/13/2013

Re: [PATCH v2 1/9] i2c: prepare runtime PM support for I2C client devices

2013-09-17 Thread Sylwester Nawrocki
On 09/16/2013 10:47 AM, Mika Westerberg wrote: > I'm actually thinking that it is probably better now if we don't touch the > client runtime PM at all in the I2C core. > > I proposed a less intrusive solution in this same thread where we power the > I2C controller briefly at the client ->probe() (

Re: [PATCH v2 1/9] i2c: prepare runtime PM support for I2C client devices

2013-09-17 Thread Mika Westerberg
On Mon, Sep 16, 2013 at 09:07:07PM +0200, Rafael J. Wysocki wrote: > On Monday, September 16, 2013 11:47:08 AM Mika Westerberg wrote: > > On Sun, Sep 15, 2013 at 03:48:12PM +0200, Sylwester Nawrocki wrote: > > > On 09/13/2013 05:40 PM, Mika Westerberg wrote: > > > [...] > > > >>>The call to pm_runt

Re: [PATCH v2 1/9] i2c: prepare runtime PM support for I2C client devices

2013-09-17 Thread Mark Brown
On Tue, Sep 17, 2013 at 03:25:25AM +0200, Rafael J. Wysocki wrote: > On Tuesday, September 17, 2013 12:31:11 AM Mark Brown wrote: > > It shouldn't even need to do that, it should just be able to rely on the > > controller to power itself up when asked to do work. This is how the > > existing imp

Re: [PATCH v2 1/9] i2c: prepare runtime PM support for I2C client devices

2013-09-16 Thread Rafael J. Wysocki
On Tuesday, September 17, 2013 12:31:11 AM Mark Brown wrote: > On Mon, Sep 16, 2013 at 09:07:07PM +0200, Rafael J. Wysocki wrote: > > > That may be left to the client driver altogether. I mean, if the client > > wants > > the controller to be powered up, it should just call > > pm_runtime_get_sy

Re: [PATCH v2 1/9] i2c: prepare runtime PM support for I2C client devices

2013-09-16 Thread Mark Brown
On Mon, Sep 16, 2013 at 09:07:07PM +0200, Rafael J. Wysocki wrote: > That may be left to the client driver altogether. I mean, if the client wants > the controller to be powered up, it should just call > pm_runtime_get_sync(controller device) at a suitable place (and then do the > corresponding _

Re: [PATCH v2 1/9] i2c: prepare runtime PM support for I2C client devices

2013-09-16 Thread Rafael J. Wysocki
On Monday, September 16, 2013 11:47:08 AM Mika Westerberg wrote: > On Sun, Sep 15, 2013 at 03:48:12PM +0200, Sylwester Nawrocki wrote: > > On 09/13/2013 05:40 PM, Mika Westerberg wrote: > > [...] > > >>>The call to pm_runtime_get_noresume() should make sure that the device is > > >>>in active state

Re: [PATCH v2 1/9] i2c: prepare runtime PM support for I2C client devices

2013-09-16 Thread Mika Westerberg
On Mon, Sep 16, 2013 at 03:46:16PM +0100, Graeme Gregory wrote: > On Mon, Sep 16, 2013 at 05:38:12PM +0300, Mika Westerberg wrote: > > On Mon, Sep 16, 2013 at 11:12:49AM +0100, Mark Brown wrote: > > > That's definitely an ACPI specific (probably x86 specific ACPI?) > > > requirement not a generic o

Re: [PATCH v2 1/9] i2c: prepare runtime PM support for I2C client devices

2013-09-16 Thread Graeme Gregory
On Mon, Sep 16, 2013 at 05:38:12PM +0300, Mika Westerberg wrote: > On Mon, Sep 16, 2013 at 11:12:49AM +0100, Mark Brown wrote: > > That's definitely an ACPI specific (probably x86 specific ACPI?) > > requirement not a generic one, on some systems it would increase power > > consumption since the co

Re: [PATCH v2 1/9] i2c: prepare runtime PM support for I2C client devices

2013-09-16 Thread Mika Westerberg
On Mon, Sep 16, 2013 at 11:12:49AM +0100, Mark Brown wrote: > That's definitely an ACPI specific (probably x86 specific ACPI?) > requirement not a generic one, on some systems it would increase power > consumption since the controller will need to sit on while the device is > functioning autonomous

Re: [PATCH v2 1/9] i2c: prepare runtime PM support for I2C client devices

2013-09-16 Thread Mark Brown
On Sun, Sep 15, 2013 at 04:28:24PM +0300, Mika Westerberg wrote: > On Sun, Sep 15, 2013 at 01:47:44PM +0100, Mark Brown wrote: > > On Sun, Sep 15, 2013 at 09:41:39AM +0300, Mika Westerberg wrote: > > > 1. In I2C core i2c_device_probe() we power on the I2C controller > > > and attach the client

Re: [PATCH v2 1/9] i2c: prepare runtime PM support for I2C client devices

2013-09-16 Thread Mika Westerberg
On Sun, Sep 15, 2013 at 03:48:12PM +0200, Sylwester Nawrocki wrote: > On 09/13/2013 05:40 PM, Mika Westerberg wrote: > [...] > >>>The call to pm_runtime_get_noresume() should make sure that the device is > >>>in active state (at least in state where it can access the bus) if I'm > >>>understanding

Re: [PATCH v2 1/9] i2c: prepare runtime PM support for I2C client devices

2013-09-15 Thread Sylwester Nawrocki
On 09/13/2013 05:40 PM, Mika Westerberg wrote: [...] The call to pm_runtime_get_noresume() should make sure that the device is in active state (at least in state where it can access the bus) if I'm understanding this right. I can't see how this would happen. How runtime_resume/runtime_suspend c

Re: [PATCH v2 1/9] i2c: prepare runtime PM support for I2C client devices

2013-09-15 Thread Mika Westerberg
On Sun, Sep 15, 2013 at 01:47:44PM +0100, Mark Brown wrote: > On Sun, Sep 15, 2013 at 09:41:39AM +0300, Mika Westerberg wrote: > > > There's also a less intrusive way of fixing the problem we see with ACPI > > enabled I2C devices: > > > 1. In I2C core i2c_device_probe() we power on the I2C co

Re: [PATCH v2 1/9] i2c: prepare runtime PM support for I2C client devices

2013-09-15 Thread Mark Brown
On Sun, Sep 15, 2013 at 09:41:39AM +0300, Mika Westerberg wrote: > There's also a less intrusive way of fixing the problem we see with ACPI > enabled I2C devices: > 1. In I2C core i2c_device_probe() we power on the I2C controller > and attach the client device to the ACPI power domain

Re: [PATCH v2 1/9] i2c: prepare runtime PM support for I2C client devices

2013-09-14 Thread Mika Westerberg
On Fri, Sep 13, 2013 at 02:10:43PM -0700, Kevin Hilman wrote: > > > > // This makes sure that the controller itself is powered on > > // (adapter device follows its parent which is the controller). The > > // controller is attached to the ACPI power domain so it is > > // brought to

Re: [PATCH v2 1/9] i2c: prepare runtime PM support for I2C client devices

2013-09-13 Thread Kevin Hilman
Mika Westerberg writes: > On Fri, Sep 13, 2013 at 05:50:22PM +0300, Mika Westerberg wrote: >> On Fri, Sep 13, 2013 at 07:30:55AM -0700, Kevin Hilman wrote: >> > Mika Westerberg writes: >> > >> > > On Thu, Sep 12, 2013 at 02:34:21PM -0700, Kevin Hilman wrote: >> > >> > diff --git a/drivers/i2c/i

Re: [PATCH v2 1/9] i2c: prepare runtime PM support for I2C client devices

2013-09-13 Thread Mika Westerberg
On Fri, Sep 13, 2013 at 05:50:22PM +0300, Mika Westerberg wrote: > On Fri, Sep 13, 2013 at 07:30:55AM -0700, Kevin Hilman wrote: > > Mika Westerberg writes: > > > > > On Thu, Sep 12, 2013 at 02:34:21PM -0700, Kevin Hilman wrote: > > >> > diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.

Re: [PATCH v2 1/9] i2c: prepare runtime PM support for I2C client devices

2013-09-13 Thread Mika Westerberg
On Fri, Sep 13, 2013 at 05:14:56PM +0200, Sylwester Nawrocki wrote: > On 09/13/2013 08:54 AM, Mika Westerberg wrote: > > On Thu, Sep 12, 2013 at 02:34:21PM -0700, Kevin Hilman wrote: > >>> > > diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c > >>> > > index f32ca29..44374b4 100644 > >>>

Re: [PATCH v2 1/9] i2c: prepare runtime PM support for I2C client devices

2013-09-13 Thread Sylwester Nawrocki
On 09/13/2013 08:54 AM, Mika Westerberg wrote: > On Thu, Sep 12, 2013 at 02:34:21PM -0700, Kevin Hilman wrote: >>> > > diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c >>> > > index f32ca29..44374b4 100644 >>> > > --- a/drivers/i2c/i2c-core.c >>> > > +++ b/drivers/i2c/i2c-core.c >>> > >

Re: [PATCH v2 1/9] i2c: prepare runtime PM support for I2C client devices

2013-09-13 Thread Kevin Hilman
Mika Westerberg writes: > On Thu, Sep 12, 2013 at 02:34:21PM -0700, Kevin Hilman wrote: >> > diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c >> > index f32ca29..44374b4 100644 >> > --- a/drivers/i2c/i2c-core.c >> > +++ b/drivers/i2c/i2c-core.c >> > @@ -248,11 +248,30 @@ static int i2

Re: [PATCH v2 1/9] i2c: prepare runtime PM support for I2C client devices

2013-09-13 Thread Mika Westerberg
On Fri, Sep 13, 2013 at 07:30:55AM -0700, Kevin Hilman wrote: > Mika Westerberg writes: > > > On Thu, Sep 12, 2013 at 02:34:21PM -0700, Kevin Hilman wrote: > >> > diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c > >> > index f32ca29..44374b4 100644 > >> > --- a/drivers/i2c/i2c-core.c

Re: [PATCH v2 1/9] i2c: prepare runtime PM support for I2C client devices

2013-09-13 Thread Mark Brown
On Fri, Sep 13, 2013 at 02:50:35PM +0300, Mika Westerberg wrote: > On Fri, Sep 13, 2013 at 11:31:52AM +0100, Mark Brown wrote: > > Right, but this probably needs to be highlighted more since it's a very > > surprising thing for I2C and is causing confusion. > By highlighted more, do you mean some

Re: [PATCH v2 1/9] i2c: prepare runtime PM support for I2C client devices

2013-09-13 Thread Mika Westerberg
On Fri, Sep 13, 2013 at 11:31:52AM +0100, Mark Brown wrote: > On Fri, Sep 13, 2013 at 01:16:11PM +0300, Mika Westerberg wrote: > > On Fri, Sep 13, 2013 at 10:59:50AM +0100, Mark Brown wrote: > > > > Accessing the bus isn't an issue for I2C outside of ACPI, the power > > > management of the device

Re: [PATCH v2 1/9] i2c: prepare runtime PM support for I2C client devices

2013-09-13 Thread Mark Brown
On Fri, Sep 13, 2013 at 01:16:11PM +0300, Mika Westerberg wrote: > On Fri, Sep 13, 2013 at 10:59:50AM +0100, Mark Brown wrote: > > Accessing the bus isn't an issue for I2C outside of ACPI, the power > > management of the device is totally disassociated from the bus and the > > controller is respon

Re: [PATCH v2 1/9] i2c: prepare runtime PM support for I2C client devices

2013-09-13 Thread Mika Westerberg
On Fri, Sep 13, 2013 at 10:59:50AM +0100, Mark Brown wrote: > On Fri, Sep 13, 2013 at 09:54:34AM +0300, Mika Westerberg wrote: > > On Thu, Sep 12, 2013 at 02:34:21PM -0700, Kevin Hilman wrote: > > > > For hardware that is disabled/powered-off on startup, there will now be > > > a mismatch between

Re: [PATCH v2 1/9] i2c: prepare runtime PM support for I2C client devices

2013-09-13 Thread Mark Brown
On Fri, Sep 13, 2013 at 09:14:20AM +0800, Aaron Lu wrote: > On 09/13/2013 06:06 AM, Sylwester Nawrocki wrote: > > So there is currently no way to avoid this behaviour, i.e. to have the > > adapter > > not activated before any of its client devices is probed, but only later on, > > after explicit

Re: [PATCH v2 1/9] i2c: prepare runtime PM support for I2C client devices

2013-09-13 Thread Mark Brown
On Fri, Sep 13, 2013 at 09:54:34AM +0300, Mika Westerberg wrote: > On Thu, Sep 12, 2013 at 02:34:21PM -0700, Kevin Hilman wrote: > > For hardware that is disabled/powered-off on startup, there will now be > > a mismatch between the hardware state an the RPM core state. > The call to pm_runtime_ge

Re: [PATCH v2 1/9] i2c: prepare runtime PM support for I2C client devices

2013-09-12 Thread Mika Westerberg
On Thu, Sep 12, 2013 at 02:34:21PM -0700, Kevin Hilman wrote: > > diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c > > index f32ca29..44374b4 100644 > > --- a/drivers/i2c/i2c-core.c > > +++ b/drivers/i2c/i2c-core.c > > @@ -248,11 +248,30 @@ static int i2c_device_probe(struct device *dev

Re: [PATCH v2 1/9] i2c: prepare runtime PM support for I2C client devices

2013-09-12 Thread Aaron Lu
On 09/13/2013 06:06 AM, Sylwester Nawrocki wrote: > On 09/11/2013 05:32 PM, Mika Westerberg wrote: >> From: Aaron Lu >> >> This patch adds runtime PM support for the I2C bus in a similar way that >> has been done for PCI bus already. This means that the I2C bus core >> prepares runtime PM for a cli

Re: [PATCH v2 1/9] i2c: prepare runtime PM support for I2C client devices

2013-09-12 Thread Sylwester Nawrocki
On 09/11/2013 05:32 PM, Mika Westerberg wrote: From: Aaron Lu This patch adds runtime PM support for the I2C bus in a similar way that has been done for PCI bus already. This means that the I2C bus core prepares runtime PM for a client device just before a driver is about to be bound to it. Devi

Re: [PATCH v2 1/9] i2c: prepare runtime PM support for I2C client devices

2013-09-12 Thread Kevin Hilman
On Thu, Sep 12, 2013 at 2:34 PM, Kevin Hilman wrote: > Mika Westerberg writes: > >> From: Aaron Lu >> >> This patch adds runtime PM support for the I2C bus in a similar way that >> has been done for PCI bus already. This means that the I2C bus core >> prepares runtime PM for a client device just

Re: [PATCH v2 1/9] i2c: prepare runtime PM support for I2C client devices

2013-09-12 Thread Kevin Hilman
Mika Westerberg writes: > From: Aaron Lu > > This patch adds runtime PM support for the I2C bus in a similar way that > has been done for PCI bus already. This means that the I2C bus core > prepares runtime PM for a client device just before a driver is about to be > bound to it. Devices that ar

[PATCH v2 1/9] i2c: prepare runtime PM support for I2C client devices

2013-09-11 Thread Mika Westerberg
From: Aaron Lu This patch adds runtime PM support for the I2C bus in a similar way that has been done for PCI bus already. This means that the I2C bus core prepares runtime PM for a client device just before a driver is about to be bound to it. Devices that are not bound to any driver are not pre