SSR is a feature that mitigates a crash in device sub-system. Usually, after a workload (using a sub-system) has crashed on the device, the entire device crashes affecting all the workloads on device. SSR is used to limit the damage only to that particular workload and releases the resources used by it, leaving the decision to the user. Applications are informed when SSR starts and ends via udev notifications. All ongoing requests for that particular workload will be lost.
During SSR the affected DBC changes state as follows: DBC_STATE_BEFORE_SHUTDOWN DBC_STATE_AFTER_SHUTDOWN DBC_STATE_BEFORE_POWER_UP DBC_STATE_AFTER_POWER_UP In addition to supporting the sub-system to recover from a crash, the device can optionally use SSR to send a crashdump. Jeff Hugo (1): accel/qaic: Implement basic SSR handling Pranjal Ramajor Asha Kanojiya (2): accel/qaic: Add DMA Bridge Channel(DBC) sysfs and uevents accel/qaic: Collect crashdump from SSR channel Documentation/ABI/stable/sysfs-driver-qaic | 16 + Documentation/accel/qaic/aic100.rst | 24 +- drivers/accel/qaic/Kconfig | 1 + drivers/accel/qaic/Makefile | 2 + drivers/accel/qaic/qaic.h | 36 + drivers/accel/qaic/qaic_control.c | 2 + drivers/accel/qaic/qaic_data.c | 61 +- drivers/accel/qaic/qaic_drv.c | 25 + drivers/accel/qaic/qaic_ssr.c | 819 +++++++++++++++++++++ drivers/accel/qaic/qaic_ssr.h | 16 + drivers/accel/qaic/qaic_sysfs.c | 109 +++ 11 files changed, 1102 insertions(+), 9 deletions(-) create mode 100644 Documentation/ABI/stable/sysfs-driver-qaic create mode 100644 drivers/accel/qaic/qaic_ssr.c create mode 100644 drivers/accel/qaic/qaic_ssr.h create mode 100644 drivers/accel/qaic/qaic_sysfs.c -- 2.43.0
