diff options
author | Andrew Donnellan <andrew.donnellan@au1.ibm.com> | 2018-03-01 18:57:11 +1100 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2018-03-01 20:17:54 -0600 |
commit | 11b46291111a6e77ecb8e0372ab308c4d5bee4bf (patch) | |
tree | c5bf29d8d10bc089d2a10463c1d937dbf14889cd /include/pci.h | |
parent | 399151e1425e496dad5fb47940dafdd562f255aa (diff) | |
download | skiboot-11b46291111a6e77ecb8e0372ab308c4d5bee4bf.zip skiboot-11b46291111a6e77ecb8e0372ab308c4d5bee4bf.tar.gz skiboot-11b46291111a6e77ecb8e0372ab308c4d5bee4bf.tar.bz2 |
npu2: Rework NPU data structures for OpenCAPI
Unlike NVLink, OpenCAPI registers a separate PHB for each device, in order
to allow us to force Linux to use the correct MMIO windows for each NPU
link. This requires some reworking of NPU data structures to account for
the fact that a PHB could correspond to either an NPU (NVLink) or a single
link (OpenCAPI).
At some later point, we may want to rework the NVLink code to present a
separate PHB per device in order to simplify this. For now, we split
NVLink-specific device data into a separate struct in order to make it
clear which fields are NVLink-only.
Additionally, add helper functions to correctly translate between
OpenCAPI/NVLink PHBs and the underlying structures, and various fields
for OpenCAPI data that we're going to need later on.
Signed-off-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
Acked-by: Reza Arbab <arbab@linux.vnet.ibm.com>
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'include/pci.h')
-rw-r--r-- | include/pci.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/pci.h b/include/pci.h index 508ebf4..17b5c96 100644 --- a/include/pci.h +++ b/include/pci.h @@ -344,6 +344,7 @@ enum phb_type { phb_type_pcie_v3, phb_type_pcie_v4, phb_type_npu_v2, + phb_type_npu_v2_opencapi, }; struct phb { |