1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-13 03:20:00 +03:00

Register allocated DMA channels for dma show

This commit is contained in:
Steve Evans 2025-06-30 18:45:32 +01:00
parent dd9a51a108
commit f98298c22e
4 changed files with 11 additions and 4 deletions

View file

@ -302,7 +302,6 @@ void spiInitBusDMA(void)
// no more available channels so give up
return;
}
channel_rx = dma_claim_unused_channel(true);
if (channel_rx == -1) {
// no more available channels so give up, first releasing the one
@ -311,6 +310,14 @@ void spiInitBusDMA(void)
return;
}
if (!dmaAllocate(DMA_CHANNEL_TO_IDENTIFIER(channel_tx), OWNER_SPI_SDO, device + 1) ||
!dmaAllocate(DMA_CHANNEL_TO_IDENTIFIER(channel_rx), OWNER_SPI_SDI, device + 1)) {
// This should never happen if all allocated channels are claimed
dma_channel_unclaim(channel_tx);
dma_channel_unclaim(channel_rx);
return;
}
bus->dmaTx = &dmaDescriptors[DMA_CHANNEL_TO_INDEX(channel_tx)];
bus->dmaTx->channel = channel_tx;

View file

@ -47,7 +47,7 @@ dmaChannelDescriptor_t dmaDescriptors[DMA_LAST_HANDLER] = {
DEFINE_DMA_CHANNEL(DMA_CH9_HANDLER),
DEFINE_DMA_CHANNEL(DMA_CH10_HANDLER),
DEFINE_DMA_CHANNEL(DMA_CH11_HANDLER),
#ifdef RP2350
#if defined(RP2350A) || defined(RP2350B)
DEFINE_DMA_CHANNEL(DMA_CH12_HANDLER),
DEFINE_DMA_CHANNEL(DMA_CH13_HANDLER),
DEFINE_DMA_CHANNEL(DMA_CH14_HANDLER),

View file

@ -49,7 +49,7 @@ static dmaChannelSpec_t dmaChannelSpec[MAX_PERIPHERAL_DMA_OPTIONS] = {
DMA(10),
DMA(11),
DMA(12),
#ifdef RP2350
#if defined(RP2350A) || defined(RP2350B)
DMA(13),
DMA(14),
DMA(15),

View file

@ -39,7 +39,7 @@ typedef enum {
DMA_CH9_HANDLER,
DMA_CH10_HANDLER,
DMA_CH11_HANDLER,
#ifdef RP2350
#if defined(RP2350A) || defined(RP2350B)
DMA_CH12_HANDLER,
DMA_CH13_HANDLER,
DMA_CH14_HANDLER,