diff options
Diffstat (limited to 'src/occ_405/cmdh')
-rwxr-xr-x | src/occ_405/cmdh/cmdh_fsp_cmds.c | 22 | ||||
-rwxr-xr-x | src/occ_405/cmdh/cmdh_fsp_cmds.h | 1 | ||||
-rwxr-xr-x | src/occ_405/cmdh/cmdh_fsp_cmds_datacnfg.c | 31 | ||||
-rwxr-xr-x | src/occ_405/cmdh/cmdh_snapshot.c | 8 |
4 files changed, 39 insertions, 23 deletions
diff --git a/src/occ_405/cmdh/cmdh_fsp_cmds.c b/src/occ_405/cmdh/cmdh_fsp_cmds.c index 90c6d3b..b1205f2 100755 --- a/src/occ_405/cmdh/cmdh_fsp_cmds.c +++ b/src/occ_405/cmdh/cmdh_fsp_cmds.c @@ -682,6 +682,28 @@ ERRL_RC cmdh_poll_v20(cmdh_fsp_rsp_t * o_rsp_ptr) } l_sensorHeader.count++; + l_extnSensorList[l_sensorHeader.count].name = EXTN_NAME_CLIP; + // get Pstate for the current minimum maximum frequency OCC is allowing + // actual frequency is driven down by the lowest max frequency across all cores + freq = g_amec->proc[0].core_min_freq; + if (freq > 0) + { + l_extnSensorList[l_sensorHeader.count].data[0] = proc_freq2pstate(freq); + } + else + { + l_extnSensorList[l_sensorHeader.count].data[0] = 0xFF; + } + + // current counter will be 0 if not currently clipping + l_extnSensorList[l_sensorHeader.count].data[1] = g_amec->proc[0].current_clip_count; + // clip history reason + l_extnSensorList[l_sensorHeader.count].data[2] = CONVERT_UINT32_UINT8_UPPER_HIGH(g_amec->proc[0].chip_f_reason_history); + l_extnSensorList[l_sensorHeader.count].data[3] = CONVERT_UINT32_UINT8_UPPER_LOW(g_amec->proc[0].chip_f_reason_history); + l_extnSensorList[l_sensorHeader.count].data[4] = CONVERT_UINT32_UINT8_LOWER_HIGH(g_amec->proc[0].chip_f_reason_history); + l_extnSensorList[l_sensorHeader.count].data[5] = CONVERT_UINT32_UINT8_LOWER_LOW(g_amec->proc[0].chip_f_reason_history); + l_sensorHeader.count++; + // add any non-0 error history counts for(l_err_hist_idx=0; l_err_hist_idx < ERR_HISTORY_SIZE; l_err_hist_idx++) { diff --git a/src/occ_405/cmdh/cmdh_fsp_cmds.h b/src/occ_405/cmdh/cmdh_fsp_cmds.h index feb424a..ae85339 100755 --- a/src/occ_405/cmdh/cmdh_fsp_cmds.h +++ b/src/occ_405/cmdh/cmdh_fsp_cmds.h @@ -69,6 +69,7 @@ typedef enum #define EXTN_NAME_FNOM 0x464E4F4D // "FNOM" #define EXTN_NAME_FTURBO 0x46540000 // "FT" #define EXTN_NAME_FUTURBO 0x46555400 // "FUT" +#define EXTN_NAME_CLIP 0x434C4950 // "CLIP" #define EXTN_NAME_ERRHIST 0x45525248 // "ERRH" #define MAX_EXTN_SENSORS 32 diff --git a/src/occ_405/cmdh/cmdh_fsp_cmds_datacnfg.c b/src/occ_405/cmdh/cmdh_fsp_cmds_datacnfg.c index e60f3c7..950466e 100755 --- a/src/occ_405/cmdh/cmdh_fsp_cmds_datacnfg.c +++ b/src/occ_405/cmdh/cmdh_fsp_cmds_datacnfg.c @@ -260,6 +260,7 @@ errlHndl_t data_store_freq_data(const cmdh_fsp_cmd_t * i_cmd_ptr, uint32_t l_mode_data_sz; uint16_t l_freq = 0; uint16_t l_table[OCC_MODE_COUNT] = {0}; + uint16_t l_pgpe_max_freq_mhz = (G_oppb.frequency_max_khz / 1000); do { @@ -303,13 +304,13 @@ errlHndl_t data_store_freq_data(const cmdh_fsp_cmd_t * i_cmd_ptr, break; } - // This should never happen but verify that nominal frequency is <= G_proc_fmax_mhz - if(l_freq > G_proc_fmax_mhz) + // This should never happen but verify that nominal frequency is <= OPPB max + if(l_freq > l_pgpe_max_freq_mhz) { CMDH_TRAC_ERR("Nominal Frequency[%d] (MHz)) is higher than " - "G_proc_fmax_mhz[%d], clipping Nominal Frequency", - l_freq, G_proc_fmax_mhz); - l_freq = G_proc_fmax_mhz; + "OPPB max[%d], clipping Nominal Frequency", + l_freq, l_pgpe_max_freq_mhz); + l_freq = l_pgpe_max_freq_mhz; } l_table[OCC_MODE_NOMINAL] = l_freq; @@ -325,13 +326,13 @@ errlHndl_t data_store_freq_data(const cmdh_fsp_cmd_t * i_cmd_ptr, l_table[OCC_MODE_NOMINAL]); l_freq = l_table[OCC_MODE_NOMINAL]; } - // Verify that turbo frequency is <= G_proc_fmax_mhz - else if(l_freq > G_proc_fmax_mhz) + // Verify that turbo frequency is <= OPPB max + else if(l_freq > l_pgpe_max_freq_mhz) { CMDH_TRAC_ERR("Turbo Frequency[%d] (MHz)) is higher than " - "G_proc_fmax_mhz[%d], clip Turbo Frequency", - l_freq, G_proc_fmax_mhz); - l_freq = G_proc_fmax_mhz; + "OPPB max[%d], clip Turbo Frequency", + l_freq, l_pgpe_max_freq_mhz); + l_freq = l_pgpe_max_freq_mhz; } l_table[OCC_MODE_TURBO] = l_freq; CMDH_TRAC_INFO("Turbo frequency = %d MHz", l_freq); @@ -351,13 +352,13 @@ errlHndl_t data_store_freq_data(const cmdh_fsp_cmd_t * i_cmd_ptr, // Bytes 9-10 Ultr Turbo Frequency Point l_freq = (l_buf[6] << 8 | l_buf[7]); - // Verify that ultra turbo frequency is <= G_proc_fmax_mhz - if(l_freq > G_proc_fmax_mhz) + // Verify that ultra turbo frequency is <= OPPB max + if(l_freq > l_pgpe_max_freq_mhz) { CMDH_TRAC_ERR("Ultra Turbo Frequency[%d] (MHz) is higher than PGPE's " - "Max freq (G_proc_fmax_mhz[%d]) clip Ultra Turbo Frequency", - l_freq, G_proc_fmax_mhz); - l_freq = G_proc_fmax_mhz; + "Max freq (OPPB max[%d]) clip Ultra Turbo Frequency", + l_freq, l_pgpe_max_freq_mhz); + l_freq = l_pgpe_max_freq_mhz; } // Check if (H)TMGT will let WOF run, else clear flags diff --git a/src/occ_405/cmdh/cmdh_snapshot.c b/src/occ_405/cmdh/cmdh_snapshot.c index ecb9afc..b52858f 100755 --- a/src/occ_405/cmdh/cmdh_snapshot.c +++ b/src/occ_405/cmdh/cmdh_snapshot.c @@ -74,7 +74,6 @@ VOID cmdh_snapshot_find_oldest_newest(uint8_t *o_oldest, (g_cmdh_snapshot_array[0].current_id == 0) && (g_cmdh_snapshot_array[CMDH_SNAPSHOT_MAX_INDEX].current_id == 0)) { - TRAC_INFO("cmdh_snapshot_find_oldest_newest: Entry 0 is the oldest and newest"); *o_oldest = 0; *o_newest = 0; break; @@ -141,7 +140,6 @@ ERRL_RC cmdh_snapshot_buffer_nonite(const cmdh_fsp_cmd_t *i_cmd_ptr, // Check case where there are no snapshot buffers available. if (g_cmdh_snapshot_cur_index == CMDH_SNAPSHOT_DEFAULT_CUR_INDEX) { - TRAC_INFO("cmdh_snapshot_buffer_nonite: No snapshot buffer available."); break; } @@ -170,8 +168,6 @@ ERRL_RC cmdh_snapshot_buffer_nonite(const cmdh_fsp_cmd_t *i_cmd_ptr, if (i == CMDH_SNAPSHOT_MAX) { - TRAC_INFO("cmdh_snapshot_buffer_nonite: Requested buffer:%u not found so sending back %u", - l_cmd_ptr->requested_id, l_rsp_ptr->newest_id); l_req_idx = l_newest; } } @@ -319,8 +315,6 @@ errlHndl_t cmdh_snapshot_sync(const cmdh_fsp_cmd_t * i_cmd_ptr, break; } - TRAC_INFO("cmdh_snapshot_sync: Snapshot buffer has been reset!"); - l_resp_ptr->data_length[0] = 0; l_resp_ptr->data_length[1] = 0; G_rsp_status = 0; @@ -370,8 +364,6 @@ void cmdh_snapshot_callback(void * arg) if (g_cmdh_snapshot_reset) { - TRAC_INFO("cmdh_snapshot_callback: Initializing snapshot buffer and data."); - memset(g_cmdh_snapshot_array, 0, sizeof(g_cmdh_snapshot_array)); g_cmdh_snapshot_cur_id = 0; memset(L_cim_buf,0,sizeof(cmdh_snapshot_buffer_t)); |