summaryrefslogtreecommitdiffstats
path: root/src/occ_405/wof/wof.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/occ_405/wof/wof.c')
-rw-r--r--src/occ_405/wof/wof.c22
1 files changed, 19 insertions, 3 deletions
diff --git a/src/occ_405/wof/wof.c b/src/occ_405/wof/wof.c
index 1426e6f..a8ada6a 100644
--- a/src/occ_405/wof/wof.c
+++ b/src/occ_405/wof/wof.c
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER OnChipController Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2016,2018 */
+/* Contributors Listed Below - COPYRIGHT 2016,2019 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -1526,8 +1526,24 @@ void calculate_ceff_ratio_vdd( void )
*/
void calculate_AC_currents( void )
{
- g_wof->iac_vdd = g_wof->curvdd_sensor - g_wof->idc_vdd;
- g_wof->iac_vdn = g_wof->curvdn_sensor - g_wof->idc_vdn;
+ // avoid negative AC currents
+ if(g_wof->curvdd_sensor > g_wof->idc_vdd)
+ {
+ g_wof->iac_vdd = g_wof->curvdd_sensor - g_wof->idc_vdd;
+ }
+ else
+ {
+ g_wof->iac_vdd = 0;
+ }
+
+ if(g_wof->curvdn_sensor > g_wof->idc_vdn)
+ {
+ g_wof->iac_vdn = g_wof->curvdn_sensor - g_wof->idc_vdn;
+ }
+ else
+ {
+ g_wof->iac_vdn = 0;
+ }
}
/**
OpenPOWER on IntegriCloud