cpufreq: powernv: Report cpu frequency throttling
authorShilpasri G Bhat <shilpa.bhat@linux.vnet.ibm.com>
Wed, 1 Apr 2015 09:46:34 +0000 (15:16 +0530)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 1 Apr 2015 21:02:24 +0000 (23:02 +0200)
commit09a972d1620934142d30cfda455ffe429af751c4
treed6a9e511a21462e3bb9b25fc4551f82058995a35
parent2f249358eedaf81cede7fb0927ed0bd9c1ae2de7
cpufreq: powernv: Report cpu frequency throttling

The power and thermal safety of the system is taken care by an
On-Chip-Controller (OCC) which is real-time subsystem embedded within
the POWER8 processor. OCC continuously monitors the memory and core
temperature, the total system power, state of power supply and fan.

The cpu frequency can be throttled by OCC for the following reasons:
1)If a processor crosses its power and temperature limit then OCC will
  lower its Pmax to reduce the frequency and voltage.
2)If OCC crashes then the system is forced to Psafe frequency.
3)If OCC fails to recover then the kernel is not allowed to do any
  further frequency changes and the chip will remain in Psafe.

The user can see a drop in performance when frequency is throttled and
is unaware of throttling. So detect and report such a condition, so
the user can check the OCC status to reboot the system or check for
power supply or fan failures.

The current status of the core is read from Power Management Status
Register(PMSR) to check if any of the throttling condition is occurred
and the appropriate throttling message is reported.

Signed-off-by: Shilpasri G Bhat <shilpa.bhat@linux.vnet.ibm.com>
Reviewed-by: Preeti U Murthy <preeti@linux.vnet.ibm.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/cpufreq/powernv-cpufreq.c