Add Eco mode support

Add support for new modes:
- Efficiency Favor Performance
- Efficiency Favor Power
- Balanced Performance
- Non-Deterministic (lab only)

Tested on Rainier by setting/reading all new/old modes.

Change-Id: I5479a3016bce962127a3ecbec2db155994dd26b0
Signed-off-by: Chris Cain <cjcain@us.ibm.com>
diff --git a/powermode.cpp b/powermode.cpp
index e367afc..342188e 100644
--- a/powermode.cpp
+++ b/powermode.cpp
@@ -174,6 +174,18 @@
     {
         pmode = SysPwrMode::STATIC;
     }
+    else if (mode == Mode::PowerMode::EfficiencyFavorPower)
+    {
+        pmode = SysPwrMode::EFF_FAVOR_POWER;
+    }
+    else if (mode == Mode::PowerMode::EfficiencyFavorPerformance)
+    {
+        pmode = SysPwrMode::EFF_FAVOR_PERF;
+    }
+    else if (mode == Mode::PowerMode::BalancedPerformance)
+    {
+        pmode = SysPwrMode::BALANCED_PERF;
+    }
     else
     {
         if (mode != Mode::PowerMode::OEM)
@@ -303,6 +315,15 @@
         case SysPwrMode::MAX_PERF:
             dBusMode = Mode::PowerMode::MaximumPerformance;
             break;
+        case SysPwrMode::EFF_FAVOR_POWER:
+            dBusMode = Mode::PowerMode::EfficiencyFavorPower;
+            break;
+        case SysPwrMode::EFF_FAVOR_PERF:
+            dBusMode = Mode::PowerMode::EfficiencyFavorPerformance;
+            break;
+        case SysPwrMode::BALANCED_PERF:
+            dBusMode = Mode::PowerMode::BalancedPerformance;
+            break;
         default:
             dBusMode = Mode::PowerMode::OEM;
     }