diff options
author | Christophe Lombard <clombard@linux.vnet.ibm.com> | 2021-10-14 17:56:57 +0200 |
---|---|---|
committer | Vasant Hegde <hegdevasant@linux.vnet.ibm.com> | 2021-10-19 12:26:01 +0530 |
commit | 6ad2feaeb1a44365367ed94989b18f2ed7012d98 (patch) | |
tree | a8e6f2a60723f6f7b918a9439b5ffd332e946d14 /include | |
parent | a7eae3eef52a3081f0f2188a10cd4dc1d7b8f1c1 (diff) | |
download | skiboot-6ad2feaeb1a44365367ed94989b18f2ed7012d98.zip skiboot-6ad2feaeb1a44365367ed94989b18f2ed7012d98.tar.gz skiboot-6ad2feaeb1a44365367ed94989b18f2ed7012d98.tar.bz2 |
pau: enable interrupt on error
The default action for the errors (unexpected errors on the opencapi
link) reported in the PAU FIR2 registe is mostly set to system
checkstop.
This patch changes the default action of those errors so that the PAU
will raise an interrupt instead. Interrupt information are logged so
that the error can be debugged and linux can catch the event.
Signed-off-by: Christophe Lombard <clombard@linux.vnet.ibm.com>
Reviewed-by: Frederic Barrat <fbarrat@linux.ibm.com>
Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/pau-regs.h | 12 | ||||
-rw-r--r-- | include/pau.h | 2 |
2 files changed, 14 insertions, 0 deletions
diff --git a/include/pau-regs.h b/include/pau-regs.h index e4ff7cc..d98f435 100644 --- a/include/pau-regs.h +++ b/include/pau-regs.h @@ -139,6 +139,18 @@ #define PAU_MISC_HOLD (PAU_BLOCK_PAU_MISC + 0x020) #define PAU_MISC_HOLD_NDL_STALL PPC_BITMASK(0, 3) #define PAU_MISC_CONFIG (PAU_BLOCK_PAU_MISC + 0x030) +#define PAU_MISC_CONFIG_IPI_PS PPC_BIT(11) +#define PAU_MISC_CONFIG_IPI_PS_64K 1 +#define PAU_MISC_CONFIG_IPI_OS PPC_BIT(12) +#define PAU_MISC_CONFIG_IPI_OS_AIX 0 #define PAU_MISC_CONFIG_OC_MODE PPC_BIT(16) +#define PAU_MISC_FREEZE_1_CONFIG (PAU_BLOCK_PAU_MISC + 0x048) +#define PAU_MISC_FENCE_1_CONFIG (PAU_BLOCK_PAU_MISC + 0x058) +#define PAU_MISC_INT_1_CONFIG (PAU_BLOCK_PAU_MISC + 0x068) +#define PAU_MISC_INT_BAR (PAU_BLOCK_PAU_MISC + 0x098) +#define PAU_MISC_INT_BAR_ADDR PPC_BITMASK(0, 39) +#define PAU_MISC_INT_2_CONFIG (PAU_BLOCK_PAU_MISC + 0x408) +#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)) #endif /* __PAU_REGS_H */ diff --git a/include/pau.h b/include/pau.h index 0246a63..b6fabe7 100644 --- a/include/pau.h +++ b/include/pau.h @@ -33,6 +33,7 @@ struct pau_dev { uint32_t index; struct dt_node *dn; struct phb phb; + uint32_t status; struct pau_bar ntl_bar; struct pau_bar genid_bar; @@ -59,6 +60,7 @@ struct pau { uint64_t regs[2]; bool mmio_access; + uint32_t irq_base; struct lock lock; uint32_t links; |