diff options
author | Sachin Gupta <sgupta2m@in.ibm.com> | 2016-10-18 17:34:31 -0500 |
---|---|---|
committer | AMIT J. TENDOLKAR <amit.tendolkar@in.ibm.com> | 2016-10-19 03:17:03 -0400 |
commit | c15ebbd7b56b504c8f68de26b268a1682ad5b0d1 (patch) | |
tree | 61bb94af98cc6a64024da905ba993e4498153773 /src/sbefw | |
parent | 4e09dde5ef37ab5bb68524dd4a9f56d228197c82 (diff) | |
download | talos-sbe-c15ebbd7b56b504c8f68de26b268a1682ad5b0d1.tar.gz talos-sbe-c15ebbd7b56b504c8f68de26b268a1682ad5b0d1.zip |
Support Inject mode in sbe
Change-Id: Ieb42269d44bc5f198af5b1a2cf44f5f07b47dcda
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/31476
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: RAJA DAS <rajadas2@in.ibm.com>
Reviewed-by: AMIT J. TENDOLKAR <amit.tendolkar@in.ibm.com>
Diffstat (limited to 'src/sbefw')
-rw-r--r-- | src/sbefw/sbeSpMsg.H | 11 | ||||
-rw-r--r-- | src/sbefw/sbe_sp_intf.H | 1 | ||||
-rw-r--r-- | src/sbefw/sbecmdmemaccess.C | 7 |
3 files changed, 19 insertions, 0 deletions
diff --git a/src/sbefw/sbeSpMsg.H b/src/sbefw/sbeSpMsg.H index 97e3ddf2..3b0cc6ff 100644 --- a/src/sbefw/sbeSpMsg.H +++ b/src/sbefw/sbeSpMsg.H @@ -446,6 +446,17 @@ typedef struct } /** + * @brief Determines if inject Mode is set + * + * @return Returns True if inject mode is set + * False if inject mode is not set + */ + uint32_t isPbaInjectModeSet() const + { + return ((flags & SBE_MEM_ACCESS_FLAGS_INJECT_ON) ? true : false); + } + + /** * @brief Calculates Data length in alignment with PBA/ADU Cacheline * (128B/8B respectively) * diff --git a/src/sbefw/sbe_sp_intf.H b/src/sbefw/sbe_sp_intf.H index 8573825a..d66b9c8a 100644 --- a/src/sbefw/sbe_sp_intf.H +++ b/src/sbefw/sbe_sp_intf.H @@ -293,6 +293,7 @@ enum sbeMemoryAccessFlags SBE_MEM_ACCESS_FLAGS_FAST_MODE_ON = 0x0020, SBE_MEM_ACCESS_FLAGS_LCO_ENABLED = 0x0040, //required only in PBA-PUT SBE_MEM_ACCESS_FLAGS_CACHE_INHIBIT = 0x0080, //required in I/O oper ADU + SBE_MEM_ACCESS_FLAGS_INJECT_ON = 0x0200, // Inject mode ( PBA put ) }; /** diff --git a/src/sbefw/sbecmdmemaccess.C b/src/sbefw/sbecmdmemaccess.C index c01792fa..e4eb1106 100644 --- a/src/sbefw/sbecmdmemaccess.C +++ b/src/sbefw/sbecmdmemaccess.C @@ -201,6 +201,13 @@ uint32_t processPbaRequest(const sbeMemAccessReqMsgHdr_t &i_hdr, SBE_INFO(SBE_FUNC "Fast Mode is set"); } + // inject mode flag + if(i_hdr.isPbaInjectModeSet()) + { + l_myPbaFlag.setOperationType(p9_PBA_oper_flag::INJ); // Inject operation + SBE_INFO(SBE_FUNC "inject Mode is set"); + } + // By default, ex_chipletId printed below won't be used unless accompanied // by LCO_mode (LCO Mode for PBA-Put) if(i_hdr.isPbaLcoModeSet()) |