From 1da6b089c930731d8c67d846b8481e1db6874157 Mon Sep 17 00:00:00 2001 From: Sooraj Nair Date: Thu, 26 Oct 2017 08:03:44 -0500 Subject: 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 Reviewed-by: Martha Broyles Reviewed-by: William A. Bryan --- src/occ_gpe1/gpe1_24x7.c | 32 ++++++++++---------- src/occ_gpe1/gpe1_24x7.h | 77 ++++++++++++++++++++++++++++++++---------------- 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, -- cgit v1.2.1