Re: i801_smbus: no runtime pm since a9c8088c7988 ("i2c: i801: Don't restore config registers on runtime PM")

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

 



On 21.05.2021 10:19, Heiner Kallweit wrote:
> Before the referenced commit we used i801_suspend and i801_resume also as
> runtime pm callbacks. That's no longer the case, and at least on my
> platform the SMBus controller PCI device doesn't support PM. Therefore
> PCI core can't do what it would do for other devices: bring them to D3hot
> or D3cold.
> Having said that effectively there is no runtime pm any longer. Not sure
> whether there are SMBus controller versions where the PCI device supports
> PM.
> 
> So my questions are:
> Does the SMBus controller support any power-saving modes?
> i801_suspend() just sets SMBHSTCFG to the value it had when the driver
> was loaded. Means if SMBHSTCFG_HST_EN was enabled already, we won't clear
> it. And this bit may have an impact on some internal PLL's (just guessing).
> If there's no good-enough power-saving option, then runtime pm support
> could be removed completely, or?
> 
> 
> 00:1f.4 SMBus: Intel Corporation Cannon Lake PCH SMBus Controller (rev 10)
>         DeviceName: Onboard - Other
>         Subsystem: ASUSTeK Computer Inc. Device 8694
>         Flags: medium devsel, IRQ 16
>         Memory at a1316000 (64-bit, non-prefetchable) [size=256]
>         I/O ports at efa0 [size=32]
>         Kernel driver in use: i801_smbus
>         Kernel modules: i2c_i801
> 
> Heiner
> 
+Jarkko as author of the change that added runtime pm

The commit message of the original change says:
"those platforms that support PM for i801 device"
Which platforms are this? Independent of the i801 generation I didn't see
any SMBus host controller supporting the PCI Power Management capability
yet.



[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux