platform/x86: intel_pmc_core: Add PCH IP Power Gating Status
authorRajneesh Bhardwaj <rajneesh.bhardwaj@intel.com>
Fri, 7 Oct 2016 10:31:13 +0000 (16:01 +0530)
committerDarren Hart <dvhart@linux.intel.com>
Tue, 13 Dec 2016 17:28:55 +0000 (09:28 -0800)
commit0bdfaf429d1da662742708153bf8cc945bf4904b
treeb3210496ed6245a293e7c6028160f39b4303c8c9
parent8434709ba71473f75572245c247d3c1e92509cf3
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>
drivers/platform/x86/intel_pmc_core.c
drivers/platform/x86/intel_pmc_core.h