summaryrefslogtreecommitdiffstats
path: root/src/occ_405/sensor
diff options
context:
space:
mode:
authormbroyles <mbroyles@us.ibm.com>2017-06-15 12:33:02 -0500
committerWilliam A. Bryan <wilbryan@us.ibm.com>2017-06-16 13:53:52 -0400
commit2c557cd7a08573c142fb508ae729887531af51c2 (patch)
treedda2ceb12032b149f4339043e38bc92847f3c9bf /src/occ_405/sensor
parentca4e0ea382d03376fba5a1d3400fc22d7ba66dd5 (diff)
downloadtalos-occ-2c557cd7a08573c142fb508ae729887531af51c2.tar.gz
talos-occ-2c557cd7a08573c142fb508ae729887531af51c2.zip
Stop State and Throttle Sensor Updates
Change-Id: Ic2589a9e3fb5bad67ce85fb7a5f2c3e9af9f5047 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/41887 Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Shawn M. McCarney <shawnmm@us.ibm.com> Reviewed-by: William A. Bryan <wilbryan@us.ibm.com>
Diffstat (limited to 'src/occ_405/sensor')
-rwxr-xr-xsrc/occ_405/sensor/sensor_enum.h58
-rwxr-xr-xsrc/occ_405/sensor/sensor_info.c11
-rwxr-xr-xsrc/occ_405/sensor/sensor_table.c10
3 files changed, 69 insertions, 10 deletions
diff --git a/src/occ_405/sensor/sensor_enum.h b/src/occ_405/sensor/sensor_enum.h
index 3937f7d..2e7db0e 100755
--- a/src/occ_405/sensor/sensor_enum.h
+++ b/src/occ_405/sensor/sensor_enum.h
@@ -117,8 +117,6 @@ enum e_gsid
PWR250USVDD0, // from APSS (no change)
PWRVCSVIOVDN, // from APSS - rename from PWR250USVCS0 to show what it includes
PWR250USMEM0,
- SLEEPCNT4MSP0,
- WINKCNT4MSP0,
SP250USP0,
TEMPPROCAVG,
TEMPPROCTHRM,
@@ -128,7 +126,8 @@ enum e_gsid
VOLTVDNSENSE, // chip voltage (remote sense adjusted for loadline)
PWRVDD, // calculated from AVSBUS data
PWRVDN, // calculated from AVSBUS data
-
+ PROCPWRTHROT,
+ PROCOTTHROT,
TEMPQ0,
TEMPQ1,
TEMPQ2,
@@ -461,6 +460,56 @@ enum e_gsid
TEMPC22,
TEMPC23,
+ STOPDEEPREQC0,
+ STOPDEEPREQC1,
+ STOPDEEPREQC2,
+ STOPDEEPREQC3,
+ STOPDEEPREQC4,
+ STOPDEEPREQC5,
+ STOPDEEPREQC6,
+ STOPDEEPREQC7,
+ STOPDEEPREQC8,
+ STOPDEEPREQC9,
+ STOPDEEPREQC10,
+ STOPDEEPREQC11,
+ STOPDEEPREQC12,
+ STOPDEEPREQC13,
+ STOPDEEPREQC14,
+ STOPDEEPREQC15,
+ STOPDEEPREQC16,
+ STOPDEEPREQC17,
+ STOPDEEPREQC18,
+ STOPDEEPREQC19,
+ STOPDEEPREQC20,
+ STOPDEEPREQC21,
+ STOPDEEPREQC22,
+ STOPDEEPREQC23,
+
+ STOPDEEPACTC0,
+ STOPDEEPACTC1,
+ STOPDEEPACTC2,
+ STOPDEEPACTC3,
+ STOPDEEPACTC4,
+ STOPDEEPACTC5,
+ STOPDEEPACTC6,
+ STOPDEEPACTC7,
+ STOPDEEPACTC8,
+ STOPDEEPACTC9,
+ STOPDEEPACTC10,
+ STOPDEEPACTC11,
+ STOPDEEPACTC12,
+ STOPDEEPACTC13,
+ STOPDEEPACTC14,
+ STOPDEEPACTC15,
+ STOPDEEPACTC16,
+ STOPDEEPACTC17,
+ STOPDEEPACTC18,
+ STOPDEEPACTC19,
+ STOPDEEPACTC20,
+ STOPDEEPACTC21,
+ STOPDEEPACTC22,
+ STOPDEEPACTC23,
+
// ------------------------------------------------------
// Regulator Sensors
// ------------------------------------------------------
@@ -513,6 +562,9 @@ enum e_gsid
LOCDIMMAXP0M6,
LOCDIMMAXP0M7,
+ MEMPWRTHROT,
+ MEMOTTHROT,
+
// Individual DIMM temperatures (NIMBUS)
TEMPDIMM00,
TEMPDIMM01,
diff --git a/src/occ_405/sensor/sensor_info.c b/src/occ_405/sensor/sensor_info.c
index 926cced..c9b0806 100755
--- a/src/occ_405/sensor/sensor_info.c
+++ b/src/occ_405/sensor/sensor_info.c
@@ -31,6 +31,7 @@
#define AMEEFP_1MS_IN_HZ AMEFP(1,3) // 1000 Hz
#define AMEEFP_2MS_IN_HZ AMEFP(5,2) // 500 Hz
#define AMEEFP_4MS_IN_HZ AMEFP(25,1) // 250 Hz
+#define AMEEFP_16MS_IN_HZ AMEFP(625,-1) // 62.5 Hz
#define AMEEFP_32MS_IN_HZ AMEFP(3125,-2) // 31.25 Hz
#define AMEEFP_3S_IN_HZ AMEFP(333,-3) // 0.333 Hz
#define AMEFP_SCALE_0_16384 AMEFP(610352,-8) // scalar so that digital 16384=100%
@@ -305,8 +306,6 @@ const sensor_info_t G_sensor_info[] =
SENSOR_INFO_T_ENTRY( PWR250USVDD0, "W\0", AMEC_SENSOR_TYPE_POWER, AMEC_SENSOR_LOC_PROC, AMEC_SENSOR_NONUM, AMEEFP_250US_IN_HZ, AMEFP( 1, 0) ),
SENSOR_INFO_T_ENTRY( PWRVCSVIOVDN, "W\0", AMEC_SENSOR_TYPE_POWER, AMEC_SENSOR_LOC_PROC, AMEC_SENSOR_NONUM, AMEEFP_250US_IN_HZ, AMEFP( 1, 0) ),
SENSOR_INFO_T_ENTRY( PWR250USMEM0, "W\0", AMEC_SENSOR_TYPE_POWER, AMEC_SENSOR_LOC_PROC, AMEC_SENSOR_NONUM, AMEEFP_250US_IN_HZ, AMEFP( 1, 0) ),
- SENSOR_INFO_T_ENTRY( SLEEPCNT4MSP0, "#\0", AMEC_SENSOR_TYPE_PERF, AMEC_SENSOR_LOC_PROC, AMEC_SENSOR_NONUM, AMEEFP_4MS_IN_HZ, AMEFP( 1, 0) ),
- SENSOR_INFO_T_ENTRY( WINKCNT4MSP0, "#\0", AMEC_SENSOR_TYPE_PERF, AMEC_SENSOR_LOC_PROC, AMEC_SENSOR_NONUM, AMEEFP_4MS_IN_HZ, AMEFP( 1, 0) ),
SENSOR_INFO_T_ENTRY( SP250USP0, "%\0", AMEC_SENSOR_TYPE_FREQ, AMEC_SENSOR_LOC_PROC, AMEC_SENSOR_NONUM, AMEEFP_250US_IN_HZ, AMEFP( 1, 0) ),
SENSOR_INFO_T_ENTRY( TEMPPROCAVG, "C\0", AMEC_SENSOR_TYPE_TEMP, AMEC_SENSOR_LOC_PROC, AMEC_SENSOR_NONUM, AMEEFP_4MS_IN_HZ, AMEFP( 1, 0) ),
SENSOR_INFO_T_ENTRY( TEMPPROCTHRM, "C\0", AMEC_SENSOR_TYPE_TEMP, AMEC_SENSOR_LOC_PROC, AMEC_SENSOR_NONUM, AMEEFP_4MS_IN_HZ, AMEFP( 1, 0) ),
@@ -316,6 +315,8 @@ const sensor_info_t G_sensor_info[] =
SENSOR_INFO_T_ENTRY( VOLTVDNSENSE, "mV\0", AMEC_SENSOR_TYPE_VOLTAGE, AMEC_SENSOR_LOC_PROC, AMEC_SENSOR_NONUM, AMEEFP_250US_IN_HZ, AMEFP( 1, -1) ),
SENSOR_INFO_T_ENTRY( PWRVDD, "W\0", AMEC_SENSOR_TYPE_POWER, AMEC_SENSOR_LOC_PROC, AMEC_SENSOR_NONUM, AMEEFP_500US_IN_HZ, AMEFP( 1, 0) ),
SENSOR_INFO_T_ENTRY( PWRVDN, "W\0", AMEC_SENSOR_TYPE_POWER, AMEC_SENSOR_LOC_PROC, AMEC_SENSOR_NONUM, AMEEFP_500US_IN_HZ, AMEFP( 1, 0) ),
+ SENSOR_INFO_T_ENTRY( PROCPWRTHROT, "#\0", AMEC_SENSOR_TYPE_PERF, AMEC_SENSOR_LOC_PROC, AMEC_SENSOR_NONUM, AMEEFP_250US_IN_HZ, AMEFP( 1, 0) ),
+ SENSOR_INFO_T_ENTRY( PROCOTTHROT, "#\0", AMEC_SENSOR_TYPE_PERF, AMEC_SENSOR_LOC_PROC, AMEC_SENSOR_NONUM, AMEEFP_16MS_IN_HZ, AMEFP( 1, 0) ),
SENS_QUAD_ENTRY_SET( TEMPQ, "C\0", AMEC_SENSOR_TYPE_TEMP, AMEC_SENSOR_LOC_PROC, AMEC_SENSOR_NONUM, AMEEFP_4MS_IN_HZ, AMEFP( 1, 0) ),
@@ -342,7 +343,9 @@ const sensor_info_t G_sensor_info[] =
SENS_CORE_ENTRY_SET( PPICP0C, "%\0", AMEC_SENSOR_TYPE_PERF, AMEC_SENSOR_LOC_CORE, AMEC_SENSOR_NONUM, AMEEFP_2MS_IN_HZ, AMEFP( 1, 0) ),
SENS_CORE_ENTRY_SET( PWRPX250USP0C, "W\0", AMEC_SENSOR_TYPE_POWER, AMEC_SENSOR_LOC_CORE, AMEC_SENSOR_NONUM, AMEEFP_250US_IN_HZ, AMEFP( 1, 0) ),
SENS_CORE_ENTRY_SET( TEMPC, "C\0", AMEC_SENSOR_TYPE_TEMP, AMEC_SENSOR_LOC_CORE, AMEC_SENSOR_NONUM, AMEEFP_4MS_IN_HZ, AMEFP( 1, 0) ),
-
+ SENS_CORE_ENTRY_SET( STOPDEEPREQC, "ss\0", AMEC_SENSOR_TYPE_PERF, AMEC_SENSOR_LOC_CORE, AMEC_SENSOR_NONUM, AMEEFP_4MS_IN_HZ, AMEFP( 1, 0) ),
+ SENS_CORE_ENTRY_SET( STOPDEEPACTC, "ss\0", AMEC_SENSOR_TYPE_PERF, AMEC_SENSOR_LOC_CORE, AMEC_SENSOR_NONUM, AMEEFP_4MS_IN_HZ, AMEFP( 1, 0) ),
+
/* ==MemSensors== NameString Units Type Location Number Freq ScaleFactor */
SENS_MEMC_ENTRY_SET( MRD2MSP0M, "GBs\0", AMEC_SENSOR_TYPE_PERF, AMEC_SENSOR_LOC_MEM, AMEC_SENSOR_NONUM, AMEEFP_2MS_IN_HZ, AMEFP( 128, -5) ),
SENS_MEMC_ENTRY_SET( MWR2MSP0M, "GBs\0", AMEC_SENSOR_TYPE_PERF, AMEC_SENSOR_LOC_MEM, AMEC_SENSOR_NONUM, AMEEFP_2MS_IN_HZ, AMEFP( 128, -5) ),
@@ -351,6 +354,8 @@ const sensor_info_t G_sensor_info[] =
SENS_DIMM_ENTRY_SET( TEMPDIMM, "C\0", AMEC_SENSOR_TYPE_TEMP, AMEC_SENSOR_LOC_MEM, AMEC_SENSOR_NONUM, AMEEFP_32MS_IN_HZ, AMEFP( 1, 0) ),
SENS_MEMC_ENTRY_SET( TEMPDIMMAXP0M, "C\0", AMEC_SENSOR_TYPE_TEMP, AMEC_SENSOR_LOC_MEM, AMEC_SENSOR_NONUM, AMEEFP_2MS_IN_HZ, AMEFP( 1, 0) ),
SENS_MEMC_ENTRY_SET( LOCDIMMAXP0M, "loc\0", AMEC_SENSOR_TYPE_TEMP, AMEC_SENSOR_LOC_MEM, AMEC_SENSOR_NONUM, AMEEFP_2MS_IN_HZ, AMEFP( 1, 0) ),
+ SENSOR_INFO_T_ENTRY( MEMPWRTHROT, "#\0", AMEC_SENSOR_TYPE_PERF, AMEC_SENSOR_LOC_MEM, AMEC_SENSOR_NONUM, AMEEFP_250US_IN_HZ, AMEFP( 1, 0) ),
+ SENSOR_INFO_T_ENTRY( MEMOTTHROT, "#\0", AMEC_SENSOR_TYPE_PERF, AMEC_SENSOR_LOC_MEM, AMEC_SENSOR_NONUM, AMEEFP_16MS_IN_HZ, AMEFP( 1, 0) ),
/* ==CentaurSensors== NameString Units Type Location Number Freq ScaleFactor */
SEN_CENTR_ENTRY_SET( MAC2MSP0M, "rps\0", AMEC_SENSOR_TYPE_PERF, AMEC_SENSOR_LOC_MEM, AMEC_SENSOR_NONUM, AMEEFP_250US_IN_HZ, AMEFP( 1, 0) ),
diff --git a/src/occ_405/sensor/sensor_table.c b/src/occ_405/sensor/sensor_table.c
index e5f92ca..0f85049 100755
--- a/src/occ_405/sensor/sensor_table.c
+++ b/src/occ_405/sensor/sensor_table.c
@@ -355,8 +355,6 @@ const sensor_ptr_t G_amec_sensor_list[] =
SENSOR_PTR( PWR250USVDD0, &g_amec_sys.proc[0].pwr250usvdd),
SENSOR_PTR( PWRVCSVIOVDN, &g_amec_sys.proc[0].pwrvcsviovdn),
SENSOR_PTR( PWR250USMEM0, &g_amec_sys.proc[0].pwr250usmem),
- SENSOR_PTR( SLEEPCNT4MSP0, &g_amec_sys.proc[0].sleepcnt4ms),
- SENSOR_PTR( WINKCNT4MSP0, &g_amec_sys.proc[0].winkcnt4ms),
SENSOR_PTR( SP250USP0, &g_amec_sys.proc[0].sp250us),
SENSOR_PTR( TEMPPROCAVG, &g_amec_sys.proc[0].tempprocavg),
SENSOR_PTR( TEMPPROCTHRM, &g_amec_sys.proc[0].tempprocthermal),
@@ -366,6 +364,8 @@ const sensor_ptr_t G_amec_sensor_list[] =
SENSOR_PTR( VOLTVDNSENSE, &g_amec_sys.fw.voltvdnsense),
SENSOR_PTR( PWRVDD, &g_amec_sys.proc[0].pwrvdd),
SENSOR_PTR( PWRVDN, &g_amec_sys.proc[0].pwrvdn),
+ SENSOR_PTR( PROCPWRTHROT, &g_amec_sys.proc[0].procpwrthrot),
+ SENSOR_PTR( PROCOTTHROT, &g_amec_sys.proc[0].procotthrot),
// ------------------------------------------------------
// Quad Sensors (6 each)
@@ -388,6 +388,8 @@ const sensor_ptr_t G_amec_sensor_list[] =
CORE_SENSOR_PTRS( PPICP0C , &g_amec_sys.proc[0].core, ppic),
CORE_SENSOR_PTRS( PWRPX250USP0C , &g_amec_sys.proc[0].core, pwrpx250us),
CORE_SENSOR_PTRS( TEMPC, &g_amec_sys.proc[0].core, tempc),
+ CORE_SENSOR_PTRS( STOPDEEPREQC, &g_amec_sys.proc[0].core, stopdeepreqc),
+ CORE_SENSOR_PTRS( STOPDEEPACTC, &g_amec_sys.proc[0].core, stopdeepactc),
// ------------------------------------------------------
// Memory Sensors
@@ -399,6 +401,8 @@ const sensor_ptr_t G_amec_sensor_list[] =
DIMM_SENSOR_PTRS(TEMPDIMM, &g_amec_sys.proc[0], tempdimm),
MEMCONTROL_SENSOR_PTRS(TEMPDIMMAXP0M, &g_amec_sys.proc[0].memctl, centaur.tempdimmax),
MEMCONTROL_SENSOR_PTRS(LOCDIMMAXP0M, &g_amec_sys.proc[0].memctl, centaur.locdimmax),
+ SENSOR_PTR(MEMPWRTHROT, &g_amec_sys.proc[0].mempwrthrot),
+ SENSOR_PTR(MEMOTTHROT, &g_amec_sys.proc[0].memotthrot),
PORTPAIR_SENSOR_PTRS(MAC2MSP0M, &g_amec_sys.proc[0].memctl, centaur.portpair, mac2ms),
PORTPAIR_SENSOR_PTRS(MPU2MSP0M, &g_amec_sys.proc[0].memctl, centaur.portpair, mpu2ms),
@@ -519,8 +523,6 @@ const minisensor_ptr_t G_amec_mini_sensor_list[] INIT_SECTION =
MINI_SENSOR_PTR( PWR250USVDD0, NULL),
MINI_SENSOR_PTR( PWRVCSVIOVDN, NULL),
MINI_SENSOR_PTR( PWR250USMEM0, &G_dcom_slv_outbox_tx.pwr250usmemp0),
- MINI_SENSOR_PTR( SLEEPCNT4MSP0, &G_dcom_slv_outbox_tx.sleepcnt4msp0),
- MINI_SENSOR_PTR( WINKCNT4MSP0, &G_dcom_slv_outbox_tx.winkcnt4msp0),
MINI_SENSOR_PTR( SP250USP0, NULL),
MINI_SENSOR_PTR( TEMPPROCAVG, &G_dcom_slv_outbox_tx.tempprocavg),
MINI_SENSOR_PTR( TEMPPROCTHRM, &G_dcom_slv_outbox_tx.tempprocthermal),
OpenPOWER on IntegriCloud