diff options
author | Dean Sanner <dsanner@us.ibm.com> | 2012-06-15 11:57:25 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2012-06-18 13:53:02 -0500 |
commit | 319e5a9fa363aca6368445ce919a53202e70849b (patch) | |
tree | b814dc3a2721448ec52186378e2f87c6a9b8d785 /src/usr/pnor | |
parent | 9f9e9b9011075d3bd90839a0ead591d9ee1b2564 (diff) | |
download | talos-hostboot-319e5a9fa363aca6368445ce919a53202e70849b.tar.gz talos-hostboot-319e5a9fa363aca6368445ce919a53202e70849b.zip |
VPO Performance fixes
Temporarily remove nanosleep calls in PNOR, FSI, Scom device
drivers to enhance VPO performance. Cuts ddr_phy_reset from 17
hours to 17 min
Also fixed race condition in hb-istep
Change-Id: I0a60275066a9e14b564d0294c083eec8647b2ff7
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/1206
Tested-by: Jenkins Server
Reviewed-by: ADAM R. MUHLE <armuhle@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Reviewed-by: Mark W. Wenning <wenning@us.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/pnor')
-rw-r--r-- | src/usr/pnor/pnordd.C | 54 |
1 files changed, 29 insertions, 25 deletions
diff --git a/src/usr/pnor/pnordd.C b/src/usr/pnor/pnordd.C index 5f53a9c84..664efb2ca 100644 --- a/src/usr/pnor/pnordd.C +++ b/src/usr/pnor/pnordd.C @@ -1,25 +1,26 @@ -// IBM_PROLOG_BEGIN_TAG -// This is an automatically generated prolog. -// -// $Source: src/usr/pnor/pnordd.C $ -// -// IBM CONFIDENTIAL -// -// COPYRIGHT International Business Machines Corp. 2011 -// -// p1 -// -// Object Code Only (OCO) source materials -// Licensed Internal Code Source Materials -// IBM HostBoot Licensed Internal Code -// -// The source code for this program is not published or other- -// wise divested of its trade secrets, irrespective of what has -// been deposited with the U.S. Copyright Office. -// -// Origin: 30 -// -// IBM_PROLOG_END +/* IBM_PROLOG_BEGIN_TAG + * This is an automatically generated prolog. + * + * $Source: src/usr/pnor/pnordd.C $ + * + * IBM CONFIDENTIAL + * + * COPYRIGHT International Business Machines Corp. 2011-2012 + * + * p1 + * + * Object Code Only (OCO) source materials + * Licensed Internal Code Source Materials + * IBM HostBoot Licensed Internal Code + * + * The source code for this program is not published or other- + * wise divested of its trade secrets, irrespective of what has + * been deposited with the U.S. Copyright Office. + * + * Origin: 30 + * + * IBM_PROLOG_END_TAG + */ /** * @file pnordd.C * @@ -673,7 +674,8 @@ errlHndl_t PnorDD::pollSfcOpComplete(uint64_t i_pollTime) // want to start out incrementing by small numbers then get bigger // to avoid a really tight loop in an error case so we'll increase // the wait each time through - nanosleep( 0, SFC_POLL_INCR_NS*(++loop) ); + //TODO tmp remove for VPO, need better polling strategy -- RTC43738 + //nanosleep( 0, SFC_POLL_INCR_NS*(++loop) ); poll_time += SFC_POLL_INCR_NS*loop; } if( l_err ) { break; } @@ -1042,7 +1044,8 @@ errlHndl_t PnorDD::readLPC(uint32_t i_addr, // want to start out incrementing by small numbers then get bigger // to avoid a really tight loop in an error case so we'll increase // the wait each time through - nanosleep( 0, ECCB_POLL_INCR_NS*(++loop) ); + //TODO tmp remove for VPO, need better polling strategy -- RTC43738 + //nanosleep( 0, ECCB_POLL_INCR_NS*(++loop) ); poll_time += ECCB_POLL_INCR_NS*loop; } if( l_err ) { break; } @@ -1151,7 +1154,8 @@ errlHndl_t PnorDD::writeLPC(uint32_t i_addr, // want to start out incrementing by small numbers then get bigger // to avoid a really tight loop in an error case so we'll increase // the wait each time through - nanosleep( 0, ECCB_POLL_INCR_NS*(++loop) ); + //TODO tmp remove for VPO, need better polling strategy -- RTC43738 + //nanosleep( 0, ECCB_POLL_INCR_NS*(++loop) ); poll_time += ECCB_POLL_INCR_NS*loop; } if( l_err ) { break; } |