*/
mci_writel(slot->host, PWREN, 0x0);
mci_writel(slot->host, RST_N, 0x0);
- dsb();
+ dsb(sy);
udelay(10); /* 10us for bad quality eMMc. */
mci_writel(slot->host, PWREN, 0x1);
mci_writel(slot->host, RST_N, 0x1);
- dsb();
+ dsb(sy);
usleep_range(500, 1000); /* at least 500(> 200us) */
}
struct block_settings *blk_settings;
};
#define grf_writel(v, offset) do \
- { writel_relaxed(v, RK_GRF_VIRT + offset); dsb(); } \
+ { writel_relaxed(v, RK_GRF_VIRT + offset); dsb(sy); } \
while (0)
#endif /* LINUX_MMC_DW_MMC_H */