linux/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 mfd: abx500: Fix spelling mistake: "Celcius" -> "Celsius" 2017-02-13 09:29:41 +00:00
arizona ASoC: arizona: Add support for setting the output volume limits 2017-09-20 17:34:35 +01:00
da9052 mfd: da9052: Add register details for TSI 2017-08-22 08:44:37 +01:00
da9055 mfd: Constify regmap and irq configuration data 2015-06-22 12:25:01 +01:00
da9062 mfd: Add support for DA9061 2017-04-27 09:25:07 +01:00
da9063 mfd: da9063: Update author information to remove incorrect e-mail addresses 2016-10-04 15:48:01 +01:00
da9150 mfd: da9150: Add support for Fuel-Gauge 2015-10-13 11:27:54 +01:00
mt6323 mfd: mt6397: Add MT6323 support to MT6397 driver 2016-03-16 08:50:30 +00:00
mt6397 mfd: mt6397: int_con and int_status may vary in location 2016-03-16 08:50:28 +00:00
pcf50633 License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
samsung Merge remote-tracking branches 'regulator/topic/pwm', 'regulator/topic/qcom-spmi', 'regulator/topic/rk808' and 'regulator/topic/s2mps11' into regulator-next 2016-05-13 14:23:46 +01:00
syscon mfd: syscon: atmel-smc: Add helper to retrieve register layout 2017-09-05 08:46:01 +01:00
wm831x mfd: wm831x: Add basic device tree binding 2017-03-23 11:45:50 +00:00
wm8350 leds: wm8350: Remove work queue 2016-01-04 09:57:35 +01:00
wm8994
88pm80x.h mfd: 88pm80x: Double shifting bug in suspend/resume 2016-10-04 15:48:02 +01:00
88pm860x.h
aat2870.h
ab3100.h
abx500.h mfd: abx500: Fix spelling mistake: "Celcius" -> "Celsius" 2017-02-13 09:29:41 +00:00
ac100.h mfd: ac100: Add driver for X-Powers AC100 audio codec / RTC combo IC 2016-08-08 12:53:26 +01:00
adp5520.h
altera-a10sr.h mfd: altr_a10sr: Add Altera Arria10 DevKit System Resource Chip 2016-06-29 10:14:37 +01:00
as3711.h mfd: as3711: Set regmap config reg counts properly 2016-03-16 08:50:34 +00:00
as3722.h regulator: as3722: Add bypass support for LDO6 2016-04-11 15:15:36 +01:00
asic3.h
atmel-hlcdc.h
axp20x.h regulator: axp20x: Add support for AXP813 regulators 2017-10-04 11:49:04 +01:00
bcm590xx.h
bd9571mwv.h mfd: Add ROHM BD9571MWV-M MFD PMIC driver 2017-09-05 08:46:00 +01:00
core.h - New Drivers 2016-05-20 11:10:24 -07:00
cros_ec_commands.h extcon: cros-ec: Add extcon-cros-ec driver to support display out 2017-07-17 19:25:49 +09:00
cros_ec_lpc_mec.h platform/chrome: cros_ec_lpc: Add support for mec1322 EC 2017-06-23 16:12:01 -07:00
cros_ec_lpc_reg.h platform/chrome: cros_ec_lpc: Add support for mec1322 EC 2017-06-23 16:12:01 -07:00
cros_ec.h cros_ec: Don't signal wake event for non-wake host events 2017-06-27 09:19:15 -07:00
da8xx-cfgchip.h mfd: da8xx-cfgchip: New header file for CFGCHIP registers 2016-08-12 14:59:10 +05:30
da903x.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
davinci_voicecodec.h mfd: davinci_voicecodec: Tidyup header difinitions 2016-11-29 08:21:27 +00:00
db8500-prcmu.h mfd: db8500-prcmu: Remove unused *prcmu_set_ddr_opp() calls 2016-10-04 15:48:05 +01:00
dbx500-prcmu.h mfd: db8500-prcmu: Remove unused *prcmu_set_ddr_opp() calls 2016-10-04 15:48:05 +01:00
dln2.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
dm355evm_msp.h mfd: dm355evm_msp: Move header file out of I2C realm 2017-08-15 08:06:14 +01:00
ds1wm.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ezx-pcap.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hi655x-pmic.h mfd: hi655x-pmic: Rename some interrupt macro names 2016-06-29 10:14:41 +01:00
hi6421-pmic.h mfd: hi6421-pmic: Add support for HiSilicon Hi6421v530 2017-09-05 08:46:00 +01:00
htc-pasic3.h
imx25-tsadc.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
intel_msic.h
intel_soc_pmic_bxtwc.h mfd: intel_soc_pmic_bxtwc: Rename header to follow c-file 2017-04-27 09:25:05 +01:00
intel_soc_pmic.h mfd: intel_soc_pmic_bxtwc: Use chained IRQs for second level IRQ chips 2017-06-19 15:45:01 +01:00
ipaq-micro.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
janz.h
kempld.h
lm3533.h
lp873x.h mfd: lp873x: Remove unused mutex lock from struct lp873x 2016-10-04 15:48:04 +01:00
lp3943.h Revert "gpio: lp3943: Drop pin_used and lp3943_gpio_request/lp3943_gpio_free" 2016-03-09 22:00:27 +07:00
lp8788-isink.h
lp8788.h
lp87565.h mfd: Add LP87565 PMIC support 2017-07-06 08:29:13 +01:00
lpc_ich.h mfd: lpc_ich: Add support for SPI serial flash host controller 2017-01-03 17:34:15 +00:00
max8907.h
max8925.h
max8997-private.h
max8997.h
max8998-private.h
max8998.h
max14577-private.h mfd: max14577: Change Krzysztof Kozlowski's email to kernel.org 2016-10-04 15:48:02 +01:00
max14577.h mfd: max14577: Change Krzysztof Kozlowski's email to kernel.org 2016-10-04 15:48:02 +01:00
max77620.h regulator: max77620: add support to configure MPOK 2016-11-23 16:27:24 +00:00
max77686-private.h rtc: max77686: move initialisation of rtc regmap, irq chip locally 2016-03-14 17:08:13 +01:00
max77686.h mfd: max77686: Remove unused struct max77686_opmode_data 2015-06-22 12:25:05 +01:00
max77693-common.h drivers: max77843: Switch to common max77693 state container 2015-07-16 21:39:30 +01:00
max77693-private.h mfd/extcon: max77693: Rename defines to allow inclusion with max77843 2015-07-16 21:39:30 +01:00
max77693.h == Changes to existing drivers == 2015-04-14 17:29:55 -07:00
max77843-private.h extcon: max77843: Add support for SmartDock accessory 2017-10-24 09:48:54 +09:00
mc13xxx.h
mc13783.h
mc13892.h
mcp.h
menelaus.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
motorola-cpcap.h Merge branches 'ib-mfd-gpio-4.12', 'ib-mfd-iio-input-4.12', 'ib-mfd-input-4.12', 'ib-mfd-leds-4.12', 'ib-mfd-phy-4.12' and 'ib-mfd-pinctrl-samsung-4.12' into ibs-for-mfd-merged 2017-04-27 09:24:41 +01:00
mxs-lradc.h mfd: mxs-lradc: Add support for mxs-lradc 2017-03-23 12:28:28 +00:00
palmas.h extcon: Split out extcon header file for consumer and provider device 2017-10-23 14:07:58 +09:00
qcom_rpm.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
rc5t583.h mfd: rc5t583: Set regmap config reg counts properly 2016-03-16 08:50:34 +00:00
rdc321x.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
retu.h
rk808.h mfd: rk808: Add rk805 regs addr and ID 2017-08-21 08:54:05 +01:00
rn5t618.h regulator: rn5t618: add RC5T619 PMIC support 2017-08-27 15:28:31 +01:00
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 mfd: Add STM32 LPTimer driver 2017-09-04 14:49:04 +01:00
stm32-timers.h iio: stm32 trigger: Add support for TRGO2 triggers 2017-05-07 16:08:10 +01:00
stmpe.h mfd: Add STMPE1600 support 2016-08-10 09:25:18 +01:00
stw481x.h
sun4i-gpadc.h iio: adc: sun4i-gpadc-iio: add support for A33 thermal sensor 2017-04-08 17:35:47 +01:00
syscon.h mfd: syscon: Include errno.h from header 2016-04-11 13:31:40 +01:00
t7l66xb.h
tc3589x.h
tc6387xb.h
tc6393xb.h
ti_am335x_tscadc.h drivers: iio: ti_am335x_adc: add dma support 2016-11-05 17:32:05 +00:00
ti-lmu-register.h mfd: Add TI LMU driver 2017-04-27 09:25:04 +01:00
ti-lmu.h mfd: Add TI LMU driver 2017-04-27 09:25:04 +01:00
tmio.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
tps6105x.h mfd: tps6105x: Use i2c regmap to access registers 2015-10-05 10:38:22 +01:00
tps6507x.h
tps6586x.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
tps65010.h mfd: tps65010: Move header file out of I2C realm 2017-08-15 08:27:22 +01:00
tps65086.h mfd: tps65086: Add driver for the TPS65086 PMIC 2016-03-16 08:50:15 +00:00
tps65090.h mfd: tps65090: Set regmap config reg counts properly 2016-03-16 08:50:36 +00:00
tps65217.h mfd: tps65217: Introduce dependency on CONFIG_OF 2017-10-13 10:42:58 +01:00
tps65218.h regulator: tps65218: remove unused tps_info structure 2017-11-10 12:33:15 +00:00
tps65910.h regulator: tps65910: wire up sleep control configuration 2017-06-15 18:23:27 +01:00
tps65912.h mfd: tps65912: Move regmap config into core driver 2016-11-29 08:21:21 +00:00
tps68470.h mfd: Add support for TPS68470 device 2017-09-05 08:46:01 +01:00
tps80031.h
twl4030-audio.h
twl6040.h mfd: twl6040: Register child device for twl6040-pdmclk 2016-10-04 15:48:05 +01:00
twl.h mfd: twl: Move header file out of I2C realm 2017-09-04 14:41:02 +01:00
ucb1x00.h
viperboard.h
wl1273-core.h
wm97xx.h mfd: wm97xx-core: core support for wm97xx Codec 2017-09-19 17:07:24 +01:00
wm8400-audio.h
wm8400-private.h mfd: wm8400-core: Delete wm8400_reg_read() 2016-05-09 08:20:45 +01:00
wm8400.h