summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDan Crowell <dcrowell@us.ibm.com>2012-09-19 09:42:36 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2012-09-26 11:43:15 -0500
commit202d92ba03e853f90dc56876c1937a49ce1501bf (patch)
tree23c7506ea609ac80af761ac19896710a5c3b347d /src
parentcaa52e035ffdba58b466936529909bad95daa30f (diff)
downloadtalos-hostboot-202d92ba03e853f90dc56876c1937a49ce1501bf.tar.gz
talos-hostboot-202d92ba03e853f90dc56876c1937a49ce1501bf.zip
Enable Legacy FSI Mode for Buf HW204566
Murano DD1.0 has a bug in the new 1:1 FSI clock logic that causes the slave presence detection to lie. As a workaround we will temporarily enable 4:1 mode to do the presence detect. Change-Id: I828e52e5840b782d3ee894bcc0b3118a562c2af5 RTC: 48896 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/1841 Tested-by: Jenkins Server Reviewed-by: Thi N. Tran <thi@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src')
-rw-r--r--src/usr/fsi/fsidd.C57
-rw-r--r--src/usr/fsi/fsipres.C65
2 files changed, 55 insertions, 67 deletions
diff --git a/src/usr/fsi/fsidd.C b/src/usr/fsi/fsidd.C
index 021df633d..8d47c5e7b 100644
--- a/src/usr/fsi/fsidd.C
+++ b/src/usr/fsi/fsidd.C
@@ -1,26 +1,25 @@
-/* IBM_PROLOG_BEGIN_TAG
- * This is an automatically generated prolog.
- *
- * $Source: src/usr/fsi/fsidd.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
- */
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/usr/fsi/fsidd.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 otherwise */
+/* divested of its trade secrets, irrespective of what has been */
+/* deposited with the U.S. Copyright Office. */
+/* */
+/* Origin: 30 */
+/* */
+/* IBM_PROLOG_END_TAG */
/**
* @file fsidd.C
*
@@ -1385,12 +1384,22 @@ errlHndl_t FsiDD::initMasterControl(const TARGETING::Target* i_master,
if( l_err ) { break; }
- //Set MMODE reg to enable HW recovery, parity checking, setup clock ratio
+ //Set MMODE reg to enable HW recovery, parity checking,
+ // setup clock ratio
// 1= Enable hardware error recovery
// 3= Enable parity checking
// 4:13= FSI clock ratio 0 is 1:1
// 14:23= FSI clock ratio 1 is 4:1
databuf = 0x50040400;
+ //Hardware Bug HW204566 on Murano DD1.0 requires legacy
+ // mode to be enabled
+ if( (i_master->getAttr<TARGETING::ATTR_MODEL>()
+ == TARGETING::MODEL_MURANO) &&
+ (i_master->getAttr<TARGETING::ATTR_EC>() == 0x10) )
+ {
+ // 25=clock/4 mode
+ databuf |= 0x00000040;
+ }
l_err = write( ctl_reg|FSI_MMODE_000, &databuf );
if( l_err ) { break; }
}
diff --git a/src/usr/fsi/fsipres.C b/src/usr/fsi/fsipres.C
index 7332b09c3..7c4aff01c 100644
--- a/src/usr/fsi/fsipres.C
+++ b/src/usr/fsi/fsipres.C
@@ -1,26 +1,25 @@
-/* IBM_PROLOG_BEGIN_TAG
- * This is an automatically generated prolog.
- *
- * $Source: src/usr/fsi/fsipres.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
- */
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/usr/fsi/fsipres.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 otherwise */
+/* divested of its trade secrets, irrespective of what has been */
+/* deposited with the U.S. Copyright Office. */
+/* */
+/* Origin: 30 */
+/* */
+/* IBM_PROLOG_END_TAG */
#include <devicefw/driverif.H>
#include <targeting/common/attributes.H>
#include <fsi/fsiif.H>
@@ -150,16 +149,6 @@ errlHndl_t procPresenceDetect(DeviceFW::OperationType i_opType,
}
}
- //@fixme-RTC:35551 : FSI presence detection is wrong in VPO
- // Force FSI to follow MVPD
- if( (fsi_present != mvpd_present) && TARGETING::is_vpo() )
- {
- TRACFCOMP(g_trac_fsi,
- ERR_MRK "FSI::procPresenceDetect> Lying about FSI presence for %.8X",
- TARGETING::get_huid(i_target));
- fsi_present = mvpd_present;
- }
-
// Finally compare the 2 methods
if( fsi_present != mvpd_present )
{
@@ -294,16 +283,6 @@ errlHndl_t membPresenceDetect(DeviceFW::OperationType i_opType,
}
}
- //@fixme-RTC:35551 : FSI presence detection is wrong in VPO
- // Force FSI to follow VPD
- if( (fsi_present != vpd_present) && TARGETING::is_vpo() )
- {
- TRACFCOMP(g_trac_fsi,
- ERR_MRK "FSI::membPresenceDetect> Lying about FSI presence for %.8X",
- TARGETING::get_huid(i_target));
- fsi_present = vpd_present;
- }
-
// Finally compare the 2 methods
if( fsi_present != vpd_present )
{
OpenPOWER on IntegriCloud