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>
master
Tang Yuantian 9 years ago committed by Tom Rini
parent e3a46e3ee2
commit 75e14b1ac8
  1. 1
      drivers/block/ahci.c

@ -1061,6 +1061,7 @@ static int ata_io_flush(u8 port)
memcpy((unsigned char *)pp->cmd_tbl, fis, 20); memcpy((unsigned char *)pp->cmd_tbl, fis, 20);
ahci_fill_cmd_slot(pp, cmd_fis_len); ahci_fill_cmd_slot(pp, cmd_fis_len);
ahci_dcache_flush_sata_cmd(pp);
writel_with_flush(1, port_mmio + PORT_CMD_ISSUE); writel_with_flush(1, port_mmio + PORT_CMD_ISSUE);
if (waiting_for_cmd_completed(port_mmio + PORT_CMD_ISSUE, if (waiting_for_cmd_completed(port_mmio + PORT_CMD_ISSUE,

Loading…
Cancel
Save