Re: [PATCH v2] PCI / PM: Allow runtime PM without callback functions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Dec 12, 2018 at 01:42:29PM +0200, Jarkko Nikula wrote:
> Hi
> 
> On 10/25/18 4:57 PM, Rafael J. Wysocki wrote:
> > On Tue, Oct 23, 2018 at 1:46 PM Jarkko Nikula
> > <jarkko.nikula@xxxxxxxxxxxxxxx> wrote:
> > > 
> > > Commit a9c8088c7988 ("i2c: i801: Don't restore config registers on
> > > runtime PM") nullified the runtime PM suspend/resume callback pointers
> > > while keeping the runtime PM enabled.
> > > 
> > > This causes that SMBus PCI device stays in D0 power state and sysfs
> > > /sys/bus/pci/devices/[SMBus PCI ID]/power/runtime_status shows "error"
> > > when the runtime PM framework attempts to autosuspend the device. This
> > > is due PCI bus runtime PM which checks for driver runtime PM callbacks
> > > and returns with -ENOSYS if they are not set.
> > > 
> > > Since i2c-i801.c don't need to do anything device specific beyond PCI
> > > device power state management Jean Delvare proposed if this can be fixed
> > > in the PCI subsystem core level rather than adding dummy runtime PM
> > > callback functions in the PCI drivers.
> > > 
> > > Change the pci_pm_runtime_suspend()/pci_pm_runtime_resume() semantics so
> > > that they allow change the PCI device power state during runtime PM
> > > transitions even if no runtime PM callback functions are defined.
> > > 
> > > This change fixes the runtime PM regression on i2c-i801.c.
> > > 
> > > It is not obvious why the code had hard requirements for the runtime PM
> > > callbacks. Test has been here since the code was introduced by the
> > > commit 6cbf82148ff2 ("PCI PM: Run-time callbacks for PCI bus type").
> > > 
> > > On the other hand similar change than this was done to generic runtime
> > > PM callbacks way back in the commit 05aa55dddb9e ("PM / Runtime: Lenient
> > > generic runtime pm callbacks").
> > > 
> > > Fixes: a9c8088c7988 ("i2c: i801: Don't restore config registers on runtime PM")
> > > Reported-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>
> > > Cc: <stable@xxxxxxxxxxxxxxx> # 4.18+
> > > Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx>
> > 
> > Reviewed-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
> > 
> I guess this patch with Reviewed-by tags from Rafael and Jean got buried
> under other list traffic as I don't find this from pci.git or linux-next?

Sorry, I totally dropped the ball on this.  I normally would interpret
Rafael's reviewed-by as an indication that he intends me to pick it
up.  My only excuse is some travel and unexpected sick time that has
put me behind.

I applied this to pci/pm for v4.21, with Reviewed-by tags from Jean
and Rafael, thanks!

Bjorn



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux