Let start_write_repeated accept pointer instead of slice
This commit is contained in:
		
							parent
							
								
									662bb5797f
								
							
						
					
					
						commit
						e9a2c4a9e3
					
				| @ -78,7 +78,7 @@ foreach_dma_channel! { | |||||||
|                 ); |                 ); | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|             unsafe fn start_write_repeated<W: Word>(&mut self, _request: Request, repeated: &[W; 1], count: usize, reg_addr: *mut W, options: TransferOptions) { |             unsafe fn start_write_repeated<W: Word>(&mut self, _request: Request, repeated: *const [W], count: usize, reg_addr: *mut W, options: TransferOptions) { | ||||||
|                 low_level_api::start_transfer( |                 low_level_api::start_transfer( | ||||||
|                     pac::$dma_peri, |                     pac::$dma_peri, | ||||||
|                     $channel_num, |                     $channel_num, | ||||||
| @ -86,7 +86,7 @@ foreach_dma_channel! { | |||||||
|                     _request, |                     _request, | ||||||
|                     vals::Dir::FROMMEMORY, |                     vals::Dir::FROMMEMORY, | ||||||
|                     reg_addr as *const u32, |                     reg_addr as *const u32, | ||||||
|                     repeated.as_ptr() as *mut u32, |                     repeated as *mut u32, | ||||||
|                     count, |                     count, | ||||||
|                     false, |                     false, | ||||||
|                     vals::Size::from(W::bits()), |                     vals::Size::from(W::bits()), | ||||||
|  | |||||||
| @ -102,14 +102,14 @@ foreach_dma_channel! { | |||||||
|                 ) |                 ) | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|             unsafe fn start_write_repeated<W: Word>(&mut self, request: Request, repeated: &[W; 1], count: usize, reg_addr: *mut W, options: TransferOptions) { |             unsafe fn start_write_repeated<W: Word>(&mut self, request: Request, repeated: *const [W], count: usize, reg_addr: *mut W, options: TransferOptions) { | ||||||
|                 low_level_api::start_transfer( |                 low_level_api::start_transfer( | ||||||
|                     pac::$dma_peri, |                     pac::$dma_peri, | ||||||
|                     $channel_num, |                     $channel_num, | ||||||
|                     request, |                     request, | ||||||
|                     vals::Dir::MEMORYTOPERIPHERAL, |                     vals::Dir::MEMORYTOPERIPHERAL, | ||||||
|                     reg_addr as *const u32, |                     reg_addr as *const u32, | ||||||
|                     repeated.as_ptr() as *mut u32, |                     repeated as *mut u32, | ||||||
|                     count, |                     count, | ||||||
|                     false, |                     false, | ||||||
|                     vals::Size::from(W::bits()), |                     vals::Size::from(W::bits()), | ||||||
|  | |||||||
| @ -75,14 +75,14 @@ foreach_dma_channel! { | |||||||
|                 ) |                 ) | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|             unsafe fn start_write_repeated<W: Word>(&mut self, request: Request, repeated: &[W; 1], count: usize, reg_addr: *mut W, options: TransferOptions) { |             unsafe fn start_write_repeated<W: Word>(&mut self, request: Request, repeated: *const [W], count: usize, reg_addr: *mut W, options: TransferOptions) { | ||||||
|                 low_level_api::start_transfer( |                 low_level_api::start_transfer( | ||||||
|                     pac::$dma_peri, |                     pac::$dma_peri, | ||||||
|                     $channel_num, |                     $channel_num, | ||||||
|                     request, |                     request, | ||||||
|                     low_level_api::Dir::MemoryToPeripheral, |                     low_level_api::Dir::MemoryToPeripheral, | ||||||
|                     reg_addr as *const u32, |                     reg_addr as *const u32, | ||||||
|                     repeated.as_ptr() as *mut u32, |                     repeated as *mut u32, | ||||||
|                     count, |                     count, | ||||||
|                     false, |                     false, | ||||||
|                     W::bits(), |                     W::bits(), | ||||||
|  | |||||||
| @ -59,7 +59,7 @@ pub(crate) mod sealed { | |||||||
|         unsafe fn start_write_repeated<W: super::Word>( |         unsafe fn start_write_repeated<W: super::Word>( | ||||||
|             &mut self, |             &mut self, | ||||||
|             request: Request, |             request: Request, | ||||||
|             repeated: &[W; 1], |             repeated: *const [W], | ||||||
|             count: usize, |             count: usize, | ||||||
|             reg_addr: *mut W, |             reg_addr: *mut W, | ||||||
|             options: TransferOptions, |             options: TransferOptions, | ||||||
| @ -246,7 +246,7 @@ mod transfers { | |||||||
|     pub fn write_repeated<'a, W: Word>( |     pub fn write_repeated<'a, W: Word>( | ||||||
|         channel: impl Peripheral<P = impl Channel> + 'a, |         channel: impl Peripheral<P = impl Channel> + 'a, | ||||||
|         request: Request, |         request: Request, | ||||||
|         repeated: &[W; 1], |         repeated: *const [W], | ||||||
|         count: usize, |         count: usize, | ||||||
|         reg_addr: *mut W, |         reg_addr: *mut W, | ||||||
|     ) -> impl Future<Output = ()> + 'a { |     ) -> impl Future<Output = ()> + 'a { | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user