ソースを参照

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>
Russell King 14 年 前
コミット
7d7aa23cf0
1 ファイル変更0 行追加19 行削除
  1. 0 19
      drivers/mmc/host/mmci.c

+ 0 - 19
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);