diff options
author | Adam Muhle <armuhle@us.ibm.com> | 2013-02-19 15:58:05 -0600 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2013-02-22 13:00:59 -0600 |
commit | f8ad8a06168b85f9c8543a7a20816d66c5c0746a (patch) | |
tree | 62972dcffd4c5033fbad4b2e724cfc8f5690487e /src/usr/ibscom/ibscom.C | |
parent | 6c4b5d13b98142843ccdc52b24ea9668186cf73f (diff) | |
download | talos-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.C | 69 |
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 |