From 9ac11597e0afee7bfc66e067ae6b9b50baac5be1 Mon Sep 17 00:00:00 2001 From: Fadi Kassem Date: Tue, 26 May 2015 10:42:06 -0500 Subject: Redundant master occ role fix. Change-Id: I56addf7434a2a4cfeb9d2886c25c4ea3b876e867 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/17952 Tested-by: FSP CI Jenkins Reviewed-by: Guillermo J. Silva Tested-by: Guillermo J. Silva --- src/occ/cmdh/cmdh_fsp_cmds_datacnfg.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'src/occ/cmdh/cmdh_fsp_cmds_datacnfg.c') diff --git a/src/occ/cmdh/cmdh_fsp_cmds_datacnfg.c b/src/occ/cmdh/cmdh_fsp_cmds_datacnfg.c index a6719ac..5d811dc 100755 --- a/src/occ/cmdh/cmdh_fsp_cmds_datacnfg.c +++ b/src/occ/cmdh/cmdh_fsp_cmds_datacnfg.c @@ -77,6 +77,8 @@ #define DATA_VOLT_UPLIFT_VERSION 0 +extern uint8_t G_occ_interrupt_type; + typedef struct data_req_table { uint32_t mask; @@ -1124,8 +1126,15 @@ errlHndl_t data_store_role(const cmdh_fsp_cmd_t * i_cmd_ptr, // Cast the command to the struct for this format cmdh_set_role_t * l_cmd_ptr = (cmdh_set_role_t *)i_cmd_ptr; - // Mask off the OCC role - l_new_role = l_cmd_ptr->role & OCC_ROLE_MASTER_MASK; + // Mask off the OCC role if this is an FSPLESS system only. + if(G_occ_interrupt_type == FSP_SUPPORTED_OCC) + { + l_new_role = l_cmd_ptr->role; + } + else + { + l_new_role = l_cmd_ptr->role & OCC_ROLE_MASTER_MASK; + } // Must be in standby state before we can change roles -- cgit v1.2.1