summaryrefslogtreecommitdiffstats
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
parent2aed711a399cbc4a9bf239c13f05a8a8b460f215 (diff)
parent0425a14213f373595bd23cacdc675f2b973a28d4 (diff)
downloadlinux-7054ec7f86cada917626c05fe461abccca816d3b.tar.bz2
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