From 48e7d296866ce7fe012db3a6c45756143a25c91e Mon Sep 17 00:00:00 2001 From: Martin Stein Date: Thu, 22 Oct 2015 16:29:02 +0200 Subject: [PATCH] sd_card & imx53: flush ADMA2 writes via DSB We have to issue a data synchronization barrier after writing a ADMA2 table to ensure that the corresponding write commands were actually executed before issuing the SD command. Ref #1497 --- repos/os/src/drivers/sd_card/spec/imx53/esdhcv2.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/repos/os/src/drivers/sd_card/spec/imx53/esdhcv2.h b/repos/os/src/drivers/sd_card/spec/imx53/esdhcv2.h index d6c688e89..c16cb40c4 100644 --- a/repos/os/src/drivers/sd_card/spec/imx53/esdhcv2.h +++ b/repos/os/src/drivers/sd_card/spec/imx53/esdhcv2.h @@ -112,6 +112,8 @@ namespace Adma2 _base_virt[index] = desc; consumed += curr; } + /* ensure that all descriptor writes were actually executed */ + asm volatile ("dsb"); return true; }