Skip to content

Commit cade833

Browse files
rbatraAustinIBMop-jenkins
authored andcommitted
PGPE: Fix Voltage Delay Math
- fix attribute consumption in busy-wait implementation Key_Cronus_Test=PM_REGRESS Change-Id: Ifc38fb147fd6c202154b5c3d930c638e1f110583 CQ: SW465588 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/77667 Reviewed-by: RANGANATHPRASAD G. BRAHMASAMUDRA <prasadbgr@in.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.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: Gregory S. Still <stillgs@us.ibm.com> Reviewed-by: Jennifer A Stofer <stofer@us.ibm.com>
1 parent ff534ad commit cade833

File tree

4 files changed

+16
-15
lines changed

4 files changed

+16
-15
lines changed

import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_gppb.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,8 @@ const uint8_t G_vdm_threshold_table[13] =
7272

7373
//Globals and externs
7474
GlobalPstateParmBlock* G_gppb;//Global pointer to GlobalPstateParmBlock
75-
uint32_t G_ext_vrm_inc_rate_mult_usperus;
76-
uint32_t G_ext_vrm_dec_rate_mult_usperus;
75+
uint32_t G_ext_vrm_inc_rate_mult_usperv;
76+
uint32_t G_ext_vrm_dec_rate_mult_usperv;
7777
extern PgpeHeader_t* G_pgpe_header_data;
7878

7979
//
@@ -94,11 +94,11 @@ void p9_pgpe_gppb_init()
9494
G_gppb = (GlobalPstateParmBlock*)gppb_sram_offset;
9595

9696
//PK_TRACE_INF("INIT: DPLL0Value=0x%x", G_gppb->dpll_pstate0_value);
97-
//External VRM increasing rate in us/uv
98-
G_ext_vrm_inc_rate_mult_usperus = 1 / G_gppb->ext_vrm_transition_rate_inc_uv_per_us;
97+
//External VRM increasing rate in us/v
98+
G_ext_vrm_inc_rate_mult_usperv = (1000 * 1000) / G_gppb->ext_vrm_transition_rate_inc_uv_per_us;
9999

100-
//External VRM decreasing rate in us/uv
101-
G_ext_vrm_dec_rate_mult_usperus = 1 / G_gppb->ext_vrm_transition_rate_dec_uv_per_us;
100+
//External VRM decreasing rate in us/v
101+
G_ext_vrm_dec_rate_mult_usperv = (1000 * 1000) / G_gppb->ext_vrm_transition_rate_dec_uv_per_us;
102102
}
103103

104104
//

import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_pstate.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,8 @@
4949
extern TraceData_t G_pgpe_optrace_data;
5050
extern PgpeHeader_t* G_pgpe_header_data;
5151
extern GlobalPstateParmBlock* G_gppb;
52-
extern uint32_t G_ext_vrm_inc_rate_mult_usperus;
53-
extern uint32_t G_ext_vrm_dec_rate_mult_usperus;
52+
extern uint32_t G_ext_vrm_inc_rate_mult_usperv;
53+
extern uint32_t G_ext_vrm_dec_rate_mult_usperv;
5454
extern PgpePstateRecord G_pgpe_pstate_record;
5555
extern void p9_pgpe_ipc_ack_sgpe_ctrl_stop_updt(ipc_msg_t* msg, void* arg);
5656
extern void p9_pgpe_ipc_ack_sgpe_suspend_stop(ipc_msg_t* msg, void* arg);
@@ -2065,7 +2065,7 @@ void p9_pgpe_pstate_updt_ext_volt()
20652065
//to keep the math simple(use shift instead of multiply) we approximate
20662066
//1us as (1024/32)=32 OTBR ticks
20672067
delay_ticks = ((G_pgpe_pstate_record.extVrmCurr - G_pgpe_pstate_record.extVrmNext) *
2068-
G_ext_vrm_dec_rate_mult_usperus) << 5;
2068+
G_ext_vrm_dec_rate_mult_usperv) >> 5;
20692069
}
20702070
//Increasing
20712071
else if (G_pgpe_pstate_record.extVrmNext > G_pgpe_pstate_record.extVrmCurr)
@@ -2074,7 +2074,7 @@ void p9_pgpe_pstate_updt_ext_volt()
20742074
//to keep the math simple(use shift instead of multiply) we approximate
20752075
//1us as (1024/32)=32 OTBR ticks
20762076
delay_ticks = ((G_pgpe_pstate_record.extVrmNext - G_pgpe_pstate_record.extVrmCurr) *
2077-
G_ext_vrm_inc_rate_mult_usperus) << 5;
2077+
G_ext_vrm_inc_rate_mult_usperv) >> 5;
20782078
}
20792079

20802080
#endif
@@ -2118,7 +2118,7 @@ void p9_pgpe_pstate_updt_ext_volt()
21182118
if(G_pgpe_pstate_record.biasSyspExtVrmNext == p9_pgpe_gppb_intp_vdd_from_ps(G_pgpe_pstate_record.psNext.fields.glb,
21192119
VPD_PT_SET_BIASED_SYSP))
21202120
{
2121-
delay_ticks = G_gppb->ext_vrm_stabilization_time_us << 5;
2121+
delay_ticks = G_gppb->ext_vrm_stabilization_time_us >> 5;
21222122

21232123
//Read TimebaseStart
21242124
tbStart = in32(OCB_OTBR);

import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_thread_actuate_pstates.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,7 @@ void p9_pgpe_thread_actuate_pstates(void* arg)
126126
(G_pgpe_pstate_record.ipcPendTbl[IPC_PEND_WOF_CTRL].pending_processing == 0))
127127
{
128128
out32(G_OCB_OCCFLG_CLR, BIT32(PGPE_PM_RESET_SUPPRESS));
129+
PK_TRACE_INF("ACT_TH: PM_RESET_SUPP=0");
129130
}
130131
}
131132

@@ -291,7 +292,7 @@ void p9_pgpe_thread_actuate_pstates(void* arg)
291292
//Check if IPC should be opened again
292293
if (restore_irq == 1)
293294
{
294-
PK_TRACE_DBG("ACT_TH: IRQ Restore");
295+
PK_TRACE_INF("ACT_TH: IRQ Restore");
295296
restore_irq = 0;
296297
pk_irq_vec_restore(&ctx);
297298
}

import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_thread_process_requests.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1034,7 +1034,7 @@ inline void p9_pgpe_process_wof_vfrt()
10341034
//
10351035
inline void p9_pgpe_process_set_pmcr_req()
10361036
{
1037-
PK_TRACE_DBG("PTH: Set PMCR Enter");
1037+
PK_TRACE_INF("PTH: Set PMCR Enter");
10381038

10391039
uint32_t q, c, bad_rc = 0;
10401040
ipc_async_cmd_t* async_cmd = (ipc_async_cmd_t*)G_pgpe_pstate_record.ipcPendTbl[IPC_PEND_SET_PMCR_REQ].cmd;
@@ -1092,7 +1092,7 @@ inline void p9_pgpe_process_set_pmcr_req()
10921092
}
10931093
else
10941094
{
1095-
PK_TRACE_DBG("PTH: Upd coresPSReq");
1095+
PK_TRACE_INF("PTH: Upd coresPSReq");
10961096

10971097
for (q = 0; q < MAX_QUADS; q++)
10981098
{
@@ -1129,7 +1129,7 @@ inline void p9_pgpe_process_set_pmcr_req()
11291129
PGPE_OPTIONAL_TRACE_AND_PANIC(PGPE_OCC_IPC_ACK_BAD_RC);
11301130
}
11311131

1132-
PK_TRACE_DBG("PTH: Set PMCR Exit");
1132+
PK_TRACE_INF("PTH: Set PMCR Exit");
11331133
}
11341134

11351135
//

0 commit comments

Comments
 (0)