summaryrefslogtreecommitdiffstats
path: root/include/misc
diff options
context:
space:
mode:
authorDaniel Axtens <dja@axtens.net>2015-08-14 09:41:25 +0200
committerMichael Ellerman <mpe@ellerman.id.au>2015-08-14 13:32:07 +0200
commit13e68d8bd05c998cae452a4f3400af1e8edd852e (patch)
treed17ff97c9f46a663b5cb4916fc333703b2cdfea4 /include/misc
parentcxl: Don't remove AFUs/vPHBs in cxl_reset (diff)
downloadlinux-13e68d8bd05c998cae452a4f3400af1e8edd852e.tar.xz
linux-13e68d8bd05c998cae452a4f3400af1e8edd852e.zip
cxl: Allow the kernel to trust that an image won't change on PERST.
Provide a kernel API and a sysfs entry which allow a user to specify that when a card is PERSTed, it's image will stay the same, allowing it to participate in EEH. cxl_reset is used to reflash the card. In that case, we cannot safely assert that the image will not change. Therefore, disallow cxl_reset if the flag is set. Signed-off-by: Daniel Axtens <dja@axtens.net> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'include/misc')
-rw-r--r--include/misc/cxl.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/misc/cxl.h b/include/misc/cxl.h
index 7a6c1d6cc173..f2ffe5bd720d 100644
--- a/include/misc/cxl.h
+++ b/include/misc/cxl.h
@@ -200,4 +200,14 @@ unsigned int cxl_fd_poll(struct file *file, struct poll_table_struct *poll);
ssize_t cxl_fd_read(struct file *file, char __user *buf, size_t count,
loff_t *off);
+/*
+ * For EEH, a driver may want to assert a PERST will reload the same image
+ * from flash into the FPGA.
+ *
+ * This is a property of the entire adapter, not a single AFU, so drivers
+ * should set this property with care!
+ */
+void cxl_perst_reloads_same_image(struct cxl_afu *afu,
+ bool perst_reloads_same_image);
+
#endif /* _MISC_CXL_H */