mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-11 07:24:46 +00:00
![]() Caleb Connolly <caleb.connolly@linaro.org> says: SCSI devices like UFS may maintain their own cache to speed up writes, however this is lost on board reset (and may be lost on device removal or reset by OS drivers). Currently this can be worked around by "waiting for a while" after writing data to disk, but of course this is not an acceptable solution. Ideally U-Boot would have a mechanism to flush caches during board reset, but until that logic is hooked up let's be sure that all writes are actually propagated to the storage device so that we don't lose data on board reset. The same logic was already implemented just for the AHCI backend, this duplicated logic has been removed and support for the SYNC_CACHE command is added to AHCI. This is particularly noticeable during capsule updates, since the update file is deleted and the board is reset immediately afterwards which resulted in the same capsule update being applied over and over again. This specifically fixes Qualcomm SDM845 devices with UFS 2.1, but likely all UFS devices that use a cache. Link: https://lore.kernel.org/r/20250326-scsi-sync-on-write-v2-0-12ab05bd464b@linaro.org |
||
---|---|---|
.. | ||
ahci-pci.c | ||
ahci-uclass.c | ||
ahci.c | ||
ahci_generic.c | ||
ahci_sunxi.c | ||
dwc_ahci.c | ||
dwc_ahsata.c | ||
dwc_ahsata_priv.h | ||
fsl_sata.c | ||
fsl_sata.h | ||
Kconfig | ||
libata.c | ||
Makefile | ||
mtk_ahci.c | ||
sata.c | ||
sata_bootdev.c | ||
sata_ceva.c | ||
sata_mv.c | ||
sata_sil.c | ||
sata_sil.h |