summaryrefslogtreecommitdiffstats
path: root/src/occ_gpe1
diff options
context:
space:
mode:
authorSooraj Nair <soonair3@in.ibm.com>2017-10-26 08:03:44 -0500
committerWilliam A. Bryan <wilbryan@us.ibm.com>2017-10-27 12:47:08 -0400
commit1da6b089c930731d8c67d846b8481e1db6874157 (patch)
treea6c17804e6e0adce7355f4904487614da4b1fabc /src/occ_gpe1
parent0d7b82e82f98a9b9df97781372e50a68752d1059 (diff)
downloadtalos-occ-1da6b089c930731d8c67d846b8481e1db6874157.tar.gz
talos-occ-1da6b089c930731d8c67d846b8481e1db6874157.zip
Permanent fix for SW399904(fixed nvlink/uav)
Hostboot HWP for UAV updation is fixed so Removing workaround. Also fixed NVLINK address and configs. Change-Id: Ia85271aff13a9bc2e789223570b8c112b03ed114 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/48869 Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Martha Broyles <mbroyles@us.ibm.com> Reviewed-by: William A. Bryan <wilbryan@us.ibm.com>
Diffstat (limited to 'src/occ_gpe1')
-rw-r--r--src/occ_gpe1/gpe1_24x7.c32
-rwxr-xr-xsrc/occ_gpe1/gpe1_24x7.h77
2 files changed, 68 insertions, 41 deletions
diff --git a/src/occ_gpe1/gpe1_24x7.c b/src/occ_gpe1/gpe1_24x7.c
index 2610628..219f387 100644
--- a/src/occ_gpe1/gpe1_24x7.c
+++ b/src/occ_gpe1/gpe1_24x7.c
@@ -166,11 +166,11 @@ void gpe_24x7(ipc_msg_t* cmd, void* arg)
PK_TRACE("gpe_24x7: speed change, L_INIT set to true");
}
//4.check for any system config changes via uav
- /*if (*L_uav != G_CUR_UAV)
+ if (*L_uav != G_CUR_UAV)
{
L_INIT = true;
L_PART_INIT = true;
- }*/
+ }
//initialize postings if required from new cmd or change of speed or UAV change.
if (L_INIT)
{
@@ -186,7 +186,7 @@ void gpe_24x7(ipc_msg_t* cmd, void* arg)
L_cur_speed = *L_speed;
G_CUR_UAV = *L_uav;
//SW399904 patch until HWP output for UAV is debugged.
- G_CUR_UAV = CNTL_UAV_TEMP;
+ //G_CUR_UAV = CNTL_UAV_TEMP;
*L_marker = MARKER1;
//
set_speed(&L_cur_speed,&L_CUR_DELAY,L_status);
@@ -425,29 +425,31 @@ void configure_pmu(uint8_t state, uint64_t speed)
{
//check the availability of unit before writing the configurations to the config scoms.
//use the unit wise masks to acertain availability of a unit.
- if( (i==4) && !(G_CUR_UAV & MASK_MCS4) )
+//in Nimbus, MCA is present instead of MBAs and they are updated at the location for MBAs.
+//MBAs need to be checked to see which MC poerts are configured.
+ if( (i==4) && !(G_CUR_UAV & MASK_MBA4) )
continue;
- else if( (i==5) && !(G_CUR_UAV & MASK_MCS5) )
+ else if( (i==5) && !(G_CUR_UAV & MASK_MBA5) )
continue;
- else if( (i==6) && !(G_CUR_UAV & MASK_MCS6) )
+ else if( (i==6) && !(G_CUR_UAV & MASK_MBA6) )
continue;
- else if( (i==7) && !(G_CUR_UAV & MASK_MCS7) )
+ else if( (i==7) && !(G_CUR_UAV & MASK_MBA7) )
continue;
- else if( ((i==8)||(i==9)||(i==10)||(i==11)) && (!(G_CUR_UAV & MASK_MCS4)||!(G_CUR_UAV & MASK_MCS5)) )
+ else if( ((i==8)||(i==9)||(i==10)||(i==11)) && (!(G_CUR_UAV & MASK_MBA4)||!(G_CUR_UAV & MASK_MBA5)) )
continue;
- else if( ((i==12)||(i==13)||(i==14)||(i==15)) && (!(G_CUR_UAV & MASK_MCS6)||!(G_CUR_UAV & MASK_MCS7)) )
+ else if( ((i==12)||(i==13)||(i==14)||(i==15)) && (!(G_CUR_UAV & MASK_MBA6)||!(G_CUR_UAV & MASK_MBA7)) )
continue;
- else if( (i==16) && !(G_CUR_UAV & MASK_MCS0) )
+ else if( (i==16) && !(G_CUR_UAV & MASK_MBA0) )
continue;
- else if( (i==17) && !(G_CUR_UAV & MASK_MCS1) )
+ else if( (i==17) && !(G_CUR_UAV & MASK_MBA1) )
continue;
- else if( (i==18) && !(G_CUR_UAV & MASK_MCS2) )
+ else if( (i==18) && !(G_CUR_UAV & MASK_MBA2) )
continue;
- else if( (i==19) && !(G_CUR_UAV & MASK_MCS3) )
+ else if( (i==19) && !(G_CUR_UAV & MASK_MBA3) )
continue;
- else if( ((i==20)||(i==21)||(i==22)||(i==23)) && (!(G_CUR_UAV & MASK_MCS0)||!(G_CUR_UAV & MASK_MCS1)) )
+ else if( ((i==20)||(i==21)||(i==22)||(i==23)) && (!(G_CUR_UAV & MASK_MBA0)||!(G_CUR_UAV & MASK_MBA1)) )
continue;
- else if( ((i==24)||(i==25)||(i==26)||(i==27)) && (!(G_CUR_UAV & MASK_MCS2)||!(G_CUR_UAV & MASK_MCS3)) )
+ else if( ((i==24)||(i==25)||(i==26)||(i==27)) && (!(G_CUR_UAV & MASK_MBA2)||!(G_CUR_UAV & MASK_MBA3)) )
continue;
else if( (i==28) && ((!(G_CUR_UAV & MASK_XLNK0))||(!(G_CUR_UAV & MASK_XLNK1))||(!(G_CUR_UAV & MASK_XLNK2))) )
continue;
diff --git a/src/occ_gpe1/gpe1_24x7.h b/src/occ_gpe1/gpe1_24x7.h
index 77a99b2..91d9cc5 100755
--- a/src/occ_gpe1/gpe1_24x7.h
+++ b/src/occ_gpe1/gpe1_24x7.h
@@ -89,14 +89,22 @@ uint64_t G_PMU_CONFIGS_8[][2] =
{0x2011054, 0x0000000000000000},//31
{0x2011055, 0x00000000600002aa},//32
//nvlinks-NTL,ATS,XTS//
- {0x501111e, 0x90aa01444f8a0000},//NTL0//33
- {0x501113e, 0x90aa01444f8a0000},//NTL1//34
- {0x501131e, 0x90aa01444f8a0000},//NTL2//35
- {0x501133e, 0x90aa01444f8a0000},//NTL3//36
- {0x501151e, 0x90aa01444f8a0000},//NTL4//37
- {0x501153e, 0x90aa01444f8a0000},//NTL5//38
- {0x5011600, 0x80aa420000000000},//ATS//39
- {0x5011645, 0x80aa03050d0e0000},//XTS//40
+ //{0x501111e, 0x90aa01444f8a0000},//NTL0//33
+ {0x501111e, 0xb0aa01444f8a0000},//NTL0//33
+ //{0x501113e, 0x90aa01444f8a0000},//NTL1//34
+ {0x501113e, 0xb0aa01444f8a0000},//NTL1//34
+ //{0x501131e, 0x90aa01444f8a0000},//NTL2//35
+ {0x501131e, 0xb0aa01444f8a0000},//NTL2//35
+ //{0x501133e, 0x90aa01444f8a0000},//NTL3//36
+ {0x501133e, 0xb0aa01444f8a0000},//NTL3//36
+ //{0x501151e, 0x90aa01444f8a0000},//NTL4//37
+ {0x501151e, 0xb0aa01444f8a0000},//NTL4//37
+ //{0x501153e, 0x90aa01444f8a0000},//NTL5//38
+ {0x501153e, 0xb0aa01444f8a0000},//NTL5//38
+ //{0x5011600, 0x80aa420000000000},//ATS//39
+ {0x5011600, 0xb0aa420000000000},//ATS//39
+ //{0x5011645, 0x80aa03050d0e0000},//XTS//40
+ {0x5011645, 0xb0aa03050d0e0000},//XTS//40
//PHB
{0xd010917, 0x8000011516190000},//PHB0//41
{0xe010917, 0x8000011516190000},//PHB1//42
@@ -105,9 +113,12 @@ uint64_t G_PMU_CONFIGS_8[][2] =
{0xf010957, 0x8000011516190000},//PHB4//45
{0xf010997, 0x8000011516190000},//PHB5//46
//nvlinks-NPCQ//
- {0x50110C7, 0x80aa1012181a0000},//NPCQ01//47
- {0x50112C7, 0x80aa1012181a0000},//NPCQ02//48
- {0x50114C7, 0x80aa1012181a0000},//NPCQ03//49
+ //{0x50110C7, 0x80aa1012181a0000},//NPCQ01//47
+ {0x50110C7, 0x90aa1012181a0000},//NPCQ01//47
+ //{0x50112C7, 0x80aa1012181a0000},//NPCQ02//48
+ {0x50112C7, 0x90aa1012181a0000},//NPCQ02//48
+ //{0x50114C7, 0x80aa1012181a0000},//NPCQ03//49
+ {0x50114C7, 0x90aa1012181a0000},//NPCQ03//49
//CAPP
{0x2010814, 0x8058812200000000},//CAPP01//50
{0x2010816, 0x6000000000000000},//CAPP01//51
@@ -173,14 +184,22 @@ uint64_t G_PMU_CONFIGS_16[][2] =
{0x2011054, 0x0000000000000000},//31
{0x2011055, 0x00000000600002aa},//32
//nvlinks-NTL,ATS,XTS//
- {0x501111e, 0x805501444f8a0000},//NTL0//33
- {0x501113e, 0x805501444f8a0000},//NTL1//34
- {0x501131e, 0x805501444f8a0000},//NTL2//35
- {0x501133e, 0x805501444f8a0000},//NTL3//36
- {0x501151e, 0x805501444f8a0000},//NTL4//37
- {0x501153e, 0x805501444f8a0000},//NTL5//38
- {0x5011600, 0x8055420000000000},//ATS//39
- {0x5011645, 0x805503050d0e0000},//XTS//40
+ //{0x501111e, 0x805501444f8a0000},//NTL0//33
+ {0x501111e, 0xb05501444f8a0000},//NTL0//33
+ //{0x501113e, 0x805501444f8a0000},//NTL1//34
+ {0x501113e, 0xb05501444f8a0000},//NTL1//34
+ //{0x501131e, 0x805501444f8a0000},//NTL2//35
+ {0x501131e, 0xb05501444f8a0000},//NTL2//35
+ //{0x501133e, 0x805501444f8a0000},//NTL3//36
+ {0x501133e, 0xb05501444f8a0000},//NTL3//36
+ //{0x501151e, 0x805501444f8a0000},//NTL4//37
+ {0x501151e, 0xb05501444f8a0000},//NTL4//37
+ //{0x501153e, 0x805501444f8a0000},//NTL5//38
+ {0x501153e, 0xb05501444f8a0000},//NTL5//38
+ //{0x5011600, 0x8055420000000000},//ATS//39
+ {0x5011600, 0xb055420000000000},//ATS//39
+ //{0x5011645, 0x805503050d0e0000},//XTS//40
+ {0x5011645, 0xb05503050d0e0000},//XTS//40
//PHB
{0xd010917, 0x8000011516190000},//PHB0//41
{0xe010917, 0x8000011516190000},//PHB1//42
@@ -189,9 +208,12 @@ uint64_t G_PMU_CONFIGS_16[][2] =
{0xf010957, 0x8000011516190000},//PHB4//45
{0xf010997, 0x8000011516190000},//PHB5//46
//nvlinks-NPCQ//
- {0x50110C7, 0x80551012181a0000},//NPCQ01//47
- {0x50112C7, 0x80551012181a0000},//NPCQ02//48
- {0x50114C7, 0x80551012181a0000},//NPCQ03//49
+ //{0x50110C7, 0x80551012181a0000},//NPCQ01//47
+ {0x50110C7, 0x90551012181a0000},//NPCQ01//47
+ //{0x50112C7, 0x80551012181a0000},//NPCQ02//48
+ {0x50112C7, 0x90551012181a0000},//NPCQ02//48
+ //{0x50114C7, 0x80551012181a0000},//NPCQ03//49
+ {0x50114C7, 0x90551012181a0000},//NPCQ03//49
//CAPP
{0x2010814, 0x803840a100000000},//CAPP01//50
{0x2010816, 0x6000000000000000},//CAPP01//51
@@ -338,11 +360,14 @@ uint64_t G_PMULETS_6[] =
uint64_t G_PMULETS_7[] =
{
//NPCQ01
- 0x5011086,//0//64
+ //0x5011086,//0//64
+ 0x50110c6,//0//64
//NPCQ02
- 0x5011186,//1//65
+ //0x5011186,//1//65
+ 0x50112c6,//1//65
//NPCQ03
- 0x5011286,//2//66
+ //0x5011286,//2//66
+ 0x50114c6,//2//66
//CAPP01
0x2010815,//3//67
0x2010825,//4//68
@@ -472,7 +497,7 @@ enum
CNTL_SPEED_1024MS = 0xA,
CNTL_SPEED_2048MS = 0xB,
//cntl cmd uav temp
- CNTL_UAV_TEMP = 0xFFFF807000000000,
+ CNTL_UAV_TEMP = 0xFFFF8073F007E000,
//CNTL_UAV_TEMP = 0xf800007000000000,
MARKER1 = 0xCAFEBABEFA11DEA1,
MARKER2 = 0xCAFEBABEFA11DEA2,
OpenPOWER on IntegriCloud