linux/drivers/platform/x86
Rajneesh Bhardwaj 0bdfaf429d platform/x86: intel_pmc_core: Add PCH IP Power Gating Status
This patch adds the support for reading the power gating status of various
devices present on Sunrise Point PCH. This is intended to be used for
debugging purpose while tuning the platform for power optimizations and
also to understand which devices (on PCH) are blocking the system to enter
a low power state.

Power Management Controller on Sunrise Point PCH provides access to "PGD
PFET Enable Ack Status Registers (ppfear)". This patch reads and decodes
this register and dumps the output in formatted manner showing various
devices present on the PCH and their "Power Gating" status.

Further documentation can be found in Intel 7th Gen Core family mobile u/y
processor io datasheet volume 2.

Sample output (stripped and not in order):

cat /sys/kernel/debug/pmc_core/pch_ip_power_gating_status
PMC				State: Not Power gated
OPI-DMI				State: Not Power gated
XHCI				State: Power gated
LPSS				State: Power gated
CSME_PSF			State: Not power gated

Signed-off-by: Rajneesh Bhardwaj <rajneesh.bhardwaj@intel.com>
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
2016-12-13 09:28:55 -08:00
..
acer-wmi.c platform/x86: acer-wmi: Only supports AMW0_GUID1 on acer family 2016-12-13 09:28:48 -08:00
acerhdf.c thermal: Enhance thermal_zone_device_update for events 2016-09-27 14:35:21 +08:00
alienware-wmi.c alienware-wmi: whitespace improvements 2016-02-07 12:01:33 -08:00
amilo-rfkill.c platform: x86: drop owner assignment from platform_drivers 2014-10-20 16:21:27 +02:00
apple-gmux.c apple-gmux: Sphinxify docs 2016-07-28 10:04:03 +02:00
asus-laptop.c platform/x86: asus-laptop: get rid of parse_arg() 2016-09-23 16:20:44 -07:00
asus-nb-wmi.c platform/x86: asus-wmi: Filter buggy scan codes on ASUS Q500A 2016-09-23 17:06:20 -07:00
asus-wireless.c asus-wireless: Toggle airplane mode LED 2016-07-01 16:01:26 -07:00
asus-wmi.c platform/x86: asus-wmi: fix asus ux303ub brightness issue 2016-09-23 16:20:34 -07:00
asus-wmi.h platform/x86: asus-wmi: Filter buggy scan codes on ASUS Q500A 2016-09-23 17:06:20 -07:00
classmate-laptop.c classmate-laptop: Fix sparse warning (0 as NULL) 2015-02-07 12:12:00 -08:00
compal-laptop.c compal-laptop: Add charge control limit 2015-10-03 08:44:57 -07:00
dell-laptop.c dell-smbios: rename dell_smi_error() to dell_smbios_error() 2016-03-23 10:05:49 -07:00
dell-rbtn.c dell-rbtn: Ignore ACPI notifications if device is suspended 2016-05-27 11:47:56 -07:00
dell-rbtn.h dell-rbtn: Export notifier for other kernel modules 2015-06-10 22:04:11 -07:00
dell-smbios.c dell-smbios: rename dell_smi_error() to dell_smbios_error() 2016-03-23 10:05:49 -07:00
dell-smbios.h dell-smbios: rename dell_smi_error() to dell_smbios_error() 2016-03-23 10:05:49 -07:00
dell-smo8800.c x86: separate extable.h, switch sections.h to it 2016-09-27 21:15:23 -04:00
dell-wmi-aio.c ACPI: Clean up inclusions of ACPI header files 2013-12-07 01:03:14 +01:00
dell-wmi.c dell-wmi: Ignore WMI event 0xe00e 2016-08-08 11:00:21 -07:00
eeepc-laptop.c eeepc-laptop: Port to new backlight interface selection API 2015-06-19 01:11:56 +02:00
eeepc-wmi.c eeepc-wmi: Use acpi_dev_found() 2016-04-09 03:12:58 +02:00
fujitsu-laptop.c fujitsu-laptop: Rework brightness of eco led 2016-07-06 11:31:12 -07:00
fujitsu-tablet.c Input: use more descriptive KEY_ROTATE_DISPLAY instead of KEY_DIRECTION 2015-03-06 17:18:16 -08:00
hdaps.c platform: x86: drop owner assignment from platform_drivers 2014-10-20 16:21:27 +02:00
hp_accel.c hp_accel: Silence an uninitialized variable warning 2016-04-15 08:26:25 -07:00
hp-wireless.c hp-wireless: remove unneeded goto/label in hpwl_init 2015-08-25 23:34:15 -07:00
hp-wmi.c hp-wmi: Fix wifi cannot be hard-unblocked 2016-06-28 22:18:32 -07:00
ibm_rtl.c move io-64-nonatomic*.h out of asm-generic 2015-10-15 00:21:07 +02:00
ideapad-laptop.c platform/x86: ideapad-laptop: Add Lenovo Yoga 910-13IKB to no_hw_rfkill dmi list 2016-10-12 01:17:47 -07:00
intel_ips.c move io-64-nonatomic*.h out of asm-generic 2015-10-15 00:21:07 +02:00
intel_ips.h
intel_menlow.c intel_menlow: reduce code duplication 2016-05-27 11:47:55 -07:00
intel_mid_powerbtn.c intel_mid_powerbtn: Remove misuse of IRQF_NO_SUSPEND flag 2015-10-03 09:40:30 -07:00
intel_mid_thermal.c thermal: consistently use int for temperatures 2015-08-03 23:15:50 +08:00
intel_oaktrail.c intel-oaktrail: Port to new backlight interface selection API 2015-06-19 01:12:11 +02:00
intel_pmc_core.c platform/x86: intel_pmc_core: Add PCH IP Power Gating Status 2016-12-13 09:28:55 -08:00
intel_pmc_core.h platform/x86: intel_pmc_core: Add PCH IP Power Gating Status 2016-12-13 09:28:55 -08:00
intel_pmc_ipc.c platform-drivers-x86 for 4.9-1 2016-10-13 16:52:39 -07:00
intel_pmic_gpio.c intel_pmic_gpio: Make explicitly non-modular 2016-08-28 22:31:52 -07:00
intel_punit_ipc.c platform:x86 decouple telemetry driver from the optional IPC resources 2016-04-19 13:51:41 -07:00
intel_scu_ipc.c platform/x86: Make intel_scu_ipc explicitly non-modular 2016-03-23 10:05:47 -07:00
intel_scu_ipcutil.c intel_scu_ipcutil: underflow in scu_reg_access() 2016-01-30 09:40:35 -08:00
intel_telemetry_core.c intel_telemetry: Constify telemetry_core_ops structures 2016-05-05 13:58:55 -07:00
intel_telemetry_debugfs.c platform-drivers-x86 for 4.8-1 2016-07-26 17:23:08 -07:00
intel_telemetry_pltdrv.c platform-drivers-x86 for 4.8-1 2016-07-26 17:23:08 -07:00
intel-hid.c intel-hid: Remove duplicated acpi_remove_notify_handler 2016-06-28 22:18:35 -07:00
intel-rst.c intel-rst: Clean up ACPI add function 2014-09-17 13:55:54 -07:00
intel-smartconnect.c ACPI: Clean up inclusions of ACPI header files 2013-12-07 01:03:14 +01:00
intel-vbtn.c intel-vbtn: new driver for Intel Virtual Button 2016-07-22 13:17:40 -07:00
Kconfig platform/x86: Introduce support for Mellanox hotplug driver 2016-10-23 07:52:57 -07:00
Makefile platform/x86: Introduce support for Mellanox hotplug driver 2016-10-23 07:52:57 -07:00
mlxcpld-hotplug.c platform/x86: Introduce support for Mellanox hotplug driver 2016-10-23 07:52:57 -07:00
msi-laptop.c msi-laptop: Port to new backlight interface selection API 2015-06-19 01:12:16 +02:00
msi-wmi.c msi-wmi: Port to new backlight interface selection API 2015-06-19 01:12:20 +02:00
mxm-wmi.c Merge branch 'for_linus' of git://cavan.codon.org.uk/platform-drivers-x86 2014-01-29 18:54:05 -08:00
panasonic-laptop.c Fix sleep / suspend keys for Toughbook CF-51 2014-04-06 12:58:11 -04:00
pvpanic.c pvpanic: handle missing _STA correctly 2015-06-07 21:30:12 -07:00
samsung-laptop.c samsung-laptop: Port to new backlight interface selection API 2015-06-19 01:12:25 +02:00
samsung-q10.c platform: x86: drop owner assignment from platform_drivers 2014-10-20 16:21:27 +02:00
sony-laptop.c fs: Replace current_fs_time() with current_time() 2016-09-27 21:06:22 -04:00
surfacepro3_button.c surfacepro3_button: Add a warning when switching to tablet mode 2016-05-27 11:47:53 -07:00
tc1100-wmi.c tc1100-wmi: fix build warning when CONFIG_PM not enabled 2016-01-19 17:35:47 -08:00
thinkpad_acpi.c thinkpad_acpi: Add support for HKEY version 0x200 2016-06-08 13:01:56 -07:00
topstar-laptop.c platform:x86: Remove OOM message after input_allocate_device 2013-11-20 18:51:03 -05:00
toshiba_acpi.c platform/x86: toshiba_acpi: Fix typo in *_cooling_method_set function 2016-08-31 17:33:33 -07:00
toshiba_bluetooth.c platform/x86: toshiba_bluetooth: Decouple an error checking status code 2016-09-23 16:21:06 -07:00
toshiba_haps.c platform/x86: toshiba_haps: Change logging level from info to debug 2016-09-23 16:21:05 -07:00
toshiba-wmi.c platform/x86: Toshiba WMI Hotkey Driver 2015-10-03 10:07:08 -07:00
wmi.c drivers/platform/x86/wmi.c: use generic UUID library 2016-05-20 17:58:30 -07:00
xo1-rfkill.c platform: x86: drop owner assignment from platform_drivers 2014-10-20 16:21:27 +02:00
xo15-ebook.c ACPI: Clean up inclusions of ACPI header files 2013-12-07 01:03:14 +01:00