summaryrefslogtreecommitdiffstats
path: root/src/sbefw
diff options
context:
space:
mode:
authorSachin Gupta <sgupta2m@in.ibm.com>2016-10-18 17:34:31 -0500
committerAMIT J. TENDOLKAR <amit.tendolkar@in.ibm.com>2016-10-19 03:17:03 -0400
commitc15ebbd7b56b504c8f68de26b268a1682ad5b0d1 (patch)
tree61bb94af98cc6a64024da905ba993e4498153773 /src/sbefw
parent4e09dde5ef37ab5bb68524dd4a9f56d228197c82 (diff)
downloadtalos-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.H11
-rw-r--r--src/sbefw/sbe_sp_intf.H1
-rw-r--r--src/sbefw/sbecmdmemaccess.C7
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())
OpenPOWER on IntegriCloud