diff options
author | Wael El-Essawy <welessa@us.ibm.com> | 2015-11-12 11:19:32 -0600 |
---|---|---|
committer | Fadi Kassem <fmkassem@us.ibm.com> | 2015-11-17 13:27:35 -0600 |
commit | e71f5784d8a90d926b898aa9e8cd0214cb081d23 (patch) | |
tree | b7d875321190ba71a651c7ebf4675d9b4383395a /src | |
parent | be75df5e0c8028308d51c195013202d5a13c93b2 (diff) | |
download | talos-occ-e71f5784d8a90d926b898aa9e8cd0214cb081d23.tar.gz talos-occ-e71f5784d8a90d926b898aa9e8cd0214cb081d23.zip |
Create gpe error codes file, and use general GPE error codes
Change-Id: I5bd957a3267cf7720fbaf5af31d9f6d432e7cd53
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/21997
Tested-by: FSP CI Jenkins
Reviewed-by: Christopher Cain <cjcain@us.ibm.com>
Reviewed-by: Fadi Kassem <fmkassem@us.ibm.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/apss_structs.h | 13 | ||||
-rw-r--r-- | src/gpe_err.h | 44 | ||||
-rw-r--r-- | src/occ_gpe0/apss_init.c | 4 | ||||
-rw-r--r-- | src/occ_gpe0/apss_read.c | 26 | ||||
-rw-r--r-- | src/occ_gpe0/apss_util.c | 10 |
5 files changed, 65 insertions, 32 deletions
diff --git a/src/apss_structs.h b/src/apss_structs.h index 953e475..0504b9d 100644 --- a/src/apss_structs.h +++ b/src/apss_structs.h @@ -30,24 +30,13 @@ #define _APSS_STRUCTS_H #include <gpe_export.h> - +#include "gpe_err.h" // List of supported APSS Modes set in occ_gpe0/apss_init.c #define APSS_MODE_COMPOSITE 0 #define APSS_MODE_AUTO2 1 -// List of possible apss Return Codes -#define APSS_RC_SUCCESS 0x0 -#define APSS_RC_SPI_TIMEOUT 0x1 -#define APSS_RC_SCOM_GET_FAILED 0x2 -#define APSS_RC_SCOM_PUT_FAILED 0x3 -#define APSS_RC_INVALID_REG 0x4 -#define APSS_RC_IPC_SEND_FAILED 0x5 -#define APSS_RC_INVALID_APSS_MODE 0x6 - - - /* This data structure holds the common args data structures between the */ /* 405 and the GPE0, used in IPC communications. */ /* We started by adding these common apss data structures to test the */ diff --git a/src/gpe_err.h b/src/gpe_err.h new file mode 100644 index 0000000..be1f757 --- /dev/null +++ b/src/gpe_err.h @@ -0,0 +1,44 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/apss_structs.h $ */ +/* */ +/* OpenPOWER OnChipController Project */ +/* */ +/* Contributors Listed Below - COPYRIGHT 2011,2015 */ +/* [+] International Business Machines Corp. */ +/* */ +/* */ +/* Licensed under the Apache License, Version 2.0 (the "License"); */ +/* you may not use this file except in compliance with the License. */ +/* You may obtain a copy of the License at */ +/* */ +/* http://www.apache.org/licenses/LICENSE-2.0 */ +/* */ +/* Unless required by applicable law or agreed to in writing, software */ +/* distributed under the License is distributed on an "AS IS" BASIS, */ +/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */ +/* implied. See the License for the specific language governing */ +/* permissions and limitations under the License. */ +/* */ +/* IBM_PROLOG_END_TAG */ + +/* This header file is used by all gpes */ +/* Contains common gpe return codes */ + +#ifndef _GPE_ERR_H +#define _GPE_ERR_H + +// List of general gpe Return Codes +#define GPE_RC_SUCCESS 0x00 // Success: No Errors +#define GPE_RC_SPI_TIMEOUT 0x01 // Timeout on previous SPI transaction +#define GPE_RC_SCOM_GET_FAILED 0x02 // Error on a SCOM read +#define GPE_RC_SCOM_PUT_FAILED 0x03 // Error on a SCOM write +#define GPE_RC_INVALID_REG 0x04 // Invalid SCOM Register used +#define GPE_RC_IPC_SEND_FAILED 0x05 // Failed to send an IPC message + +// APSS Specific gpe return Codes +#define GPE_RC_INVALID_APSS_MODE 0x40 // OCC requested undefined APSS mode + + +#endif //_GPE_ERR_H diff --git a/src/occ_gpe0/apss_init.c b/src/occ_gpe0/apss_init.c index f72f776..91af255 100644 --- a/src/occ_gpe0/apss_init.c +++ b/src/occ_gpe0/apss_init.c @@ -254,7 +254,7 @@ void apss_init_mode(ipc_msg_t* cmd, void* arg) {
//Note: arg was set to 0 in ipc func table (ipc_func_tables.c), so don't use it
- uint32_t rc = APSS_RC_SUCCESS;
+ uint32_t rc = GPE_RC_SUCCESS;
uint32_t ipc_rc = IPC_RC_SUCCESS;
uint32_t ipc_send_rc;
ipc_async_cmd_t *async_cmd = (ipc_async_cmd_t*)cmd;
@@ -324,7 +324,7 @@ void apss_init_mode(ipc_msg_t* cmd, void* arg) {
//Invalid mode.
PK_TRACE("apss_init_mode: Given invalid APSS Mode. Mode:0x%X", args->config.mode);
- rc = APSS_RC_INVALID_APSS_MODE;
+ rc = GPE_RC_INVALID_APSS_MODE;
apss_set_ffdc(&(args->error), 0x00, rc, args->config.mode);
ipc_rc = IPC_RC_CMD_FAILED;
break;
diff --git a/src/occ_gpe0/apss_read.c b/src/occ_gpe0/apss_read.c index acdf986..065a02b 100644 --- a/src/occ_gpe0/apss_read.c +++ b/src/occ_gpe0/apss_read.c @@ -90,7 +90,7 @@ void apss_start_pwr_meas_read(ipc_msg_t* cmd, void* arg) { PK_TRACE("apss_start_pwr_meas_read: SPIPSS_ADC_CTRL_REG0 putscom failed. rc = 0x%08x", rc); - apss_set_ffdc(&(args->error), SPIPSS_ADC_CTRL_REG0, APSS_RC_SCOM_PUT_FAILED, rc); + apss_set_ffdc(&(args->error), SPIPSS_ADC_CTRL_REG0, GPE_RC_SCOM_PUT_FAILED, rc); break; } @@ -103,7 +103,7 @@ void apss_start_pwr_meas_read(ipc_msg_t* cmd, void* arg) { PK_TRACE("apss_start_pwr_meas_read: SPIPSS_ADC_CTRL_REG1 putscom failed. rc = 0x%08x", rc); - apss_set_ffdc(&(args->error), SPIPSS_ADC_CTRL_REG1, APSS_RC_SCOM_PUT_FAILED, rc); + apss_set_ffdc(&(args->error), SPIPSS_ADC_CTRL_REG1, GPE_RC_SCOM_PUT_FAILED, rc); break; } @@ -116,7 +116,7 @@ void apss_start_pwr_meas_read(ipc_msg_t* cmd, void* arg) { PK_TRACE("apss_start_pwr_meas_read: SPIPSS_ADC_CTRL_REG2 putscom failed. rc = 0x%08x", rc); - apss_set_ffdc(&(args->error), SPIPSS_ADC_CTRL_REG2, APSS_RC_SCOM_PUT_FAILED, rc); + apss_set_ffdc(&(args->error), SPIPSS_ADC_CTRL_REG2, GPE_RC_SCOM_PUT_FAILED, rc); break; } @@ -129,7 +129,7 @@ void apss_start_pwr_meas_read(ipc_msg_t* cmd, void* arg) { PK_TRACE("apss_start_pwr_meas_read: SPIPSS_ADC_WDATA_REG putscom failed. rc = 0x%08x", rc); - apss_set_ffdc(&(args->error), SPIPSS_ADC_WDATA_REG, APSS_RC_SCOM_PUT_FAILED, rc); + apss_set_ffdc(&(args->error), SPIPSS_ADC_WDATA_REG, GPE_RC_SCOM_PUT_FAILED, rc); break; } @@ -143,7 +143,7 @@ void apss_start_pwr_meas_read(ipc_msg_t* cmd, void* arg) { PK_TRACE("apss_start_pwr_meas_read: SPIPSS_ADC_COMMAND_REG putscom failed. rc = 0x%08x", rc); - apss_set_ffdc(&(args->error), SPIPSS_ADC_COMMAND_REG, APSS_RC_SCOM_PUT_FAILED, rc); + apss_set_ffdc(&(args->error), SPIPSS_ADC_COMMAND_REG, GPE_RC_SCOM_PUT_FAILED, rc); break; } @@ -154,7 +154,7 @@ void apss_start_pwr_meas_read(ipc_msg_t* cmd, void* arg) if(rc) { PK_TRACE("apss_start_pwr_meas_read: Failed to send response back. Halting GPE0", rc); - apss_set_ffdc(&(args->error), 0x00, APSS_RC_IPC_SEND_FAILED, rc); + apss_set_ffdc(&(args->error), 0x00, GPE_RC_IPC_SEND_FAILED, rc); pk_halt(); } } @@ -218,7 +218,7 @@ void apss_continue_pwr_meas_read(ipc_msg_t* cmd, void* arg) { PK_TRACE("apss_continue_pwr_meas_read: SPIPSS_ADC_RDATA_REG0 getscom failed with rc = 0x%08x", rc); - apss_set_ffdc(&(args->error), SPIPSS_ADC_RDATA_REG0, APSS_RC_SCOM_GET_FAILED, rc); + apss_set_ffdc(&(args->error), SPIPSS_ADC_RDATA_REG0, GPE_RC_SCOM_GET_FAILED, rc); break; } @@ -228,7 +228,7 @@ void apss_continue_pwr_meas_read(ipc_msg_t* cmd, void* arg) { PK_TRACE("apss_continue_pwr_meas_read: SPIPSS_ADC_RDATA_REG1 getscom failed with rc = 0x%08x", rc); - apss_set_ffdc(&(args->error), SPIPSS_ADC_RDATA_REG1, APSS_RC_SCOM_GET_FAILED, rc); + apss_set_ffdc(&(args->error), SPIPSS_ADC_RDATA_REG1, GPE_RC_SCOM_GET_FAILED, rc); break; } @@ -238,7 +238,7 @@ void apss_continue_pwr_meas_read(ipc_msg_t* cmd, void* arg) { PK_TRACE("apss_continue_pwr_meas_read: SPIPSS_ADC_RDATA_REG2 getscom failed with rc = 0x%08x", rc); - apss_set_ffdc(&(args->error), SPIPSS_ADC_RDATA_REG2, APSS_RC_SCOM_GET_FAILED, rc); + apss_set_ffdc(&(args->error), SPIPSS_ADC_RDATA_REG2, GPE_RC_SCOM_GET_FAILED, rc); break; } @@ -248,7 +248,7 @@ void apss_continue_pwr_meas_read(ipc_msg_t* cmd, void* arg) { PK_TRACE("apss_continue_pwr_meas_read: SPIPSS_ADC_RDATA_REG3 getscom failed with rc = 0x%08x", rc); - apss_set_ffdc(&(args->error), SPIPSS_ADC_RDATA_REG3, APSS_RC_SCOM_GET_FAILED, rc); + apss_set_ffdc(&(args->error), SPIPSS_ADC_RDATA_REG3, GPE_RC_SCOM_GET_FAILED, rc); break; } } while(0); @@ -258,7 +258,7 @@ void apss_continue_pwr_meas_read(ipc_msg_t* cmd, void* arg) if(rc) { PK_TRACE("apss_continue_pwr_meas_read: Failed to send response back. Halting GPE0", rc); - apss_set_ffdc(&(args->error), 0x00, APSS_RC_IPC_SEND_FAILED, rc); + apss_set_ffdc(&(args->error), 0x00, GPE_RC_IPC_SEND_FAILED, rc); pk_halt(); } } @@ -315,7 +315,7 @@ void apss_complete_pwr_meas_read(ipc_msg_t* cmd, void* arg) { PK_TRACE("apss_complete_pwr_meas_read: TOD_VALUE_REG getscom failed. rc = 0x%08x", rc); - apss_set_ffdc(&(args->error), TOD_VALUE_REG, APSS_RC_SCOM_GET_FAILED, rc); + apss_set_ffdc(&(args->error), TOD_VALUE_REG, GPE_RC_SCOM_GET_FAILED, rc); break; } @@ -326,7 +326,7 @@ void apss_complete_pwr_meas_read(ipc_msg_t* cmd, void* arg) if(rc) { PK_TRACE("apss_complete_pwr_meas_read: Failed to send response back. Halting GPE0", rc); - apss_set_ffdc(&(args->error), 0x00, APSS_RC_IPC_SEND_FAILED, rc); + apss_set_ffdc(&(args->error), 0x00, GPE_RC_IPC_SEND_FAILED, rc); pk_halt(); } } diff --git a/src/occ_gpe0/apss_util.c b/src/occ_gpe0/apss_util.c index 0b35b64..4e9082f 100644 --- a/src/occ_gpe0/apss_util.c +++ b/src/occ_gpe0/apss_util.c @@ -82,7 +82,7 @@ int wait_spi_completion(GpeErrorStruct *error, uint32_t reg, uint8_t timeout) if((reg != SPIPSS_P2S_STATUS_REG) && (reg != SPIPSS_ADC_STATUS_REG)) { PK_TRACE("gpe0:wait_spi_completion failed: Invalid Register 0x%08x", reg); - rc = APSS_RC_INVALID_REG; + rc = GPE_RC_INVALID_REG; apss_set_ffdc(error, reg, rc, 0x00); } else @@ -94,8 +94,8 @@ int wait_spi_completion(GpeErrorStruct *error, uint32_t reg, uint8_t timeout) if(rc) { PK_TRACE("gpe0:wait_spi_completion failed with rc = 0x%08x", rc); - apss_set_ffdc(error, reg, APSS_RC_SCOM_GET_FAILED, rc); - rc = APSS_RC_SCOM_GET_FAILED; + apss_set_ffdc(error, reg, GPE_RC_SCOM_GET_FAILED, rc); + rc = GPE_RC_SCOM_GET_FAILED; break; } @@ -118,8 +118,8 @@ int wait_spi_completion(GpeErrorStruct *error, uint32_t reg, uint8_t timeout) if (i >= timeout) { PK_TRACE("gpe0:wait_spi_completion Timed out waiting for p2s_ongoing to clear."); - apss_set_ffdc(error, reg, APSS_RC_SPI_TIMEOUT, rc); - rc = APSS_RC_SPI_TIMEOUT; + apss_set_ffdc(error, reg, GPE_RC_SPI_TIMEOUT, rc); + rc = GPE_RC_SPI_TIMEOUT; } return rc; |