HomeFreeBSD

intelspi: Add support for ddb/kdb -compatible polled mode

Description

intelspi: Add support for ddb/kdb -compatible polled mode

Required for Apple and Microsoft -compatible HID-over-SPI drivers.

Most logic was already implemented in commit 3c0867343819
"spibus: extend API: add cs_delay ivar, KEEP_CS and NO_SLEEP flags".
It dissallowed driver sleeps in the interrupt context. This commit
extends this feature to handle ddb/kdb context with following:

  • Skip driver locking if SPI functions were called from kdb/ddb.
  • Reinitialize controller if kdb/ddb initiated SPI transfer has interrupted another already running one. Does not work very reliable yet.

Reviewed by: manu
Differential Revision: https://reviews.freebsd.org/D41247

Details

Provenance
wulfAuthored on Aug 3 2023, 4:10 PM
Reviewer
manu
Differential Revision
D41247: intelspi: Add support for ddb/kdb -compatible polled mode
Parents
rG4151ac9f1292: hidbus(4): Use generic hid methods to start and stop interrupts
Branches
Unknown
Tags
Unknown