@@ -62,8 +62,10 @@ impl EphyReg {
6262 }
6363}
6464
65+ const ETHERNET_MTU : usize = 1500 ;
6566const NUM_TX_DESCRIPTORS : usize = 2 ;
6667const NUM_RX_DESCRIPTORS : usize = 10 ;
68+
6769static RX_DESCRIPTORS : [ RDES ; NUM_RX_DESCRIPTORS ] = [
6870 RDES :: new ( ) ,
6971 RDES :: new ( ) ,
@@ -78,12 +80,10 @@ static RX_DESCRIPTORS: [RDES; NUM_RX_DESCRIPTORS] = [
7880] ;
7981static TX_DESCRIPTORS : [ TDES ; NUM_TX_DESCRIPTORS ] = [ TDES :: new ( ) , TDES :: new ( ) ] ;
8082
81- const RX_BUFFER_SIZE : usize = 1536 ;
82- static mut RX_BUFFERS : [ [ u8 ; RX_BUFFER_SIZE ] ; NUM_RX_DESCRIPTORS ] =
83- [ [ 0 ; RX_BUFFER_SIZE ] ; NUM_RX_DESCRIPTORS ] ;
84- const TX_BUFFER_SIZE : usize = RX_BUFFER_SIZE ;
85- static mut TX_BUFFERS : [ [ u8 ; TX_BUFFER_SIZE ] ; NUM_TX_DESCRIPTORS ] =
86- [ [ 0 ; TX_BUFFER_SIZE ] ; NUM_TX_DESCRIPTORS ] ;
83+ static mut RX_BUFFERS : [ [ u8 ; ETHERNET_MTU ] ; NUM_RX_DESCRIPTORS ] =
84+ [ [ 0 ; ETHERNET_MTU ] ; NUM_RX_DESCRIPTORS ] ;
85+ static mut TX_BUFFERS : [ [ u8 ; ETHERNET_MTU ] ; NUM_TX_DESCRIPTORS ] =
86+ [ [ 0 ; ETHERNET_MTU ] ; NUM_TX_DESCRIPTORS ] ;
8787
8888fn emac_reset ( emac0 : & EMAC0 ) {
8989 emac0. dmabusmod . modify ( |_, w| w. swr ( ) . set_bit ( ) ) ;
@@ -338,8 +338,7 @@ impl EthernetDevice {
338338 RX_DESCRIPTORS [ i] . rdes0 . write ( |w| w. own ( ) . set_bit ( ) ) ;
339339 RX_DESCRIPTORS [ i] . rdes1 . write ( |w| {
340340 w. bits (
341- DES1_RX_CTRL_CHAINED
342- | ( ( RX_BUFFER_SIZE as u32 ) << DES1_RX_CTRL_BUFF1_SIZE_S ) ,
341+ DES1_RX_CTRL_CHAINED | ( ( ETHERNET_MTU as u32 ) << DES1_RX_CTRL_BUFF1_SIZE_S ) ,
343342 )
344343 } ) ;
345344 RX_DESCRIPTORS [ i]
@@ -428,7 +427,7 @@ impl<'a> Device<'a> for EthernetDevice {
428427 fn capabilities ( & self ) -> DeviceCapabilities {
429428 let mut cap = DeviceCapabilities :: default ( ) ;
430429
431- cap. max_transmission_unit = TX_BUFFER_SIZE ;
430+ cap. max_transmission_unit = ETHERNET_MTU ;
432431 cap. max_burst_size = Some ( NUM_TX_DESCRIPTORS ) ;
433432
434433 cap. checksum = ChecksumCapabilities :: default ( ) ;
@@ -471,7 +470,7 @@ impl<'a> phy::RxToken for RxToken<'a> {
471470
472471 let len = ( ( descriptor. rdes0 . read ( ) . bits ( ) & DES0_RX_STAT_FRAME_LENGTH_M )
473472 >> DES0_RX_STAT_FRAME_LENGTH_S ) as usize ;
474- assert ! ( len <= RX_BUFFER_SIZE ) ;
473+ assert ! ( len <= ETHERNET_MTU ) ;
475474 let data =
476475 unsafe { core:: slice:: from_raw_parts ( descriptor. rdes2 . read ( ) . bits ( ) as * mut u8 , len) } ;
477476
@@ -496,7 +495,7 @@ impl<'a> phy::TxToken for TxToken<'a> {
496495 {
497496 let descriptor = * self . descriptor_pointer ;
498497
499- assert ! ( len <= TX_BUFFER_SIZE ) ;
498+ assert ! ( len <= ETHERNET_MTU ) ;
500499
501500 let data = unsafe {
502501 core:: slice:: from_raw_parts_mut ( descriptor. tdes2 . read ( ) . bits ( ) as * mut u8 , len)
0 commit comments