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.