diff options
author | Kinsey Moore <kinsey.moore@oarcorp.com> | 2023-06-21 10:47:33 -0500 |
---|---|---|
committer | Joel Sherrill <joel@rtems.org> | 2023-06-22 10:46:33 -0500 |
commit | 333fd02631196f5d0034903f8634bcced32684d0 (patch) | |
tree | 72ff573db85e9f98336f1bb091d1f1abecae394e /bsps/include/dev | |
parent | bsps/sparc: Deprecate BSP-specific interrupt API (diff) | |
download | rtems-333fd02631196f5d0034903f8634bcced32684d0.tar.bz2 |
bsps/xqspipsu: Handle SMP systems properly
The NOR driver was not written with SMP systems and caching in mind.
This makes the IsBusy flag volatile for updates across cores and
introduces cache flushing and invalidation where necessary for data
manipulated by the DMA engine in the QSPI peripheral.
Diffstat (limited to 'bsps/include/dev')
-rw-r--r-- | bsps/include/dev/spi/xqspipsu.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/bsps/include/dev/spi/xqspipsu.h b/bsps/include/dev/spi/xqspipsu.h index 7d9b662464..92d38eb0c8 100644 --- a/bsps/include/dev/spi/xqspipsu.h +++ b/bsps/include/dev/spi/xqspipsu.h @@ -259,6 +259,9 @@ typedef struct { s32 TxBytes; /**< Number of bytes to transfer (state) */ s32 RxBytes; /**< Number of bytes left to transfer(state) */ s32 GenFifoEntries; /**< Number of Gen FIFO entries remaining */ +#ifdef __rtems__ + volatile +#endif u32 IsBusy; /**< A transfer is in progress (state) */ u32 ReadMode; /**< DMA or IO mode */ u32 GenFifoCS; /**< Gen FIFO chip selection */ |