Lei Wen schrieb: >>>> Where does this limitation supposedly come from? >>> This limitation comes from the SD/MMC sepc. You could find one and >>> check the 0x6 offset register(BLOCK COUNT REGISTER). >> This might refer to certain HOST controllers, but not to Cards! > > You are right, this comes from HOST, not card. But since the host spec > define so, then is there any host don't follow the sepc? ...
Any that use bit banging, or SPI, and at least: ATMELs MCI. Probably any number of others that do not copy Intel/PC centered register structures... If you had read my first mail on this, there was an example of a 98304 blocks transfer... > >> And you still do not explain why the buffer size shall be limited to 512KB? > > The 512 KB comes from the SDMA boundary, and this value is also adopt by > Linux. > You could refer to drivers/mmc/host/sdhci.c in Linux code. What hardware, again? sdhci.c? SDMA? You are trying to change a GENERIC function of U-Boot here to suit a particular hardware, not a particular hardware driver. As such, changes should be generic/configurable and not suited to a specific hardware. If a specific hardware needs the generic part to obey some limitations, those limitations should be configurable, like maybe: #define CONFIG_SYS_MMC_BLOCKLIMIT 65535 #define CONFIG_SYS_MMC_BUFFERLIMIT (512<<10) Or maybe the splitting/chunking could be resolved in the hardware driver? Also a clarification of those reasons in the patch comment would be appropriate. That's my 2 cents for this. Let the community decide if there shall be a general limitation be put into the generic part... Best Regards, Reinhard _______________________________________________ U-Boot mailing list [email protected] http://lists.denx.de/mailman/listinfo/u-boot

