aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/pau-regs.h8
-rw-r--r--include/pau.h2
2 files changed, 10 insertions, 0 deletions
diff --git a/include/pau-regs.h b/include/pau-regs.h
index 57c2d72..da83ad4 100644
--- a/include/pau-regs.h
+++ b/include/pau-regs.h
@@ -37,6 +37,7 @@
#define PAU_BLOCK_XSL PAU_BLOCK(4, 0xE)
#define PAU_BLOCK_PAU_XTS PAU_BLOCK(7, 1)
#define PAU_BLOCK_PAU_MISC PAU_BLOCK(7, 2)
+#define PAU_BLOCK_PAU_XTS_ATSD(n) PAU_BLOCK(8, (n))
/*
* CQ_SM block registers
@@ -176,6 +177,9 @@
#define PAU_XTS_CFG2_XSL2_ENA PPC_BIT(55)
#define PAU_XTS_CFG3 (PAU_BLOCK_PAU_XTS + 0x068)
#define PAU_XTS_CFG3_MMIOSD_OCAPI PPC_BIT(5)
+#define PAU_XTS_ATSD_HYP(n) (PAU_BLOCK_PAU_XTS + 0x100 + (n) * 8)
+#define PAU_XTS_ATSD_HYP_MSR_HV PPC_BIT(51)
+#define PAU_XTS_ATSD_HYP_LPARID PPC_BITMASK(52, 63)
/* MISC block registers */
#define PAU_MISC_OPTICAL_IO_CONFIG (PAU_BLOCK_PAU_MISC + 0x018)
@@ -204,4 +208,8 @@
#define PAU_MISC_INT_2_CONFIG_XFAULT_2_5(n) PPC_BIT(0 + (n))
#define PAU_MISC_INT_2_CONFIG_XFAULT_0_1(n) PPC_BIT(54 + (n))
+/* PAU_XTS_ATSD block registers */
+#define PAU_XTS_ATSD_LAUNCH(n) (PAU_BLOCK_PAU_XTS_ATSD(n) + 0x000)
+#define PAU_XTS_ATSD_MAX 16
+
#endif /* __PAU_REGS_H */
diff --git a/include/pau.h b/include/pau.h
index 894007d..a70058f 100644
--- a/include/pau.h
+++ b/include/pau.h
@@ -200,6 +200,8 @@ static inline uint64_t pau_read(struct pau *pau, uint64_t reg)
}
void pau_opencapi_dump_scoms(struct pau *pau);
+int64_t pau_opencapi_map_atsd_lpar(struct phb *phb, uint64_t __unused bdf,
+ uint64_t lparid, uint64_t __unused lpcr);
int64_t pau_opencapi_spa_setup(struct phb *phb, uint32_t __unused bdfn,
uint64_t addr, uint64_t PE_mask);
int64_t pau_opencapi_spa_clear_cache(struct phb *phb,