summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2026-09-04 18:01:54 +0100
committerMark Brown <broonie@kernel.org>2026-09-04 18:01:54 +0100
commit4dd9f46eca2a9f8d0d6f40961df0042bb3fad569 (patch)
tree66f096d3a17718ddcaae502e347c260491012675 /tools/perf/scripts/python
parent5f01cb141169fe422c42279f7d502479b1ff9fd2 (diff)
parentb7b192e58f353424aa26bef5da88b2a3cb20049e (diff)
spi: qcom-geni: Add shutdown and panic notifier support
Praveen Talari <praveen.talari@oss.qualcomm.com> says: On VM-based platforms, if an SPI DMA transfer is in progress when the guest is torn down (via reboot/shutdown or a panic/crash), the DMA engine can keep issuing transactions to IOVAs that have already been invalidated as part of teardown. The SMMU then raises context faults, which can affect other VMs sharing the same SMMU instance and obscure the real root cause of the crash. This series adds two independent quiesce paths for the GENI SPI controller so that any in-progress transfer is stopped and the DMA engine is left idle before the IOVA mappings are torn down: - Patch 1 adds a platform shutdown() callback that suspends the SPI controller (via spi_controller_suspend()) on a normal reboot/shutdown path, where sleeping is safe. - Patch 2 registers a panic notifier that cancels/aborts the in-flight command and resets the TX/RX DMA FSMs (or terminates the GPI DMA channels) when the kernel panics, covering the crash path as well. The notifier bails out early if the device is not runtime-active or has no active command, and otherwise uses readl_poll_timeout_atomic() to poll status registers directly instead of waiting on completions/IRQs like the regular error-handling path does, since panic notifiers run with IRQs and preemption disabled. The notifier is registered before devm_spi_register_controller() so a panic during child device probing is still handled. Link: https://patch.msgid.link/20260818-add-shutdown-and-panic-notifier-for-spi-v3-0-8b62c4bc2d21@oss.qualcomm.com
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions