summaryrefslogtreecommitdiffstats
path: root/src/usr/ibscom/ibscom.C
diff options
context:
space:
mode:
authorAdam Muhle <armuhle@us.ibm.com>2013-02-19 15:58:05 -0600
committerA. Patrick Williams III <iawillia@us.ibm.com>2013-02-22 13:00:59 -0600
commitf8ad8a06168b85f9c8543a7a20816d66c5c0746a (patch)
tree62972dcffd4c5033fbad4b2e724cfc8f5690487e /src/usr/ibscom/ibscom.C
parent6c4b5d13b98142843ccdc52b24ea9668186cf73f (diff)
downloadtalos-hostboot-f8ad8a06168b85f9c8543a7a20816d66c5c0746a.tar.gz
talos-hostboot-f8ad8a06168b85f9c8543a7a20816d66c5c0746a.zip
Removing MMIO BAR setup from IBSCOM Device Driver
When I made my initial attempt at the IBSCOM Device Driver, the proc_cen_setup_bars procedure had not yet been imported into Hostboot code, so I was doing it manually in the Device Driver. The procedure is now in Hostbood code, so my workaround is not needed. Change-Id: I1794b30549b9f8254febaa9fcde222af545a93ac RTC: 34743 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/3255 Tested-by: Jenkins Server Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/ibscom/ibscom.C')
-rw-r--r--src/usr/ibscom/ibscom.C69
1 files changed, 1 insertions, 68 deletions
diff --git a/src/usr/ibscom/ibscom.C b/src/usr/ibscom/ibscom.C
index bdde8f4fb..f379289ca 100644
--- a/src/usr/ibscom/ibscom.C
+++ b/src/usr/ibscom/ibscom.C
@@ -5,7 +5,7 @@
/* */
/* IBM CONFIDENTIAL */
/* */
-/* COPYRIGHT International Business Machines Corp. 2012 */
+/* COPYRIGHT International Business Machines Corp. 2012,2013 */
/* */
/* p1 */
/* */
@@ -178,8 +178,6 @@ errlHndl_t getTargetVirtualAddress(Target* i_target,
//Get MMIO Offset from parent MCS attribute.
- uint64_t mcsUnit = 0;
-
//Get the parent MCS
Target* parentMCS = NULL;
@@ -216,7 +214,6 @@ errlHndl_t getTargetVirtualAddress(Target* i_target,
get_huid(i_target),
0),
0);
-
break;
}
parentMCS = *(mcs_list.begin());
@@ -229,70 +226,6 @@ errlHndl_t getTargetVirtualAddress(Target* i_target,
l_IBScomBaseAddr,
i_target->getAttr<ATTR_HUID>());
- //TODO: Remove this workaround when cen_set_inband_addr procedure
- // is delivered
- /* -- Start Workaround -> Remove with RTC: 52898 -- */
-
- //Since the cen_set_inband_addr procedure has not been delivered,
- // setting the bar on demand here so inband scoms will work
- const uint64_t barAddrs[] = {
- 0x02011802, /* MC0.MCS0.LEFT.LEFT.MCFGPRQ */
- 0x02011882, /* MC0.MCS1.LEFT.LEFT.MCFGPRQ */
- 0x02011902, /* MC1.MCS0.LEFT.LEFT.MCFGPRQ */
- 0x02011982, /* MC1.MCS1.LEFT.LEFT.MCFGPRQ */
- 0x02011C02, /* MC2.MCS0.LEFT.LEFT.MCFGPRQ */
- 0x02011C82, /* MC2.MCS1.LEFT.LEFT.MCFGPRQ */
- 0x02011D02, /* MC3.MCS0.LEFT.LEFT.MCFGPRQ */
- 0x02011D82, /* MC3.MCS1.LEFT.LEFT.MCFGPRQ */
- };
-
- //Get the parent processor
- Target* parentProcChip = NULL;
-
- PredicateCTM l_proc(CLASS_CHIP,
- TYPE_PROC,
- MODEL_NA);
-
- TargetHandleList proc_list;
- targetService().
- getAssociated(proc_list,
- i_target,
- TargetService::PARENT_BY_AFFINITY,
- TargetService::ALL,
- &l_proc);
-
- if( proc_list.size() != 1 )
- {
- //Since this code is temporary, just assert
- TRACFCOMP(g_trac_ibscom, ERR_MRK
- "getTargetVirtualAddress: mcs_list size is zero");
- crit_assert(0);
- }
- parentProcChip = *(proc_list.begin());
-
- mcsUnit =
- parentMCS->getAttr<ATTR_CHIP_UNIT>();
-
- TRACDCOMP(g_trac_ibscom, INFO_MRK
- "getTargetVirtualAddress: Setting IBSCOM Bar : barAddr=0x%X, l_IBScomBaseAddr=0x%llX",
- barAddrs[mcsUnit], l_IBScomBaseAddr );
-
- size_t op_size = sizeof(uint64_t);
- l_err = deviceOp( DeviceFW::WRITE,
- parentProcChip,
- &l_IBScomBaseAddr,
- op_size,
- DEVICE_SCOM_ADDRESS(barAddrs[mcsUnit]) );
-
- if( l_err )
- {
- TRACFCOMP(g_trac_ibscom, ERR_MRK
- "getTargetVirtualAddress: Error programming IBSCOM Bar : barAddr=0x%X, l_IBScomBaseAddr=0x%llX",
- barAddrs[mcsUnit], l_IBScomBaseAddr );
- break;
- }
- /* -- END Workaround -> Remove with RTC: 52898 -- */
-
// Map target's virtual address
//NOTE: mmio_dev_map only supports 32 GB Allocation. Technically,
//hostboot IBSCOM MMIO allocated 64GB, but the SCOM address space
OpenPOWER on IntegriCloud