@@ -1413,7 +1413,7 @@ where
1413
1413
let ( buf_ptr, buf_len) = buf;
1414
1414
1415
1415
// Set the memory address
1416
- stream. set_memory_address ( buf_ptr as u32 ) ;
1416
+ stream. set_memory_address ( buf_ptr) ;
1417
1417
1418
1418
let is_mem2mem = DIR :: direction ( ) == DmaDirection :: MemoryToMemory ;
1419
1419
if is_mem2mem {
@@ -1431,9 +1431,9 @@ where
1431
1431
let db_len = if let Some ( ( db_ptr, db_len) ) = db {
1432
1432
if is_mem2mem {
1433
1433
// Double buffer is the source in mem2mem mode
1434
- stream. set_peripheral_address ( db_ptr as u32 ) ;
1434
+ stream. set_peripheral_address ( db_ptr) ;
1435
1435
} else {
1436
- stream. set_memory_double_buffer_address ( db_ptr as u32 ) ;
1436
+ stream. set_memory_double_buffer_address ( db_ptr) ;
1437
1437
}
1438
1438
Some ( db_len)
1439
1439
} else {
@@ -1445,9 +1445,9 @@ where
1445
1445
} ;
1446
1446
1447
1447
let n_transfers = if let Some ( db) = db_len {
1448
- buf_len. min ( db) as u16
1448
+ buf_len. min ( db)
1449
1449
} else {
1450
- buf_len as u16
1450
+ buf_len
1451
1451
} ;
1452
1452
stream. set_number_of_transfers ( n_transfers) ;
1453
1453
@@ -1477,10 +1477,10 @@ where
1477
1477
if STREAM :: current_buffer ( ) == CurrentBuffer :: DoubleBuffer {
1478
1478
// "Preceding reads and writes cannot be moved past subsequent writes"
1479
1479
compiler_fence ( Ordering :: Release ) ;
1480
- self . stream . set_memory_address ( new_buf_ptr as u32 ) ;
1480
+ self . stream . set_memory_address ( new_buf_ptr) ;
1481
1481
1482
1482
// Check if an overrun occurred, the buffer address won't be updated in that case
1483
- if self . stream . get_memory_address ( ) != new_buf_ptr as u32 {
1483
+ if self . stream . get_memory_address ( ) != new_buf_ptr {
1484
1484
self . stream . clear_transfer_complete_interrupt ( ) ;
1485
1485
return Err ( DMAError :: Overrun ( new_buf) ) ;
1486
1486
}
@@ -1495,11 +1495,10 @@ where
1495
1495
} else {
1496
1496
// "Preceding reads and writes cannot be moved past subsequent writes"
1497
1497
compiler_fence ( Ordering :: Release ) ;
1498
- self . stream
1499
- . set_memory_double_buffer_address ( new_buf_ptr as u32 ) ;
1498
+ self . stream . set_memory_double_buffer_address ( new_buf_ptr) ;
1500
1499
1501
1500
// Check if an overrun occurred, the buffer address won't be updated in that case
1502
- if self . stream . get_memory_double_buffer_address ( ) != new_buf_ptr as u32 {
1501
+ if self . stream . get_memory_double_buffer_address ( ) != new_buf_ptr {
1503
1502
self . stream . clear_transfer_complete_interrupt ( ) ;
1504
1503
return Err ( DMAError :: Overrun ( new_buf) ) ;
1505
1504
}
@@ -1520,8 +1519,8 @@ where
1520
1519
compiler_fence ( Ordering :: SeqCst ) ;
1521
1520
1522
1521
let ( buf_ptr, buf_len) = ptr_and_len;
1523
- self . stream . set_memory_address ( buf_ptr as u32 ) ;
1524
- self . stream . set_number_of_transfers ( buf_len as u16 ) ;
1522
+ self . stream . set_memory_address ( buf_ptr) ;
1523
+ self . stream . set_number_of_transfers ( buf_len) ;
1525
1524
let old_buf = self . buf . replace ( new_buf) ;
1526
1525
1527
1526
unsafe {
@@ -1566,11 +1565,11 @@ where
1566
1565
if current_buffer == CurrentBuffer :: DoubleBuffer {
1567
1566
// "Preceding reads and writes cannot be moved past subsequent writes"
1568
1567
compiler_fence ( Ordering :: Release ) ;
1569
- self . stream . set_memory_address ( new_buf_ptr as u32 ) ;
1568
+ self . stream . set_memory_address ( new_buf_ptr) ;
1570
1569
1571
1570
// Check again if an overrun occurred, the buffer address won't be updated in that
1572
1571
// case
1573
- if self . stream . get_memory_address ( ) != new_buf_ptr as u32 {
1572
+ if self . stream . get_memory_address ( ) != new_buf_ptr {
1574
1573
panic ! ( "Overrun" ) ;
1575
1574
}
1576
1575
@@ -1581,10 +1580,9 @@ where
1581
1580
} else {
1582
1581
// "Preceding reads and writes cannot be moved past subsequent writes"
1583
1582
compiler_fence ( Ordering :: Release ) ;
1584
- self . stream
1585
- . set_memory_double_buffer_address ( new_buf_ptr as u32 ) ;
1583
+ self . stream . set_memory_double_buffer_address ( new_buf_ptr) ;
1586
1584
1587
- if self . stream . get_memory_double_buffer_address ( ) != new_buf_ptr as u32 {
1585
+ if self . stream . get_memory_double_buffer_address ( ) != new_buf_ptr {
1588
1586
panic ! ( "Overrun" ) ;
1589
1587
}
1590
1588
@@ -1596,8 +1594,8 @@ where
1596
1594
return ;
1597
1595
}
1598
1596
let ( buf_ptr, buf_len) = ptr_and_len;
1599
- self . stream . set_memory_address ( buf_ptr as u32 ) ;
1600
- self . stream . set_number_of_transfers ( buf_len as u16 ) ;
1597
+ self . stream . set_memory_address ( buf_ptr) ;
1598
+ self . stream . set_number_of_transfers ( buf_len) ;
1601
1599
self . buf . replace ( new_buf) ;
1602
1600
1603
1601
self . stream . enable ( ) ;
0 commit comments