aboutsummaryrefslogtreecommitdiff
path: root/include/npu2-regs.h
diff options
context:
space:
mode:
authorAlexey Kardashevskiy <aik@ozlabs.ru>2018-12-05 15:52:22 +1100
committerStewart Smith <stewart@linux.ibm.com>2018-12-10 22:21:12 -0600
commitd8b161f4b361f70a7bb43be47d4a32b8f937287a (patch)
treec3f203691cafa06ece317d2d5f62f3f78b7b665c /include/npu2-regs.h
parent3e3defbf73e3603c5dc6f168c3de764c14b50e27 (diff)
downloadskiboot-d8b161f4b361f70a7bb43be47d4a32b8f937287a.zip
skiboot-d8b161f4b361f70a7bb43be47d4a32b8f937287a.tar.gz
skiboot-d8b161f4b361f70a7bb43be47d4a32b8f937287a.tar.bz2
npu2: Allow ATSD for LPAR other than 0
Each XTS MMIO ATSD# register is accompanied by another register - XTS MMIO ATSD0 LPARID# - which controls LPID filtering for ATSD transactions. When a host system passes a GPU through to a guest, we need to enable some ATSD for an LPAR. At the moment the host assigns one ATSD to a NVLink bridge and this maps it to an LPAR when GPU is assigned to the LPAR. The link number is used for an ATSD index. ATSD6&7 stay mapped to the host (LPAR=0) all the time which seems to be acceptable price for the simplicity. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
Diffstat (limited to 'include/npu2-regs.h')
-rw-r--r--include/npu2-regs.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/npu2-regs.h b/include/npu2-regs.h
index 10a2816..f6e349f 100644
--- a/include/npu2-regs.h
+++ b/include/npu2-regs.h
@@ -547,6 +547,8 @@ void npu2_scom_write(uint64_t gcid, uint64_t scom_base,
#define NPU2_XTS_MMIO_ATSD5_LPARID NPU2_REG_OFFSET(NPU2_STACK_MISC, NPU2_BLOCK_XTS, 0x128)
#define NPU2_XTS_MMIO_ATSD6_LPARID NPU2_REG_OFFSET(NPU2_STACK_MISC, NPU2_BLOCK_XTS, 0x130)
#define NPU2_XTS_MMIO_ATSD7_LPARID NPU2_REG_OFFSET(NPU2_STACK_MISC, NPU2_BLOCK_XTS, 0x138)
+#define NPU2_XTS_MMIO_ATSD_MSR_HV PPC_BIT(51)
+#define NPU2_XTS_MMIO_ATSD_LPARID PPC_BITMASK(52,63)
#define NPU2_XTS_BDF_MAP NPU2_REG_OFFSET(NPU2_STACK_MISC, NPU2_BLOCK_XTS, 0x4000)
#define NPU2_XTS_BDF_MAP_VALID PPC_BIT(0)
#define NPU2_XTS_BDF_MAP_UNFILT PPC_BIT(1)