aboutsummaryrefslogtreecommitdiff
path: root/embassy-rp/src/dma.rs
diff options
context:
space:
mode:
Diffstat (limited to 'embassy-rp/src/dma.rs')
-rw-r--r--embassy-rp/src/dma.rs9
1 files changed, 5 insertions, 4 deletions
diff --git a/embassy-rp/src/dma.rs b/embassy-rp/src/dma.rs
index 1cbb4651a..25819f03e 100644
--- a/embassy-rp/src/dma.rs
+++ b/embassy-rp/src/dma.rs
@@ -4,14 +4,15 @@ use core::pin::Pin;
4use core::sync::atomic::{compiler_fence, Ordering}; 4use core::sync::atomic::{compiler_fence, Ordering};
5use core::task::{Context, Poll}; 5use core::task::{Context, Poll};
6 6
7use embassy_cortex_m::interrupt::Interrupt;
8use embassy_hal_common::{impl_peripheral, into_ref, Peripheral, PeripheralRef}; 7use embassy_hal_common::{impl_peripheral, into_ref, Peripheral, PeripheralRef};
9use embassy_sync::waitqueue::AtomicWaker; 8use embassy_sync::waitqueue::AtomicWaker;
10use pac::dma::vals::DataSize; 9use pac::dma::vals::DataSize;
11 10
11use crate::interrupt::InterruptExt;
12use crate::pac::dma::vals; 12use crate::pac::dma::vals;
13use crate::{interrupt, pac, peripherals}; 13use crate::{interrupt, pac, peripherals};
14 14
15#[cfg(feature = "rt")]
15#[interrupt] 16#[interrupt]
16unsafe fn DMA_IRQ_0() { 17unsafe fn DMA_IRQ_0() {
17 let ints0 = pac::DMA.ints0().read().ints0(); 18 let ints0 = pac::DMA.ints0().read().ints0();
@@ -29,12 +30,12 @@ unsafe fn DMA_IRQ_0() {
29} 30}
30 31
31pub(crate) unsafe fn init() { 32pub(crate) unsafe fn init() {
32 interrupt::DMA_IRQ_0::disable(); 33 interrupt::DMA_IRQ_0.disable();
33 interrupt::DMA_IRQ_0::set_priority(interrupt::Priority::P3); 34 interrupt::DMA_IRQ_0.set_priority(interrupt::Priority::P3);
34 35
35 pac::DMA.inte0().write(|w| w.set_inte0(0xFFFF)); 36 pac::DMA.inte0().write(|w| w.set_inte0(0xFFFF));
36 37
37 interrupt::DMA_IRQ_0::enable(); 38 interrupt::DMA_IRQ_0.enable();
38} 39}
39 40
40pub unsafe fn read<'a, C: Channel, W: Word>( 41pub unsafe fn read<'a, C: Channel, W: Word>(