Home
last modified time | relevance | path

Searched hist:"5 adcec04b5abd4971f1678d6ee1369cc9ecaa90d" (Results 1 – 2 of 2) sorted by relevance

/freebsd/sys/dev/intel/
H A Dspi.hdiff 5adcec04b5abd4971f1678d6ee1369cc9ecaa90d Thu Aug 03 18:10:50 CEST 2023 Vladimir Kondratyev <wulf@FreeBSD.org> 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
H A Dspi.cdiff 5adcec04b5abd4971f1678d6ee1369cc9ecaa90d Thu Aug 03 18:10:50 CEST 2023 Vladimir Kondratyev <wulf@FreeBSD.org> 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