Skip to content

Commit

Permalink
Create dmi.pll.scan.initfile
Browse files Browse the repository at this point in the history
Support sync and async mode for Cumulus MC

Default buckets are 1.

Change-Id: I62d0221abf7f93030cb8c0200a456609ab4dfe04
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/40326
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: Benjamin Gass <bgass@us.ibm.com>
Reviewed-by: Joseph J. McGill <jmcgill@us.ibm.com>
Reviewed-by: Thi N. Tran <thi@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/41057
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Dean Sanner <dsanner@us.ibm.com>
  • Loading branch information
BenAtIBM authored and sannerd committed Jul 19, 2017
1 parent a3f6792 commit afa42a4
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 3 deletions.
6 changes: 5 additions & 1 deletion src/import/chips/p9/procedures/hwp/perv/p9_mem_pll_initf.C
Expand Up @@ -47,10 +47,14 @@ fapi2::ReturnCode p9_mem_pll_initf(const fapi2::Target<fapi2::TARGET_TYPE_PROC_C
FAPI_INF("Entering ...");

uint8_t l_sync_mode;
uint8_t l_use_dmi_buckets = 0;
FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_MC_SYNC_MODE, i_target_chip, l_sync_mode),
"Error from FAPI_ATTR_GET (ATTR_MC_SYNC_MODE)");

if (l_sync_mode == 0)
FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CHIP_EC_FEATURE_DMI_MC_PLL_SCAN_BUCKETS, i_target_chip, l_use_dmi_buckets),
"Error from FAPI_ATTR_GET (ATTR_CHIP_EC_FEATURE_DMI_MC_PLL_SCAN_BUCKETS)");

if (l_sync_mode == 0 && l_use_dmi_buckets == 0)
{
FAPI_DBG("Re-scanning PLL ring to set final frequency");

Expand Down
5 changes: 4 additions & 1 deletion src/import/chips/p9/procedures/hwp/perv/p9_mem_pll_reset.C
Expand Up @@ -140,13 +140,16 @@ fapi_try_exit:
fapi2::ReturnCode p9_mem_pll_reset(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target_chiplet)
{
uint8_t l_read_attr = 0;
uint8_t l_use_dmi_buckets = 0;
fapi2::buffer<uint64_t> l_data64;

FAPI_INF("Entering ...");

FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_MC_SYNC_MODE, i_target_chiplet, l_read_attr));

if ( !l_read_attr )
FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CHIP_EC_FEATURE_DMI_MC_PLL_SCAN_BUCKETS, i_target_chiplet, l_use_dmi_buckets));

if ( !l_read_attr && !l_use_dmi_buckets )
{
for (auto l_chplt_trgt : i_target_chiplet.getChildren<fapi2::TARGET_TYPE_PERV>
(fapi2::TARGET_FILTER_ALL_MC, fapi2::TARGET_STATE_FUNCTIONAL))
Expand Down
6 changes: 5 additions & 1 deletion src/import/chips/p9/procedures/hwp/perv/p9_mem_pll_setup.C
Expand Up @@ -55,6 +55,7 @@ fapi2::ReturnCode p9_mem_pll_setup(const fapi2::Target<fapi2::TARGET_TYPE_PROC_C
uint8_t l_read_attr = 0;
fapi2::buffer<uint64_t> l_data64;
uint8_t l_mem_bypass;
uint8_t l_use_dmi_buckets = 0;

FAPI_INF("Entering ...");

Expand All @@ -64,7 +65,10 @@ fapi2::ReturnCode p9_mem_pll_setup(const fapi2::Target<fapi2::TARGET_TYPE_PROC_C
FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_MC_SYNC_MODE, i_target_chip, l_read_attr),
"Error from FAPI_ATTR_GET (ATTR_MC_SYNC_MODE)");

if (!l_read_attr )
FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CHIP_EC_FEATURE_DMI_MC_PLL_SCAN_BUCKETS, i_target_chip, l_use_dmi_buckets),
"Error from FAPI_ATTR_GET (ATTR_CHIP_EC_FEATURE_DMI_MC_PLL_SCAN_BUCKETS)");

if ( !l_read_attr && !l_use_dmi_buckets )
{
for (auto l_chplt_trgt : i_target_chip.getChildren<fapi2::TARGET_TYPE_PERV>
(fapi2::TARGET_FILTER_ALL_MC, fapi2::TARGET_STATE_FUNCTIONAL))
Expand Down
Expand Up @@ -47,6 +47,23 @@
</chipEcFeature>
</attribute>
<!-- ********************************************************************* -->
<attribute>
<id>ATTR_CHIP_EC_FEATURE_DMI_MC_PLL_SCAN_BUCKETS</id>
<targetType>TARGET_TYPE_PROC_CHIP</targetType>
<description>
Use nest buckets for mc_pll_bndy for cumulus
</description>
<chipEcFeature>
<chip>
<name>ENUM_ATTR_NAME_CUMULUS</name>
<ec>
<value>0x10</value>
<test>GREATER_THAN_OR_EQUAL</test>
</ec>
</chip>
</chipEcFeature>
</attribute>
<!-- ********************************************************************* -->
<attribute>
<id>ATTR_CHIP_EC_FEATURE_EARLYMODE_FIX</id>
<targetType>TARGET_TYPE_PROC_CHIP</targetType>
Expand Down

0 comments on commit afa42a4

Please sign in to comment.