[PATCH v2 00/10] CXL EEH Handling
dja at axtens.net
Tue Jul 28 15:28:33 AEST 2015
CXL accelerators are unfortunately not immune from failure. This patch
set enables them to particpate in the Extended Error Handling process.
This series starts with a number of preparatory patches:
- Patch 1 makes sure we don't touch the hardware when it has failed.
- Patches 2-4 make the 'unplug' functions idempotent, so that if we
get part way through recovery and then fail, being completely
unplugged as part of removal doesn't cause us to oops out.
- Patches 5 and 6 refactor init and teardown paths for the adapter
and AFUs, so that they can be configured and deconfigured
separately from their allocation and release.
- Patch 7 stops cxl_reset from breaking EEH.
Patches 8 and 9 are parts of EEH.
- Firstly we have a kernel flag that allows us to confidently assert
the hardware will not change (be reflashed) when it it reset.
- We then have the EEH support itself.
Finally, we add a CONFIG_CXL_EEH symbol that allows drivers to depend
on CXL EEH, or to be easily backportable if EEH is optional.
Changes from v1:
- More comprehensive link down checks, including vPHB.
- Rebased to apply cleanly to 4.2-rc4.
- cxl reset changes.
- CONFIG_CXL_EEH symbol addition.
- add better vPHB support to EEH.
Daniel Axtens (10):
cxl: Drop commands if the PCI channel is not in normal state
cxl: Allocate and release the SPA with the AFU
cxl: Make IRQ release idempotent
cxl: Clean up adapter MMIO unmap path.
cxl: Refactor adaptor init/teardown
cxl: Refactor AFU init/teardown
cxl: Don't remove AFUs/vPHBs in cxl_reset
cxl: Allow the kernel to trust that an image won't change on PERST.
cxl: EEH support
cxl: Add CONFIG_CXL_EEH symbol
Documentation/ABI/testing/sysfs-class-cxl | 10 +
drivers/misc/cxl/Kconfig | 6 +
drivers/misc/cxl/api.c | 9 +
drivers/misc/cxl/context.c | 6 +-
drivers/misc/cxl/cxl.h | 41 ++-
drivers/misc/cxl/file.c | 19 ++
drivers/misc/cxl/irq.c | 9 +
drivers/misc/cxl/native.c | 99 +++++-
drivers/misc/cxl/pci.c | 521 ++++++++++++++++++++++++------
drivers/misc/cxl/sysfs.c | 30 ++
drivers/misc/cxl/vphb.c | 34 ++
include/misc/cxl.h | 12 +
12 files changed, 673 insertions(+), 123 deletions(-)
More information about the Linuxppc-dev