Skip to content

Commit 5bfda17

Browse files
BenAtIBMcrgeddes
authored andcommitted
Add chip base address to the OMI MMIO offset in p9a_mmio_util
Change-Id: Iac0b3e3cbdeff703306013456663f77e4cfe6996 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/72418 Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Joseph J. McGill <jmcgill@us.ibm.com> Reviewed-by: Thi N. Tran <thi@us.ibm.com> Reviewed-by: Matt K. Light <mklight@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com> Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/72437 Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com>
1 parent c23e993 commit 5bfda17

File tree

2 files changed

+24
-4
lines changed

2 files changed

+24
-4
lines changed

src/import/chips/p9/procedures/hwp/nest/p9a_mmio_util.C

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
// *HWP Consumed by: HB
3535

3636
#include <p9a_mmio_util.H>
37+
#include <p9_fbc_utils.H>
3738
#include <p9_adu_setup.H>
3839
#include <p9_adu_access.H>
3940
#include <p9_adu_coherent_utils.H>
@@ -42,16 +43,33 @@
4243
fapi2::ReturnCode addOMIBase(const fapi2::Target<fapi2::TARGET_TYPE_OCMB_CHIP>& i_target,
4344
uint64_t& io_mmioAddr)
4445
{
45-
uint64_t l_base_addr;
46+
std::vector<uint64_t> l_base_addr_nm0;
47+
std::vector<uint64_t> l_base_addr_nm1;
48+
std::vector<uint64_t> l_base_addr_m;
49+
uint64_t l_addr_offset;
50+
uint64_t l_base_addr_mmio;
4651

47-
fapi2::Target<fapi2::TARGET_TYPE_OMI> l_omi_target = i_target.getParent<fapi2::TARGET_TYPE_OMI>();
52+
fapi2::Target<fapi2::TARGET_TYPE_OMI> l_omi_target;
53+
fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP> l_chip_target;
54+
55+
l_omi_target = i_target.getParent<fapi2::TARGET_TYPE_OMI>();
56+
l_chip_target = l_omi_target.getParent<fapi2::TARGET_TYPE_PROC_CHIP>();
57+
58+
// determine base address of chip MMIO range
59+
FAPI_TRY(p9_fbc_utils_get_chip_base_address(l_chip_target,
60+
EFF_FBC_GRP_CHIP_IDS,
61+
l_base_addr_nm0,
62+
l_base_addr_nm1,
63+
l_base_addr_m,
64+
l_base_addr_mmio),
65+
"Error from p9_fbc_utils_get_chip_base_address");
4866

4967
FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_OMI_INBAND_BAR_BASE_ADDR_OFFSET,
5068
l_omi_target,
51-
l_base_addr),
69+
l_addr_offset),
5270
"Error from FAPI_ATTR_GET (ATTR_OMI_INBAND_BAR_BASE_ADDR_OFFSET)");
5371

54-
io_mmioAddr |= l_base_addr;
72+
io_mmioAddr |= (l_base_addr_mmio | l_addr_offset);
5573

5674
fapi_try_exit:
5775

src/import/chips/p9/procedures/hwp/nest/p9a_mmio_util.mk

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,6 @@
2323
#
2424
# IBM_PROLOG_END_TAG
2525
PROCEDURE=p9a_mmio_util
26+
OBJS+=p9_fbc_utils.o
27+
$(call ADD_MODULE_INCDIR,$(PROCEDURE),$(ROOTPATH))
2628
$(call BUILD_PROCEDURE)

0 commit comments

Comments
 (0)