diff options
Diffstat (limited to 'drivers/mmc/host/mmci.c')
-rw-r--r-- | drivers/mmc/host/mmci.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/mmc/host/mmci.c b/drivers/mmc/host/mmci.c index 2563792c01d0..bde170d8f723 100644 --- a/drivers/mmc/host/mmci.c +++ b/drivers/mmc/host/mmci.c | |||
@@ -224,10 +224,11 @@ static void mmci_start_data(struct mmci_host *host, struct mmc_data *data) | |||
224 | irqmask = MCI_RXFIFOHALFFULLMASK; | 224 | irqmask = MCI_RXFIFOHALFFULLMASK; |
225 | 225 | ||
226 | /* | 226 | /* |
227 | * If we have less than a FIFOSIZE of bytes to transfer, | 227 | * If we have less than the fifo 'half-full' threshold to |
228 | * trigger a PIO interrupt as soon as any data is available. | 228 | * transfer, trigger a PIO interrupt as soon as any data |
229 | * is available. | ||
229 | */ | 230 | */ |
230 | if (host->size < variant->fifosize) | 231 | if (host->size < variant->fifohalfsize) |
231 | irqmask |= MCI_RXDATAAVLBLMASK; | 232 | irqmask |= MCI_RXDATAAVLBLMASK; |
232 | } else { | 233 | } else { |
233 | /* | 234 | /* |
@@ -502,10 +503,10 @@ static irqreturn_t mmci_pio_irq(int irq, void *dev_id) | |||
502 | local_irq_restore(flags); | 503 | local_irq_restore(flags); |
503 | 504 | ||
504 | /* | 505 | /* |
505 | * If we're nearing the end of the read, switch to | 506 | * If we have less than the fifo 'half-full' threshold to transfer, |
506 | * "any data available" mode. | 507 | * trigger a PIO interrupt as soon as any data is available. |
507 | */ | 508 | */ |
508 | if (status & MCI_RXACTIVE && host->size < variant->fifosize) | 509 | if (status & MCI_RXACTIVE && host->size < variant->fifohalfsize) |
509 | mmci_set_mask1(host, MCI_RXDATAAVLBLMASK); | 510 | mmci_set_mask1(host, MCI_RXDATAAVLBLMASK); |
510 | 511 | ||
511 | /* | 512 | /* |