aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2006-02-17 08:12:08 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2006-02-17 08:12:08 -0800
commit7054ec7f86cada917626c05fe461abccca816d3b (patch)
tree5c5e0710e9bce24e6c8b720fc31cfbe6173fac1c /drivers
parent[PATCH] x86_64: Always pass full number of nodes to NUMA hash computation (diff)
parent[MMC] mmci: allow small data transfers (diff)
downloadlinux-dev-7054ec7f86cada917626c05fe461abccca816d3b.tar.xz
linux-dev-7054ec7f86cada917626c05fe461abccca816d3b.zip
Merge master.kernel.org:/home/rmk/linux-2.6-mmc
Diffstat (limited to 'drivers')
-rw-r--r--drivers/mmc/mmci.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/mmc/mmci.c b/drivers/mmc/mmci.c
index 37ee7f8dc82f..9fef29d978b5 100644
--- a/drivers/mmc/mmci.c
+++ b/drivers/mmc/mmci.c
@@ -97,6 +97,13 @@ static void mmci_start_data(struct mmci_host *host, struct mmc_data *data)
if (data->flags & MMC_DATA_READ) {
datactrl |= MCI_DPSM_DIRECTION;
irqmask = MCI_RXFIFOHALFFULLMASK;
+
+ /*
+ * If we have less than a FIFOSIZE of bytes to transfer,
+ * trigger a PIO interrupt as soon as any data is available.
+ */
+ if (host->size < MCI_FIFOSIZE)
+ irqmask |= MCI_RXDATAAVLBLMASK;
} else {
/*
* We don't actually need to include "FIFO empty" here