diff options
author | Thangaraj Samynathan <thangaraj.s@microchip.com> | 2025-06-24 09:00:28 +0530 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2025-06-24 13:14:30 +0100 |
commit | 3e36c822506d924894ff7de549b9377d3114c2d7 (patch) | |
tree | 4449c9cdf753120eba0ed36cff894afa00fcd0af /rust/helpers/task.c | |
parent | 1256eb42db5d1635f4c6da5b1b58db0b53320883 (diff) |
spi: spi-pci1xxxx: Add support for per-instance DMA interrupt vectors
Add support for dedicated DMA interrupt vectors for each SPI hardware
instance in the pci1xxxx driver. This improves scalability and interrupt
handling for systems using multiple SPI instances with DMA.
Introduce a constant `NUM_VEC_PER_INST` to define the number of IRQ
vectors per instance (main, DMA write, DMA read). Update the
`pci1xxxx_spi_internal` structure to use an IRQ array.
Refactor IRQ allocation and DMA initialization logic:
- Assign separate IRQ vectors for DMA read and write interrupts.
- Split the original DMA ISR into two handlers:
`pci1xxxx_spi_isr_dma_rd` and `pci1xxxx_spi_isr_dma_wr`.
- Configure IMWR registers per instance using cached MSI data.
- Move DMA register configuration into a new helper function,
`pci1xxxx_spi_dma_config()`.
Invoke the DMA initialization after all instances are configured to
ensure correct IRQ vector mapping.
Signed-off-by: Thangaraj Samynathan <thangaraj.s@microchip.com>
Link: https://patch.msgid.link/20250624033028.74389-1-thangaraj.s@microchip.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'rust/helpers/task.c')
0 files changed, 0 insertions, 0 deletions