linux_dsm_epyc7002/include/linux/mfd
Hans de Goede b860b419d9 mfd: Fix RTS5227 (and others) powermanagement
Commit 8275b77a15 ("mfd: rts5249: Add support for RTS5250S power
saving") adds powersaving support for device-ids 5249 524a and 525a.

But as a side effect it breaks ASPM support for all the other device-ids,
causing e.g. the Haswell CPU on a Lenovo T440s to not go into a higher
c-state then PC3, while previously it would go to PC7, causing the
machine to idle at 7.4W instead of 6.6W!

The problem here is the new option.dev_aspm_mode field, which only gets
explicitly initialized in the new code for the device-ids 5249 524a and
525a. Leaving the dev_aspm_mode 0 for the other device-ids.

The default dev_aspm_mode 0 is mapped to DEV_ASPM_DISABLE, but the
old behavior of calling rtsx_pci_enable_aspm() when idle and
rtsx_pci_disable_aspm() when busy happens when dev_aspm_mode ==
DEV_ASPM_DYNAMIC.

This commit changes the enum so that 0 = DEV_ASPM_DYNAMIC matching the
old default behavior, fixing the pm regression with the other device-ids.

Fixes: 8275b77a15 ("mfd: rts5249: Add support for RTS5250S power saving")
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Rui Feng <rui_feng@realsil.com.cn>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
2017-12-07 10:40:57 +00:00
..
abx500
arizona
da9052
da9055
da9062
da9063
da9150
mt6323
mt6397
pcf50633
samsung
syscon
wm831x
wm8350
wm8994
88pm80x.h
88pm860x.h
aat2870.h
ab3100.h
abx500.h
ac100.h
adp5520.h
altera-a10sr.h
as3711.h
as3722.h
asic3.h
atmel-hlcdc.h
axp20x.h
bcm590xx.h
bd9571mwv.h
core.h
cros_ec_commands.h
cros_ec_lpc_mec.h
cros_ec_lpc_reg.h
cros_ec.h
da8xx-cfgchip.h
da903x.h
davinci_voicecodec.h
db8500-prcmu.h
dbx500-prcmu.h
dln2.h
dm355evm_msp.h
ds1wm.h
ezx-pcap.h
hi655x-pmic.h
hi6421-pmic.h
htc-pasic3.h
imx25-tsadc.h
intel_msic.h
intel_soc_pmic_bxtwc.h
intel_soc_pmic.h
ipaq-micro.h
janz.h
kempld.h
lm3533.h
lp873x.h
lp3943.h
lp8788-isink.h
lp8788.h
lp87565.h
lpc_ich.h
max8907.h
max8925.h
max8997-private.h
max8997.h
max8998-private.h
max8998.h
max14577-private.h
max14577.h
max77620.h
max77686-private.h
max77686.h
max77693-common.h
max77693-private.h
max77693.h
max77843-private.h
mc13xxx.h
mc13783.h
mc13892.h
mcp.h
menelaus.h
motorola-cpcap.h
mxs-lradc.h
palmas.h
qcom_rpm.h
rc5t583.h
rdc321x.h
retu.h
rk808.h
rn5t618.h
rt5033-private.h
rt5033.h
rtsx_common.h
rtsx_pci.h mfd: Fix RTS5227 (and others) powermanagement 2017-12-07 10:40:57 +00:00
rtsx_usb.h
si476x-core.h
si476x-platform.h
si476x-reports.h
sky81452.h
smsc.h
sta2x11-mfd.h
stm32-lptimer.h
stm32-timers.h
stmpe.h
stw481x.h
sun4i-gpadc.h
syscon.h
t7l66xb.h
tc3589x.h
tc6387xb.h
tc6393xb.h
ti_am335x_tscadc.h
ti-lmu-register.h
ti-lmu.h
tmio.h
tps6105x.h
tps6507x.h
tps6586x.h
tps65010.h
tps65086.h
tps65090.h
tps65217.h
tps65218.h
tps65910.h
tps65912.h
tps68470.h
tps80031.h
twl4030-audio.h
twl6040.h
twl.h
ucb1x00.h
viperboard.h
wl1273-core.h
wm97xx.h
wm8400-audio.h
wm8400-private.h
wm8400.h