diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-01-27 09:46:29 (GMT) |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-02-04 13:25:47 (GMT) |
commit | 7d7aa23cf0700f4025cb61bd1ac517ccf79bd460 (patch) | |
tree | cffbfda462ba6841b3adadf5ef82c749b1f625e3 /drivers | |
parent | c8afc9d59ce1100d3f7704e86fda5a25361c45bf (diff) | |
download | linux-7d7aa23cf0700f4025cb61bd1ac517ccf79bd460.tar.xz |
ARM: mmci: no need to call flush_dcache_page() with sg_miter API
The sg_miter API provides the required cache maintainence, so we don't
need to do that ourselves. Remove the unnecessary additional cache
maintainence.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/mmc/host/mmci.c | 19 |
1 files changed, 0 insertions, 19 deletions
diff --git a/drivers/mmc/host/mmci.c b/drivers/mmc/host/mmci.c index d7b83a8..2563792 100644 --- a/drivers/mmc/host/mmci.c +++ b/drivers/mmc/host/mmci.c @@ -311,22 +311,6 @@ mmci_data_irq(struct mmci_host *host, struct mmc_data *data, data->error = -EIO; } host->data_xfered = round_down(success, data->blksz); - - /* - * We hit an error condition. Ensure that any data - * partially written to a page is properly coherent. - */ - if (data->flags & MMC_DATA_READ) { - struct sg_mapping_iter *sg_miter = &host->sg_miter; - unsigned long flags; - - local_irq_save(flags); - if (sg_miter_next(sg_miter)) { - flush_dcache_page(sg_miter->page); - sg_miter_stop(sg_miter); - } - local_irq_restore(flags); - } } if (status & MCI_DATABLOCKEND) @@ -510,9 +494,6 @@ static irqreturn_t mmci_pio_irq(int irq, void *dev_id) if (remain) break; - if (status & MCI_RXACTIVE) - flush_dcache_page(sg_miter->page); - status = readl(base + MMCISTATUS); } while (1); |