diff options
author | Sachin Gupta <sgupta2m@in.ibm.com> | 2016-10-14 10:16:58 -0500 |
---|---|---|
committer | AMIT J. TENDOLKAR <amit.tendolkar@in.ibm.com> | 2016-10-14 14:22:50 -0400 |
commit | 40051744d8ed7d308cf6a609ed3da43a17dc1332 (patch) | |
tree | 2364fa739dd2c08f9d1a3e0b8f2d3217a69e8acf | |
parent | e5abfe5f5da515ca51f9ae8524d47822b28e49ea (diff) | |
download | talos-sbe-40051744d8ed7d308cf6a609ed3da43a17dc1332.tar.gz talos-sbe-40051744d8ed7d308cf6a609ed3da43a17dc1332.zip |
Fix for delay, fifo and npllsetup ( placement in memory )
1. FAPI Delay does not use uint64_t when converting
nanoseconds to ppe timebase. Also as delay is working, updated
wait time in test case framework.
2. npll setup procedure is moved to PIBMEM as npll setup
changes sbe frequence and we can not access seeprom before
changing I2C bit divisor rate.
3. In FIFO utils, the empty status of queue is next state. So
we need to use valid flag to see if FIFO was really empty.
Change-Id: I59ccfc70f3013822532110230ec231408675a1a0
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/31245
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: SRINIVAS V. POLISETTY <srinivan@in.ibm.com>
Reviewed-by: RAJA DAS <rajadas2@in.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: AMIT J. TENDOLKAR <amit.tendolkar@in.ibm.com>
-rw-r--r-- | src/build/import_hwp_mk/istep2/istep2files.mk | 2 | ||||
-rw-r--r-- | src/build/import_hwp_mk/istepcommon/istepcommonfiles.mk | 1 | ||||
-rw-r--r-- | src/hwpf/src/plat/plat_utils.C | 2 | ||||
-rw-r--r-- | src/sbefw/sbeFifoMsgUtils.C | 3 | ||||
-rw-r--r-- | src/test/testcases/testUtil.py | 4 |
5 files changed, 7 insertions, 5 deletions
diff --git a/src/build/import_hwp_mk/istep2/istep2files.mk b/src/build/import_hwp_mk/istep2/istep2files.mk index 1d8113df..297c9dba 100644 --- a/src/build/import_hwp_mk/istep2/istep2files.mk +++ b/src/build/import_hwp_mk/istep2/istep2files.mk @@ -6,6 +6,7 @@ # OpenPOWER sbe Project # # Contributors Listed Below - COPYRIGHT 2016 +# [+] International Business Machines Corp. # # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -33,7 +34,6 @@ ISTEP2-CPP-SOURCES = p9_sbe_attr_setup.C ISTEP2-CPP-SOURCES +=p9_sbe_tp_chiplet_init1.C ISTEP2-CPP-SOURCES +=p9_sbe_tp_gptr_time_initf.C ISTEP2-CPP-SOURCES +=p9_sbe_npll_initf.C -ISTEP2-CPP-SOURCES +=p9_sbe_npll_setup.C ISTEP2-CPP-SOURCES +=p9_sbe_clock_test2.C ISTEP2-CPP-SOURCES +=p9_sbe_tp_chiplet_reset.C ISTEP2-CPP-SOURCES +=p9_sbe_tp_repr_initf.C diff --git a/src/build/import_hwp_mk/istepcommon/istepcommonfiles.mk b/src/build/import_hwp_mk/istepcommon/istepcommonfiles.mk index d93f768e..402de306 100644 --- a/src/build/import_hwp_mk/istepcommon/istepcommonfiles.mk +++ b/src/build/import_hwp_mk/istepcommon/istepcommonfiles.mk @@ -52,6 +52,7 @@ ISTEPCOMMON-CPP-SOURCES +=p9_adu_coherent_utils.C ISTEPCOMMON-CPP-SOURCES +=p9_adu_access.C #Istep2 Procedure but this is required to run from PIBMEM ISTEPCOMMON-CPP-SOURCES +=p9_sbe_tp_switch_gears.C +ISTEPCOMMON-CPP-SOURCES +=p9_sbe_npll_setup.C ISTEPCOMMON-C-SOURCES = ISTEPCOMMON-S-SOURCES = diff --git a/src/hwpf/src/plat/plat_utils.C b/src/hwpf/src/plat/plat_utils.C index decb9264..94adc7d6 100644 --- a/src/hwpf/src/plat/plat_utils.C +++ b/src/hwpf/src/plat/plat_utils.C @@ -50,7 +50,7 @@ namespace fapi2 #ifndef __FAPI_DELAY_SIM__ -#define PK_NANOSECONDS_SBE(n) ((PkInterval)((PK_BASE_FREQ_HZ * (PkInterval)(n)) / (1024*1024*1024))) +#define PK_NANOSECONDS_SBE(n) ((PkTimebase)((PK_BASE_FREQ_HZ * (PkTimebase)(n)) / (1024*1024*1024))) PkTimebase target_time; PkTimebase current_time; diff --git a/src/sbefw/sbeFifoMsgUtils.C b/src/sbefw/sbeFifoMsgUtils.C index 2d18a1d3..75489cae 100644 --- a/src/sbefw/sbeFifoMsgUtils.C +++ b/src/sbefw/sbeFifoMsgUtils.C @@ -150,7 +150,8 @@ uint32_t sbeUpFifoDeq_mult (uint32_t &io_len, } // if Upstream FIFO is empty, - if (l_data.statusOrReserved.fifo_empty) + if ( ( l_data.statusOrReserved.fifo_empty) && + ( !l_data.statusOrReserved.valid_flag)) { pk_sleep(PK_MILLISECONDS(FIFO_WAIT_SLEEP_TIME)); continue; diff --git a/src/test/testcases/testUtil.py b/src/test/testcases/testUtil.py index 133efcc5..db8fbfbb 100644 --- a/src/test/testcases/testUtil.py +++ b/src/test/testcases/testUtil.py @@ -114,7 +114,7 @@ def writeEntry(obj, address, value ): count = count + 1 runCycles(200000) # This will cause test to fail - if(count > 10): + if(count > 50): raise Exception('Timeout. FIFO FULL'); else: # write entry @@ -143,7 +143,7 @@ def readEntry(obj, address, size): count = count + 1 runCycles(200000) # This will cause test to fail - if(count > 10): + if(count > 50): raise Exception('Timeout. Empty FIFO'); return value |