diff options
| author | Dario Nieuwenhuis <[email protected]> | 2023-10-12 00:34:47 +0200 |
|---|---|---|
| committer | Dario Nieuwenhuis <[email protected]> | 2023-10-12 16:20:34 +0200 |
| commit | 97ca0e77bf6e6f36aae18cb57fbfa8e583597327 (patch) | |
| tree | 20f7a2f1e27e0d30e530047e819b6efeaf2bd9cc /embassy-stm32/src/dma/mod.rs | |
| parent | 66e399b5c61653f1f66cd3fd1592936e4085d6b5 (diff) | |
stm32: avoid creating many tiny critical sections in init.
Saves 292 bytes on stm32f0 bilnky with max optimizations (from 3132 to 2840).
Diffstat (limited to 'embassy-stm32/src/dma/mod.rs')
| -rw-r--r-- | embassy-stm32/src/dma/mod.rs | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/embassy-stm32/src/dma/mod.rs b/embassy-stm32/src/dma/mod.rs index 4f1a58ae2..29fced8fc 100644 --- a/embassy-stm32/src/dma/mod.rs +++ b/embassy-stm32/src/dma/mod.rs | |||
| @@ -56,16 +56,17 @@ pub(crate) fn slice_ptr_parts_mut<T>(slice: *mut [T]) -> (usize, usize) { | |||
| 56 | 56 | ||
| 57 | // safety: must be called only once at startup | 57 | // safety: must be called only once at startup |
| 58 | pub(crate) unsafe fn init( | 58 | pub(crate) unsafe fn init( |
| 59 | cs: critical_section::CriticalSection, | ||
| 59 | #[cfg(bdma)] bdma_priority: Priority, | 60 | #[cfg(bdma)] bdma_priority: Priority, |
| 60 | #[cfg(dma)] dma_priority: Priority, | 61 | #[cfg(dma)] dma_priority: Priority, |
| 61 | #[cfg(gpdma)] gpdma_priority: Priority, | 62 | #[cfg(gpdma)] gpdma_priority: Priority, |
| 62 | ) { | 63 | ) { |
| 63 | #[cfg(bdma)] | 64 | #[cfg(bdma)] |
| 64 | bdma::init(bdma_priority); | 65 | bdma::init(cs, bdma_priority); |
| 65 | #[cfg(dma)] | 66 | #[cfg(dma)] |
| 66 | dma::init(dma_priority); | 67 | dma::init(cs, dma_priority); |
| 67 | #[cfg(gpdma)] | 68 | #[cfg(gpdma)] |
| 68 | gpdma::init(gpdma_priority); | 69 | gpdma::init(cs, gpdma_priority); |
| 69 | #[cfg(dmamux)] | 70 | #[cfg(dmamux)] |
| 70 | dmamux::init(); | 71 | dmamux::init(cs); |
| 71 | } | 72 | } |
