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/build/vpo/hb-istep | |
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/build/vpo/hb-istep')
-rwxr-xr-x | src/build/vpo/hb-istep | 38 |
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. ## |