From 0b38bc9d5f8a7ab2fe466a3a432ade97eb5f8971 Mon Sep 17 00:00:00 2001 From: Chris Cain Date: Thu, 21 Jan 2016 08:08:22 -0600 Subject: Implement I2C locking with host Change-Id: I9e99e799e0df442bebef473360ca87d564f5ddaf RTC: 140545 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/12898 Tested-by: FSP CI Jenkins Reviewed-by: Martha Broyles Reviewed-by: William A. Bryan Reviewed-by: Christopher J. Cain --- src/occ_gpe1/gpe1_dimm_read.c | 6 +++--- src/occ_gpe1/gpe1_dimm_reset.c | 30 +++++++++++++++--------------- 2 files changed, 18 insertions(+), 18 deletions(-) (limited to 'src/occ_gpe1') diff --git a/src/occ_gpe1/gpe1_dimm_read.c b/src/occ_gpe1/gpe1_dimm_read.c index be19506..d89b0bf 100644 --- a/src/occ_gpe1/gpe1_dimm_read.c +++ b/src/occ_gpe1/gpe1_dimm_read.c @@ -210,7 +210,7 @@ void dimm_write_int_mask(ipc_msg_t* cmd, void* arg) scomAddr, WORD_HIGH(regValue), WORD_LOW(regValue)); // max_num_of_ports (bits 9:15) args->maxPorts = (regValue >> 48) & 0x7F; - PK_TRACE("dimm_write_int_mask: maxPorts = %d", args->maxPorts); + GPE1_DIMM_DBG("dimm_write_int_mask: maxPorts = %d", args->maxPorts); } } // end dimm_write_int_mask() @@ -481,8 +481,8 @@ void dimm_read_temp(ipc_msg_t* cmd, void* arg) args->error.error = 0; args->error.rc = GPE_RC_SUCCESS; args->error.ffdc = 0; - PK_TRACE("dimm_read_temp: DIMM%04X temperature=%dC", - (args->i2cPort<<8)|args->dimm, args->temp); + GPE1_DIMM_DBG("dimm_read_temp: DIMM%04X temperature=%dC", + (args->i2cPort<<8)|args->dimm, args->temp); // Check for operation complete bit // (operation complete bit will not get set until all diff --git a/src/occ_gpe1/gpe1_dimm_reset.c b/src/occ_gpe1/gpe1_dimm_reset.c index 9963eec..eedc917 100644 --- a/src/occ_gpe1/gpe1_dimm_reset.c +++ b/src/occ_gpe1/gpe1_dimm_reset.c @@ -76,22 +76,22 @@ void dimm_reset_master(ipc_msg_t* cmd, void* arg) { GPE1_DIMM_DBG("dimm_reset_master: putscom(0x%08X,0x%08X%08X) SUCCESS - IMM_RESET_I2C", scomAddr, WORD_HIGH(regValue), WORD_LOW(regValue)); - } - // Force reset of Port_busy_register - scomAddr = I2C_BUSY_REGISTER | SCOM_ENGINE_OFFSET(args->i2cEngine); - regValue = 0x8000000000000000; - rc = putscom_abs(scomAddr, regValue); - if(rc) - { - PK_TRACE("dimm_reset_master: I2C_BUSY_REGISTER putscom 0x%08X->0x%08X%08X FAILED. rc = 0x%08x", - scomAddr, WORD_HIGH(regValue), WORD_LOW(regValue), rc); - gpe_set_ffdc(&(args->error), scomAddr, GPE_RC_SCOM_PUT_FAILED, rc); - } - else - { - GPE1_DIMM_DBG("dimm_reset_master: putscom(0x%08X,0x%08X%08X) SUCCESS - I2C_BUSY_REGISTER", - scomAddr, WORD_HIGH(regValue), WORD_LOW(regValue)); + // Force reset of Port_busy_register + scomAddr = I2C_BUSY_REGISTER | SCOM_ENGINE_OFFSET(args->i2cEngine); + regValue = 0x8000000000000000; + rc = putscom_abs(scomAddr, regValue); + if(rc) + { + PK_TRACE("dimm_reset_master: I2C_BUSY_REGISTER putscom 0x%08X->0x%08X%08X FAILED. rc = 0x%08x", + scomAddr, WORD_HIGH(regValue), WORD_LOW(regValue), rc); + gpe_set_ffdc(&(args->error), scomAddr, GPE_RC_SCOM_PUT_FAILED, rc); + } + else + { + GPE1_DIMM_DBG("dimm_reset_master: putscom(0x%08X,0x%08X%08X) SUCCESS - I2C_BUSY_REGISTER", + scomAddr, WORD_HIGH(regValue), WORD_LOW(regValue)); + } } } // end dimm_reset_master() -- cgit v1.2.1