diff options
| author | Jorge Ramirez-Ortiz <[email protected]> | 2019-06-10 07:22:43 +0000 |
|---|---|---|
| committer | Mark Brown <[email protected]> | 2019-06-13 15:51:29 +0000 |
| commit | a75e91bad717fea43358e7f743de5f93c4e5978f (patch) | |
| tree | 7335b4583cf11b120a9ac447ea1f3e92f692c3d5 /drivers/spi/spi-stm32-qspi.c | |
| parent | spi: abort spi_sync if failed to prepare_transfer_hardware (diff) | |
| download | kernel-a75e91bad717fea43358e7f743de5f93c4e5978f.tar.gz kernel-a75e91bad717fea43358e7f743de5f93c4e5978f.zip | |
spi: qup: fix PIO/DMA transfers.
- DMA/PIO:
If an error IRQ occurred during PIO or DMA mode make sure to log it so
on completion the transfer can be marked as an error.
- PIO:
Do not complete a transaction until all data has been transferred or
an error IRQ was flagged.
1) If there was no error IRQ, ignore the done flag IRQ
(QUP_OP_MAX_INPUT_DONE_FLAG) until all data for the transfer has been
processed: not doing so risks completing the transfer returning
uninitialized data in the buffers.
2) Under stress testing we have identified the need to
protect read/write operations against spurious IN/OUT service events.
Signed-off-by: Jorge Ramirez-Ortiz <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
Diffstat (limited to 'drivers/spi/spi-stm32-qspi.c')
0 files changed, 0 insertions, 0 deletions
