diff options
author | Tang Yuantian <Yuantian.Tang@nxp.com> | 2016-04-14 16:21:00 +0800 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2016-04-18 17:11:48 -0400 |
commit | 75e14b1ac87564f1f2f7401828c3fefd316e818f (patch) | |
tree | 28f4799f0680472a2b13d7b830e0d5d8c5a559df /drivers/block | |
parent | e3a46e3ee22876606254560ec4c10903074475c2 (diff) | |
download | u-boot-75e14b1ac87564f1f2f7401828c3fefd316e818f.zip u-boot-75e14b1ac87564f1f2f7401828c3fefd316e818f.tar.gz u-boot-75e14b1ac87564f1f2f7401828c3fefd316e818f.tar.bz2 |
ahci: flush dcache before issuing command
Ensure data the following sata command used is flushed out of dcache
and written to physical memory or timeout error may happen.
Signed-off-by: Tang Yuantian <yuantian.tang@nxp.com>
Diffstat (limited to 'drivers/block')
-rw-r--r-- | drivers/block/ahci.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/block/ahci.c b/drivers/block/ahci.c index d29642b..e3e783a 100644 --- a/drivers/block/ahci.c +++ b/drivers/block/ahci.c @@ -1061,6 +1061,7 @@ static int ata_io_flush(u8 port) memcpy((unsigned char *)pp->cmd_tbl, fis, 20); ahci_fill_cmd_slot(pp, cmd_fis_len); + ahci_dcache_flush_sata_cmd(pp); writel_with_flush(1, port_mmio + PORT_CMD_ISSUE); if (waiting_for_cmd_completed(port_mmio + PORT_CMD_ISSUE, |