linguini1 opened a new pull request, #19427:
URL: https://github.com/apache/nuttx/pull/19427

   ## Summary
   
   The commit summaries are as follows:
   
   ### boards/raspberrypi-4b: Fix nxinit configuration SD issues
   
   Propagate the solution for SD card bugs to the nxinit configuration,
   which also uses the nxinit configuration.
   
   ### docs/raspberrypi-4b: Documentation about the SD card updated
   
   Updated the documentation to reflect the fix of buggy SD card behaviour
   at the sacrifice of slower performance.
   
   ### boards/raspberrypi-4b: Bug fix for broken SD card behaviour
   
   Introduces a fixed configuration for the SD card that does not break for
   multi-block transfers.
   
   ### bcm2711/sdio: Moderate improvement to multi-block transfers
   
   I document the issues encountered with multi-block transfers, namely the
   block count failing to be set correctly. Even though I did test with
   that issue corrected, it required modifications to the upper-half MMCSD
   driver which I am not prepared to test. It also did not fix the time-out
   on multi-block transfers, likely because the method of verifying FIFOs
   have space to write is finicky. For now, limiting the block count of
   transfers resolves the bug!
   
   ### bcm2711/mailbox: Invalidate cache before read
   
   Cache must be invalidated before the buffer is read since the
   VideoCore's write will not invalidate the cache.
   
   ## Impact
   
   Closes #17255.
   Closes #17256.
   
   Part of my GSoC milestone for stabilizing support: #18507
   
   Now we can use the SD card without experiencing timeout errors.
   
   ## Testing
   
   Tested the updated configuration with sdstress:
   
   ```console
   nsh> ls /sd                                                                  
                                             
   /sd:                                                                         
                                             
    bcm2711-rpi-4-b.dtb                                                         
                                             
    fixup4.dat                                                                  
                                             
    fixup4cd.dat                                                                
                                             
    fixup4db.dat                                                                
                                             
    fixup4x.dat                                                                 
                                             
    start4.elf                                                                  
                                             
    start4cd.elf                                                                
                                             
    start4db.elf                                                                
                                             
    start4x.elf                                                                 
                                             
    config.txt                                                                  
                                             
    nuttx.bin                                                                   
                                             
   nsh> sdstress                                                                
                                             
   Start stress test with 64 files, 4096 bytes and 32 iterations.               
                                             
   iteration 0 took 87742.000 ms: OK                                            
                                             
   iteration 1 took 86086.000 ms: OK                                            
                                             
   iteration 2 took 86198.000 ms: OK                                            
                                             
   iteration 3 took 85981.000 ms: OK                                            
                                             
   iteration 4 took 85996.000 ms: OK                                            
                                             
   iteration 5 took 86025.000 ms: OK                                            
                                             
   iteration 6 took 86043.000 ms: OK                                            
                                             
   iteration 7 took 86064.000 ms: OK                                            
                                             
   iteration 8 took 86075.000 ms: OK                                            
                                             
   iteration 9 took 86088.000 ms: OK                                            
                                             
   iteration 10 took 86102.000 ms: OK                                           
                                             
   iteration 11 took 86218.000 ms: OK                                           
                                             
   iteration 12 took 86132.000 ms: OK                                           
                                             
   iteration 13 took 86148.000 ms: OK                                           
                                             
   iteration 14 took 86149.000 ms: OK             
   ...                                                                          
 
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to