summaryrefslogtreecommitdiffstats
path: root/src/build/vpo/hb-istep
diff options
context:
space:
mode:
authorDean Sanner <dsanner@us.ibm.com>2012-06-15 11:57:25 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2012-06-18 13:53:02 -0500
commit319e5a9fa363aca6368445ce919a53202e70849b (patch)
treeb814dc3a2721448ec52186378e2f87c6a9b8d785 /src/build/vpo/hb-istep
parent9f9e9b9011075d3bd90839a0ead591d9ee1b2564 (diff)
downloadtalos-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/build/vpo/hb-istep')
-rwxr-xr-xsrc/build/vpo/hb-istep38
1 files changed, 3 insertions, 35 deletions
diff --git a/src/build/vpo/hb-istep b/src/build/vpo/hb-istep
index de58365b2..ec6ed1e64 100755
--- a/src/build/vpo/hb-istep
+++ b/src/build/vpo/hb-istep
@@ -643,10 +643,6 @@ sub runClocks()
##
## send command using the command register
##
-## NOTES: PUTFAC does not work correctly. STKFAC will latch the value
-## in the register forever, i.e. HostBoot cannot change it. This
-## is OK from our viewpoint since HostBoot does not need to modify
-## the command reg.
##
sub sendCommand( $ )
{
@@ -655,43 +651,15 @@ sub sendCommand( $ )
##$$ VBU_Cacheline::CLwrite( $commandreg, $cmd );
- ## Use STKFAC here to clear the command reg- GMB2EC is mailbox scratchpad 3.
- $cmd = "simSTKFAC " .
- "B0.C0.S0.P0.E8.TPC.FSI.FSI_MAILBOX.FSXCOMP." .
- "FSXLOG.LBUS_MAILBOX.Q_GMB2EC.NLC.L2 0 32 -quiet ";
-
- if ( $opt_debug ) { print STDERR __LINE__, "-- run $cmd ...\n"; }
- ( system( $cmd ) == 0 )
- or die "$cmd failed, $? : $! \n";
-
-
- ## bump the clock a few so that the clear takes effect
- ## vbu_cacheline does not take # of cycles, so just run a raw command
- ## here.
- $cmd = "simclock 10 -quiet";
-
- if ( $opt_debug ) { print STDERR __LINE__, "-- run $cmd ...\n"; }
- ( system( $cmd ) == 0 )
- or die "$cmd failed, $? : $! \n";
-
-
- ## $data comes in as a 64-bit reg, we are only allowed 32 bits with
- ## mailbox scoms, so we shift 32 bits here.
- ## The lower 32 bits of the command reg are not used anyway.
- my $cmd32 = ( ( $data & 0xffffffff00000000 ) >> 32 );
- my $hexstr = sprintf( "0x%x", $cmd32 );
-
- ## Use STKFAC here - GMB2EC is mailbox scratchpad 3.
- $cmd = "simSTKFAC " .
- "B0.C0.S0.P0.E8.TPC.FSI.FSI_MAILBOX.FSXCOMP." .
- "FSXLOG.LBUS_MAILBOX.Q_GMB2EC.NLC.L2 $hexstr 32 -quiet";
+ ## Use Putscom to avoid hostboot race condition
+ $data =~ s/0x//;
+ $cmd = "putscom pu 05003b -p0 -quiet" . $data;
if ( $opt_debug ) { print STDERR __LINE__, "-- run $cmd ...\n"; }
( system( $cmd ) == 0 )
or die "$cmd failed, $? : $! \n";
}
-
##
## get status using the status register.
##
OpenPOWER on IntegriCloud