summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/procedures/hwp/nest/p9_adu_access.C
diff options
context:
space:
mode:
authorCHRISTINA L. GRAVES <clgraves@us.ibm.com>2017-02-07 18:04:28 -0600
committerJoseph J. McGill <jmcgill@us.ibm.com>2017-03-09 13:20:14 -0500
commitd9324202945590ca41ac07abd1e2cc2690063f79 (patch)
treee5b7f19f92857fe8907bcb123445860acfa904d2 /src/import/chips/p9/procedures/hwp/nest/p9_adu_access.C
parent65667a20e1eaca6af616af02165f0bebb85da2fa (diff)
downloadtalos-sbe-d9324202945590ca41ac07abd1e2cc2690063f79.tar.gz
talos-sbe-d9324202945590ca41ac07abd1e2cc2690063f79.zip
ADU HWP updates for CI support, performance
adjustments to support long running CI operations ignore autoinc mode for CI ttype include poll for data done prior to final status check ignore ADU operational/data hang reporting correctly report num_granules when running without autoinc performance enhancements: minimize SCOM operations for single shot transfers (15->9) reduce polling delays add simple test program to validate transfer sizes, measure perf Change-Id: Ic1f3890ff40f448fb1143d639d878896e90237fd Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/36086 Dev-Ready: Brent Wieman <bwieman@us.ibm.com> Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Reviewed-by: Thi N. Tran <thi@us.ibm.com> Reviewed-by: Joseph J. McGill <jmcgill@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/36799 Reviewed-by: Hostboot Team <hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Diffstat (limited to 'src/import/chips/p9/procedures/hwp/nest/p9_adu_access.C')
-rw-r--r--src/import/chips/p9/procedures/hwp/nest/p9_adu_access.C21
1 files changed, 16 insertions, 5 deletions
diff --git a/src/import/chips/p9/procedures/hwp/nest/p9_adu_access.C b/src/import/chips/p9/procedures/hwp/nest/p9_adu_access.C
index f7d41003..fe148b06 100644
--- a/src/import/chips/p9/procedures/hwp/nest/p9_adu_access.C
+++ b/src/import/chips/p9/procedures/hwp/nest/p9_adu_access.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER sbe Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2015,2016 */
+/* Contributors Listed Below - COPYRIGHT 2015,2017 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -67,6 +67,15 @@ extern "C" {
// Process input flag
p9_ADU_oper_flag l_myAduFlag;
l_myAduFlag.getFlag(i_flags);
+ FAPI_DBG("l_myAduFlag = %lu", l_myAduFlag);
+
+ //If autoinc is set and this is not a DMA operation unset autoinc before passing the flags through
+ if (l_myAduFlag.getOperationType() != p9_ADU_oper_flag::DMA_PARTIAL)
+ {
+ l_myAduFlag.setAutoIncrement(false);
+ }
+
+ FAPI_DBG("l_myAduFlag = %lu", l_myAduFlag);
if( i_lastGranule && l_myAduFlag.getAutoIncrement() )
{
@@ -100,9 +109,12 @@ extern "C" {
l_busyHandling = EXPECTED_BUSY_BIT_CLEAR;
}
- FAPI_TRY(p9_adu_coherent_status_check(i_target, l_busyHandling, false,
- l_busyBitStatus),
- "Error from p9_adu_coherent_status_check");
+ if (l_myAduFlag.getOperationType() != p9_ADU_oper_flag::CACHE_INHIBIT)
+ {
+ FAPI_TRY(p9_adu_coherent_status_check(i_target, l_busyHandling, false,
+ l_busyBitStatus),
+ "Error from p9_adu_coherent_status_check");
+ }
//If it's the last read/write
if (i_lastGranule)
@@ -127,4 +139,3 @@ extern "C" {
}
} // extern "C"
-
OpenPOWER on IntegriCloud