summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorWael El-Essawy <welessa@us.ibm.com>2015-11-12 11:19:32 -0600
committerFadi Kassem <fmkassem@us.ibm.com>2015-11-17 13:27:35 -0600
commite71f5784d8a90d926b898aa9e8cd0214cb081d23 (patch)
treeb7d875321190ba71a651c7ebf4675d9b4383395a /src
parentbe75df5e0c8028308d51c195013202d5a13c93b2 (diff)
downloadtalos-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.h13
-rw-r--r--src/gpe_err.h44
-rw-r--r--src/occ_gpe0/apss_init.c4
-rw-r--r--src/occ_gpe0/apss_read.c26
-rw-r--r--src/occ_gpe0/apss_util.c10
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;
OpenPOWER on IntegriCloud