summaryrefslogtreecommitdiffstats
path: root/import/chips/p9/procedures/ppe_closed
diff options
context:
space:
mode:
authorRahul Batra <rbatra@us.ibm.com>2018-03-18 12:03:32 -0500
committerhostboot <hostboot@us.ibm.com>2018-05-09 10:32:50 -0500
commit7a3d7a468a9f0a636ae18308c8a7e4e9e684202e (patch)
treea6d46b68062687befcabde0c10a9ee8b1a20f368 /import/chips/p9/procedures/ppe_closed
parente128f9d1c104203229e6458d4b5f19b28c9ca7bf (diff)
downloadtalos-hcode-7a3d7a468a9f0a636ae18308c8a7e4e9e684202e.tar.gz
talos-hcode-7a3d7a468a9f0a636ae18308c8a7e4e9e684202e.zip
PGPE: Use PGPE Header from p9_hcode_images_defines.h
Key_Cronus_Test=PM_REGRESS Change-Id: Ie72b0d588b4da9eadf93625227a3d0cd519e9e6e CQ: SW421711 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/56043 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: RANGANATHPRASAD G. BRAHMASAMUDRA <prasadbgr@in.ibm.com> Tested-by: Cronus HW CI <cronushw-ci+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: YUE DU <daviddu@us.ibm.com> Reviewed-by: Gregory S. Still <stillgs@us.ibm.com>
Diffstat (limited to 'import/chips/p9/procedures/ppe_closed')
-rw-r--r--import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe.h2
-rw-r--r--import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_fit.c8
-rw-r--r--import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_gen_pstate_info.c36
-rw-r--r--import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_gppb.c5
-rw-r--r--import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_header.c30
-rw-r--r--import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_header.h37
-rw-r--r--import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_pstate.c20
-rw-r--r--import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_thread_process_requests.c20
8 files changed, 64 insertions, 94 deletions
diff --git a/import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe.h b/import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe.h
index 3a92f8bb..202bc115 100644
--- a/import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe.h
+++ b/import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe.h
@@ -54,6 +54,8 @@
#include "pstate_pgpe_cme_api.h"
#include "p9_hcd_memmap_base.H"
#include "p9_pm_hcd_flags.h"
+#include "p9_hcode_image_defines.H"
+#include "p9_hcd_memmap_occ_sram.H"
#include "ipc_api.h"
#include "ipc_async_cmd.h"
diff --git a/import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_fit.c b/import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_fit.c
index 5d2062bc..ca5fbd61 100644
--- a/import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_fit.c
+++ b/import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_fit.c
@@ -122,8 +122,8 @@ __attribute__((always_inline)) inline void handle_core_throttle()
uint32_t inject = run & 0x1; //Inject is bit 17, if this is high we run one throttle burst then turn off
uint32_t type = (config >> 13) & 0x1; //type is bit 18, this determines which kind of throttling we do
uint32_t mask = type ? CORE_SLOWDOWN : CORE_IFU_THROTTLE;
- uint32_t pgpe_throttle_assert = G_pgpe_header_data->g_pgpe_throttle_assert;
- uint32_t pgpe_throttle_deassert = G_pgpe_header_data->g_pgpe_throttle_deassert;
+ uint32_t pgpe_throttle_assert = G_pgpe_header_data->g_pgpe_core_throttle_assert_cnt;
+ uint32_t pgpe_throttle_deassert = G_pgpe_header_data->g_pgpe_core_throttle_deassert_cnt;
//if currently off, we don't desire always off, this is the first evaluation since become enabled, we are in always on,
//or we (re enabled and have reached the count, then we turn throttling on (if both assert and deassert are 0 this statement fails)
@@ -195,7 +195,7 @@ __attribute__((always_inline)) inline void handle_occ_beacon()
if (G_pgpe_pstate_record.updatePGPEBeacon == 1)
{
//write to SRAM
- *(G_pgpe_header_data->g_pgpe_beacon_addr) = *(G_pgpe_header_data->g_pgpe_beacon_addr) + 1;
+ *((uint32_t*)(G_pgpe_header_data->g_pgpe_beacon_addr)) = *((uint32_t*)(G_pgpe_header_data->g_pgpe_beacon_addr)) + 1;
G_beacon_count = 0;
}
}
@@ -310,7 +310,7 @@ __attribute__((always_inline)) inline void handle_fit_timebase_sync()
}
else
{
- G_pgpe_optrace_data.word[0] = *(G_pgpe_header_data->g_pgpe_beacon_addr);
+ G_pgpe_optrace_data.word[0] = *((uint32_t*)(G_pgpe_header_data->g_pgpe_beacon_addr));
p9_pgpe_optrace(FIT_TB_SYNC);
G_last_sync_op = 1;
}
diff --git a/import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_gen_pstate_info.c b/import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_gen_pstate_info.c
index 04d0306c..c3c99cdd 100644
--- a/import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_gen_pstate_info.c
+++ b/import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_gen_pstate_info.c
@@ -26,7 +26,7 @@
#include "p9_pstates_pgpe.h"
#include "p9_pstates_table.h"
#include "p9_pgpe_gppb.h"
-#include "p9_pgpe_header.h"
+#include "p9_hcode_image_defines.H"
#include "pstate_pgpe_occ_api.h"
#include "p9_pgpe.h"
@@ -89,14 +89,17 @@ void p9_pgpe_gen_pstate_info()
PK_TRACE_DBG("INIT:highest_ps=0x%x, biased_ps=0x%x",
G_gpi->header.highest_ps_offset,
G_gpi->header.biased_pstate_tbl_offset);
- gppb = (GlobalPstateParmBlock*)((G_pgpe_header_data->g_pgpe_gen_pstables_mem_offset + G_gpi->header.gppb_offset));
- ps0 = (uint32_t*)(G_pgpe_header_data->g_pgpe_gen_pstables_mem_offset + G_gpi->header.ps0_offset);
- highest_pstate = (uint32_t*)(G_pgpe_header_data->g_pgpe_gen_pstables_mem_offset + G_gpi->header.highest_ps_offset);
- rTbl = (PstateTable*)(G_pgpe_header_data->g_pgpe_gen_pstables_mem_offset + G_gpi->header.raw_pstate_tbl_offset);
- bTbl = (PstateTable*)(G_pgpe_header_data->g_pgpe_gen_pstables_mem_offset + G_gpi->header.biased_pstate_tbl_offset);
- PK_TRACE_DBG("INIT:highest_ps=0x%x, ps0=0x%x",
- *highest_pstate,
- *ps0);
+ gppb = (GlobalPstateParmBlock*)((uint32_t*)(G_pgpe_header_data->g_pgpe_gen_pstables_mem_offset) +
+ G_gpi->header.gppb_offset));
+ ps0 = ((uint32_t*)(G_pgpe_header_data->g_pgpe_gen_pstables_mem_offset) + G_gpi->header.ps0_offset);
+ highest_pstate = ((uint32_t*)(G_pgpe_header_data->g_pgpe_gen_pstables_mem_offset) + G_gpi->header.highest_ps_offset);
+ rTbl = (PstateTable*)((uint32_t*)(G_(G_pgpe_header_data->g_pgpe_gen_pstables_mem_offset) +
+ G_gpi->header.raw_pstate_tbl_offset);
+ bTbl = (PstateTable*)(((uint32_t*)(G_pgpe_header_data->g_pgpe_gen_pstables_mem_offset) +
+ G_gpi->header.biased_pstate_tbl_offset);
+ PK_TRACE_DBG("INIT:highest_ps=0x%x, ps0=0x%x",
+ *highest_pstate,
+ *ps0);
#elif USE_GEN_PSTATE_STRUCT_V == 2
G_gpi = (GeneratedPstateInfo_v2*)G_pgpe_header_data->g_pgpe_gen_pstables_mem_offset;
G_gpi->magic = GEN_PSTATES_TBL_MAGIC_V2;
@@ -120,12 +123,15 @@ void p9_pgpe_gen_pstate_info()
PK_TRACE_DBG("INIT:vratio_vindex ofsset=0x%x,length=0x%x ",
G_gpi->header.vratio_vindex_tbl_offset,
G_gpi->header.vratio_vindex_tbl_length);
- gppb = (GlobalPstateParmBlock*)((G_pgpe_header_data->g_pgpe_gen_pstables_mem_offset + G_gpi->header.gppb_offset));
- ps0 = (uint32_t*)(G_pgpe_header_data->g_pgpe_gen_pstables_mem_offset + G_gpi->header.ps0_offset);
- highest_pstate = (uint32_t*)(G_pgpe_header_data->g_pgpe_gen_pstables_mem_offset + G_gpi->header.highest_ps_offset);
- rTbl = (PstateTable*)(G_pgpe_header_data->g_pgpe_gen_pstables_mem_offset + G_gpi->header.raw_pstate_tbl_offset);
- bTbl = (PstateTable*)(G_pgpe_header_data->g_pgpe_gen_pstables_mem_offset + G_gpi->header.biased_pstate_tbl_offset);
- VRatioVIndexTable* vTbl = (VRatioVIndexTable*)(G_pgpe_header_data->g_pgpe_gen_pstables_mem_offset +
+ gppb = (GlobalPstateParmBlock*)((uint32_t*)(G_pgpe_header_data->g_pgpe_gen_pstables_mem_offset) +
+ G_gpi->header.gppb_offset);
+ ps0 = (((uint32_t*)(G_pgpe_header_data->g_pgpe_gen_pstables_mem_offset)) + G_gpi->header.ps0_offset);
+ highest_pstate = ((uint32_t*)(G_pgpe_header_data->g_pgpe_gen_pstables_mem_offset) + G_gpi->header.highest_ps_offset);
+ rTbl = (PstateTable*)((uint32_t*)(G_pgpe_header_data->g_pgpe_gen_pstables_mem_offset) +
+ G_gpi->header.raw_pstate_tbl_offset);
+ bTbl = (PstateTable*)((uint32_t*)(G_pgpe_header_data->g_pgpe_gen_pstables_mem_offset) +
+ G_gpi->header.biased_pstate_tbl_offset);
+ VRatioVIndexTable* vTbl = (VRatioVIndexTable*)((uint32_t*)(G_pgpe_header_data->g_pgpe_gen_pstables_mem_offset) +
G_gpi->header.vratio_vindex_tbl_offset);
PK_TRACE_DBG("INIT:highest_ps=0x%x, ps0=0x%x",
*highest_pstate,
diff --git a/import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_gppb.c b/import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_gppb.c
index 03db491e..058229af 100644
--- a/import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_gppb.c
+++ b/import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_gppb.c
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HCODE Project */
/* */
-/* COPYRIGHT 2016,2017 */
+/* COPYRIGHT 2016,2018 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -25,6 +25,7 @@
#include "p9_pgpe_gppb.h"
#include "p9_pgpe_header.h"
+#include "p9_hcode_image_defines.H"
//Globals and externs
GlobalPstateParmBlock* G_gppb;//Global pointer to GlobalPstateParmBlock
@@ -45,7 +46,7 @@ uint8_t p9_pgpe_gppb_get_ps_region(Pstate ps, uint8_t vpt_pt_set);
//
void p9_pgpe_gppb_init()
{
- void* gppb_sram_offset = G_pgpe_header_data->g_pgpe_gppb_sram_addr;//GPPB Sram Offset
+ void* gppb_sram_offset = (void*)G_pgpe_header_data->g_pgpe_gppb_sram_addr;//GPPB Sram Offset
G_gppb = (GlobalPstateParmBlock*)gppb_sram_offset;
PK_TRACE_INF("INIT: DPLL0Value=0x%x", G_gppb->dpll_pstate0_value);
diff --git a/import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_header.c b/import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_header.c
index 3c729e4f..3c0f5bdf 100644
--- a/import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_header.c
+++ b/import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_header.c
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HCODE Project */
/* */
-/* COPYRIGHT 2016,2017 */
+/* COPYRIGHT 2016,2018 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -24,15 +24,12 @@
/* IBM_PROLOG_END_TAG */
#include "p9_pgpe_header.h"
#include "pstate_pgpe_occ_api.h"
-
-// @todo The PGPE start and the length needs to come from the occ_sram_layout.h
-#define OCC_PGPE_SRAM_ADDR_START 0xfff20000
-#define OCC_PGPE_SRAM_SIZE 0xC000 // 48KB
+#include "p9_hcode_image_defines.H"
+#include "p9_hcd_memmap_base.H"
//OCC Shared SRAM starts at bottom 2K of PGPE OCC SRAM space
-#define OCC_SHARED_SRAM_ADDR_LENGTH 2*1024
#define OCC_SHARED_SRAM_ADDR_START \
- (OCC_PGPE_SRAM_ADDR_START + OCC_PGPE_SRAM_SIZE - OCC_SHARED_SRAM_ADDR_LENGTH)
+ (OCC_SRAM_PGPE_BASE_ADDR + OCC_SRAM_PGPE_REGION_SIZE - PGPE_OCC_SHARED_SRAM_SIZE)
PgpeHeader_t* G_pgpe_header_data;
extern PgpeHeader_t* _PGPE_IMG_HEADER __attribute__ ((section (".pgpe_image_header")));
@@ -52,30 +49,31 @@ void p9_pgpe_header_init()
OCC_SHARED_SRAM_ADDR_START; //Bottom 2K of PGPE OCC Sram Space
//OCC Shared SRAM address and length
- G_pgpe_header_data->g_pgpe_shared_sram_addr = (uint32_t*)OCC_SHARED_SRAM_ADDR_START;
- G_pgpe_header_data->g_pgpe_shared_sram_len = OCC_SHARED_SRAM_ADDR_LENGTH;
+ G_pgpe_header_data->g_pgpe_shared_sram_addr = (uint32_t)OCC_SHARED_SRAM_ADDR_START;
+ G_pgpe_header_data->g_pgpe_shared_sram_len = PGPE_OCC_SHARED_SRAM_SIZE;
//OCC Pstate Tables SRAM address and length
uint64_t* occ_shared_data_indx = (uint64_t*)OCC_SHARED_SRAM_ADDR_START;
- for (i = 0; i < OCC_SHARED_SRAM_ADDR_LENGTH / sizeof(uint64_t); ++i)
+ for (i = 0; i < PGPE_OCC_SHARED_SRAM_SIZE / sizeof(uint64_t); ++i)
{
*occ_shared_data_indx = 0;
occ_shared_data_indx++;
}
- G_pgpe_header_data->g_pgpe_occ_pstables_sram_addr = (uint32_t*)
+ G_pgpe_header_data->g_pgpe_occ_pstables_sram_addr = (uint32_t)
&occ_shared_data->pstate_table; //OCC Pstate table address
G_pgpe_header_data->g_pgpe_occ_pstables_len = sizeof(OCCPstateTable_t); //OCC Pstate table length
- G_pgpe_header_data->g_pgpe_beacon_addr = (uint32_t*)&occ_shared_data->pgpe_beacon;//Beacon
- G_pgpe_header_data->g_quad_status_addr = (uint32_t*)&occ_shared_data->quad_pstate_0;//Quad Pstate
+ G_pgpe_header_data->g_pgpe_beacon_addr = (uint32_t)&occ_shared_data->pgpe_beacon;//Beacon
+ G_pgpe_header_data->g_quad_status_addr = (uint32_t)&occ_shared_data->quad_pstate_0;//Quad Pstate
//GPPB Sram Offset
- G_pgpe_header_data->g_pgpe_gppb_sram_addr = (uint32_t*)(OCC_PGPE_SRAM_ADDR_START +
+ G_pgpe_header_data->g_pgpe_gppb_sram_addr = (uint32_t)(OCC_SRAM_PGPE_BASE_ADDR +
G_pgpe_header_data->g_pgpe_hcode_length);
- G_pgpe_header_data->g_pgpe_wof_state_addr = (uint32_t*)&occ_shared_data->pgpe_wof_state;//Wof State
- G_pgpe_header_data->g_req_active_quad_addr = (uint32_t*)&occ_shared_data->req_active_quads;//Requested Active Quads
+ G_pgpe_header_data->g_pgpe_wof_state_address = (uint32_t)&occ_shared_data->pgpe_wof_state;//Wof State
+ G_pgpe_header_data->g_pgpe_req_active_quad_address = (uint32_t)
+ &occ_shared_data->req_active_quads;//Requested Active Quads
}
diff --git a/import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_header.h b/import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_header.h
index 4b02608f..efde1b33 100644
--- a/import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_header.h
+++ b/import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_header.h
@@ -27,43 +27,6 @@
#include "pk.h"
-
-//
-//\todo RTC: 164335 Use the structure from p9_hcode_image_defines.H
-//when it's updated
-typedef struct
-{
- uint32_t g_pgpe_magic_number[2]; // PGPE_1.0
- uint32_t* g_pgpe_sys_reset_addr; // Fully qualified OCC address where pk_init resides
- uint32_t* g_pgpe_shared_sram_addr; // SRAM address where shared SRAM begins
- uint32_t* g_pgpe_ivpr_addr; // Beginning of PGPE region in OCC SRAM
- uint32_t g_pgpe_shared_sram_len; // Length of shared SRAM area
- uint32_t g_pgpe_build_date; // Build date for PGPE Image
- uint32_t g_pgpe_build_ver; // Build Version
- uint16_t g_pgpe_qm_flags; // QM Flags
- uint16_t g_pgpe_reserve1; // Reserve field
- uint32_t g_pgpe_timebase_hz; // Reserve field
- uint32_t* g_pgpe_gppb_sram_addr; // Offset to Global P State Parameter Block
- uint32_t g_pgpe_hcode_length; // Length of PGPE Hcode
- uint32_t* g_pgpe_gppb_mem_offset; // Offset to start of Global PS Param Block wrt start of HOMER.
- uint32_t g_pgpe_gppb_length; // Length of Global P State Parameter Block
- uint32_t* g_pgpe_gen_pstables_mem_offset; // Offset to PState Table wrt start of HOMER
- uint32_t g_pgpe_gen_pstables_length; // Length of P State table
- uint32_t* g_pgpe_occ_pstables_sram_addr; // Offset to start of OCC P-State table
- uint32_t g_pgpe_occ_pstables_len; // Length of OCC P-State table
- uint32_t* g_pgpe_beacon_addr; // SRAM addr where PGPE beacon is located
- uint32_t* g_quad_status_addr; // Actual Quad address
- uint32_t* g_pgpe_wof_state_addr; //
- uint32_t* g_req_active_quad_addr; //Requested Active Quads Address
- uint32_t* g_wof_table_addr; // WOF Table Address
- uint32_t g_wof_table_length; // WOF Table Length
- uint32_t g_pgpe_throttle_assert;
- uint32_t g_pgpe_throttle_deassert;
- uint32_t g_pgpe_aux_controls;
- uint32_t g_pgpe_doptrace_offset; //Offset from PBABAR that Deep Operational Trace written into
- uint32_t g_pgpe_doptrace_length; //Size in bytes of Deep Operational Trace memory region
-} PgpeHeader_t;
-
void p9_pgpe_header_init();
#endif //_P9_PGPE_HEADER_H_
diff --git a/import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_pstate.c b/import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_pstate.c
index 37c54705..63099099 100644
--- a/import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_pstate.c
+++ b/import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_pstate.c
@@ -119,8 +119,8 @@ void p9_pgpe_pstate_init()
//Init OCC Shared SRAM
G_pgpe_pstate_record.pQuadState0 = (quad_state0_t*)G_pgpe_header_data->g_quad_status_addr;
- G_pgpe_pstate_record.pQuadState1 = (quad_state1_t*)(G_pgpe_header_data->g_quad_status_addr + 2);
- G_pgpe_pstate_record.pReqActQuads = (requested_active_quads_t*)(G_pgpe_header_data->g_req_active_quad_addr);
+ G_pgpe_pstate_record.pQuadState1 = (quad_state1_t*)(G_pgpe_header_data->g_quad_status_addr + 8);
+ G_pgpe_pstate_record.pReqActQuads = (requested_active_quads_t*)(G_pgpe_header_data->g_pgpe_req_active_quad_address);
G_pgpe_pstate_record.pQuadState0->fields.quad0_pstate = 0xff;
G_pgpe_pstate_record.pQuadState0->fields.quad1_pstate = 0xff;
G_pgpe_pstate_record.pQuadState0->fields.quad2_pstate = 0xff;
@@ -350,7 +350,7 @@ void p9_pgpe_pstate_calc_wof()
//2. Vratio calc and VFRT table lookup
//Currently, PGPE only support VRATIO Fixed and VRATIO active cores only
- if (G_pgpe_header_data->g_pgpe_qm_flags & PGPE_FLAG_ENABLE_VRATIO)
+ if (G_pgpe_header_data->g_pgpe_flags & PGPE_FLAG_ENABLE_VRATIO)
{
G_pgpe_pstate_record.vratio = (G_pgpe_pstate_record.numActiveCores * MAX_VRATIO) / (G_pgpe_pstate_record.numSortCores);
@@ -394,7 +394,7 @@ void p9_pgpe_pstate_calc_wof()
void p9_pgpe_pstate_update_wof_state()
{
PK_TRACE_DBG("WFU: Updt WOF Shr Sram");
- pgpe_wof_state_t* wof_state = (pgpe_wof_state_t*)G_pgpe_header_data->g_pgpe_wof_state_addr;
+ pgpe_wof_state_t* wof_state = (pgpe_wof_state_t*)G_pgpe_header_data->g_pgpe_wof_state_address;
wof_state->fields.fclip_ps = G_pgpe_pstate_record.wofClip;
wof_state->fields.vclip_mv = G_pgpe_pstate_record.eVidCurr;
wof_state->fields.fratio = G_pgpe_pstate_record.fratio;
@@ -1121,8 +1121,8 @@ void p9_pgpe_pstate_wof_ctrl(uint32_t action)
if (action == PGPE_ACTION_WOF_ON)
{
//In WOF Phase >= 2, we ask SGPE to start sending active core updates
- if ((G_pgpe_header_data->g_pgpe_qm_flags & PGPE_FLAG_ENABLE_VRATIO) ||
- (G_pgpe_header_data->g_pgpe_qm_flags & PGPE_FLAG_VRATIO_MODIFIER))
+ if ((G_pgpe_header_data->g_pgpe_flags & PGPE_FLAG_ENABLE_VRATIO) ||
+ (G_pgpe_header_data->g_pgpe_flags & PGPE_FLAG_VRATIO_MODIFIER))
{
p9_pgpe_pstate_send_ctrl_stop_updt(CTRL_STOP_UPDT_ENABLE_CORE);
activeCores = G_sgpe_control_updt.fields.active_cores << 8;
@@ -1164,8 +1164,8 @@ void p9_pgpe_pstate_wof_ctrl(uint32_t action)
{
//In WOF Phase >= 2, we take a note that WOF has been disabled, and
//simply ACK any active cores updates that come from SGPE.
- if ((G_pgpe_header_data->g_pgpe_qm_flags & PGPE_FLAG_ENABLE_VRATIO) ||
- (G_pgpe_header_data->g_pgpe_qm_flags & PGPE_FLAG_VRATIO_MODIFIER))
+ if ((G_pgpe_header_data->g_pgpe_flags & PGPE_FLAG_ENABLE_VRATIO) ||
+ (G_pgpe_header_data->g_pgpe_flags & PGPE_FLAG_VRATIO_MODIFIER))
{
G_pgpe_pstate_record.activeCoreUpdtAction = ACTIVE_CORE_UPDATE_ACTION_ACK_ONLY;
}
@@ -1300,7 +1300,7 @@ void p9_pgpe_pstate_process_quad_exit_notify(uint32_t quadsRequested)
//Otherwise, just write the VDM register
vdmcfg.value = 0;
- if (G_pgpe_header_data->g_pgpe_qm_flags & PGPE_FLAG_VDM_ENABLE)
+ if (G_pgpe_header_data->g_pgpe_flags & PGPE_FLAG_VDM_ENABLE)
{
GPE_GETSCOM(GPE_SCOM_ADDR_QUAD(QPPM_VDMCFGR, q), vdmcfg.value);
}
@@ -1905,7 +1905,7 @@ void p9_pgpe_pstate_updt_ext_volt(uint32_t tgtEVid)
G_pgpe_pstate_record.eVidCurr = G_pgpe_pstate_record.eVidNext;
//If VDM is disabled, update VDMCFG register for every quad
- if (!(G_pgpe_header_data->g_pgpe_qm_flags & PGPE_FLAG_VDM_ENABLE))
+ if (!(G_pgpe_header_data->g_pgpe_flags & PGPE_FLAG_VDM_ENABLE))
{
vdmcfg.value = 0;
vdmcfg.fields.vdm_vid_compare = (G_pgpe_pstate_record.eVidCurr - 512) >> 2;
diff --git a/import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_thread_process_requests.c b/import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_thread_process_requests.c
index c68ad583..c3ae7321 100644
--- a/import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_thread_process_requests.c
+++ b/import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_thread_process_requests.c
@@ -78,9 +78,9 @@ void p9_pgpe_thread_process_requests(void* arg)
// 10 - WOF Phase3(Vratio Full, Fratio Fixed)
// 11 - WOF Phase4(Vratio Full, Fratio Full)
// Currently, only Phase 1 and 2 are supported.
- if ((G_pgpe_header_data->g_pgpe_qm_flags & PGPE_FLAG_ENABLE_VRATIO) ||
- (G_pgpe_header_data->g_pgpe_qm_flags & PGPE_FLAG_VRATIO_MODIFIER) ||
- (G_pgpe_header_data->g_pgpe_qm_flags & PGPE_FLAG_ENABLE_FRATIO))
+ if ((G_pgpe_header_data->g_pgpe_flags & PGPE_FLAG_ENABLE_VRATIO) ||
+ (G_pgpe_header_data->g_pgpe_flags & PGPE_FLAG_VRATIO_MODIFIER) ||
+ (G_pgpe_header_data->g_pgpe_flags & PGPE_FLAG_ENABLE_FRATIO))
{
out32(OCB_OCCFLG_OR, BIT32(29));
}
@@ -425,7 +425,7 @@ inline void p9_pgpe_process_start_stop()
ipc_async_cmd_t* async_cmd = (ipc_async_cmd_t*)G_pgpe_pstate_record.ipcPendTbl[IPC_PEND_PSTATE_START_STOP].cmd;
ipcmsg_start_stop_t* args = (ipcmsg_start_stop_t*)async_cmd->cmd_data;
- if(G_pgpe_header_data->g_pgpe_qm_flags & PGPE_FLAG_OCC_IPC_IMMEDIATE_MODE)
+ if(G_pgpe_header_data->g_pgpe_flags & PGPE_FLAG_OCC_IPC_IMMEDIATE_MODE)
{
PK_TRACE_DBG("START_STOP: Imm");
args->msg_cb.rc = PGPE_RC_SUCCESS;
@@ -554,7 +554,7 @@ inline void p9_pgpe_process_clip_updt()
G_pgpe_pstate_record.ipcPendTbl[IPC_PEND_CLIP_UPDT].pending_processing = 0;
- if(G_pgpe_header_data->g_pgpe_qm_flags & PGPE_FLAG_OCC_IPC_IMMEDIATE_MODE)
+ if(G_pgpe_header_data->g_pgpe_flags & PGPE_FLAG_OCC_IPC_IMMEDIATE_MODE)
{
PK_TRACE_DBG("PTH: Clip Updt Imme");
args->msg_cb.rc = PGPE_RC_SUCCESS;
@@ -679,8 +679,8 @@ inline void p9_pgpe_process_wof_ctrl()
G_pgpe_pstate_record.ipcPendTbl[IPC_PEND_WOF_CTRL].pending_processing = 0;
- if((G_pgpe_header_data->g_pgpe_qm_flags & PGPE_FLAG_OCC_IPC_IMMEDIATE_MODE) ||
- (G_pgpe_header_data->g_pgpe_qm_flags & PGPE_FLAG_WOF_IPC_IMMEDIATE_MODE))
+ if((G_pgpe_header_data->g_pgpe_flags & PGPE_FLAG_OCC_IPC_IMMEDIATE_MODE) ||
+ (G_pgpe_header_data->g_pgpe_flags & PGPE_FLAG_WOF_IPC_IMMEDIATE_MODE))
{
PK_TRACE_DBG("PTH: WOF Ctrl Imme");
args->msg_cb.rc = PGPE_RC_SUCCESS;
@@ -795,8 +795,8 @@ inline void p9_pgpe_process_wof_vfrt()
G_pgpe_pstate_record.ipcPendTbl[IPC_PEND_WOF_VFRT].pending_processing = 0;
- if((G_pgpe_header_data->g_pgpe_qm_flags & PGPE_FLAG_OCC_IPC_IMMEDIATE_MODE) ||
- (G_pgpe_header_data->g_pgpe_qm_flags & PGPE_FLAG_WOF_IPC_IMMEDIATE_MODE))
+ if((G_pgpe_header_data->g_pgpe_flags & PGPE_FLAG_OCC_IPC_IMMEDIATE_MODE) ||
+ (G_pgpe_header_data->g_pgpe_flags & PGPE_FLAG_WOF_IPC_IMMEDIATE_MODE))
{
PK_TRACE_DBG("PTH: WOF VFRT Imme");
args->msg_cb.rc = PGPE_RC_SUCCESS;
@@ -893,7 +893,7 @@ inline void p9_pgpe_process_set_pmcr_req()
G_pgpe_pstate_record.ipcPendTbl[IPC_PEND_SET_PMCR_REQ].pending_processing = 0;
- if(G_pgpe_header_data->g_pgpe_qm_flags & PGPE_FLAG_OCC_IPC_IMMEDIATE_MODE)
+ if(G_pgpe_header_data->g_pgpe_flags & PGPE_FLAG_OCC_IPC_IMMEDIATE_MODE)
{
PK_TRACE_DBG("PTH: Set PMCR Imme");
p9_pgpe_optrace(PRC_SET_PMCR);
OpenPOWER on IntegriCloud