diff options
author | CHRISTINA L. GRAVES <clgraves@us.ibm.com> | 2017-02-07 18:04:28 -0600 |
---|---|---|
committer | Joseph J. McGill <jmcgill@us.ibm.com> | 2017-03-09 13:20:14 -0500 |
commit | d9324202945590ca41ac07abd1e2cc2690063f79 (patch) | |
tree | e5b7f19f92857fe8907bcb123445860acfa904d2 /src/import/chips/p9/procedures/hwp/nest/p9_adu_access.C | |
parent | 65667a20e1eaca6af616af02165f0bebb85da2fa (diff) | |
download | talos-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.C | 21 |
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" - |