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]
