diff options
Diffstat (limited to 'drivers/mmc/host/tmio_mmc.h')
| -rw-r--r-- | drivers/mmc/host/tmio_mmc.h | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/drivers/mmc/host/tmio_mmc.h b/drivers/mmc/host/tmio_mmc.h index 64f7d5dfc106..0fedc78e3ea5 100644 --- a/drivers/mmc/host/tmio_mmc.h +++ b/drivers/mmc/host/tmio_mmc.h | |||
| @@ -82,10 +82,7 @@ | |||
| 82 | 82 | ||
| 83 | #define ack_mmc_irqs(host, i) \ | 83 | #define ack_mmc_irqs(host, i) \ |
| 84 | do { \ | 84 | do { \ |
| 85 | u32 mask;\ | 85 | sd_ctrl_write32((host), CTL_STATUS, ~(i)); \ |
| 86 | mask = sd_ctrl_read32((host), CTL_STATUS); \ | ||
| 87 | mask &= ~((i) & TMIO_MASK_IRQ); \ | ||
| 88 | sd_ctrl_write32((host), CTL_STATUS, mask); \ | ||
| 89 | } while (0) | 86 | } while (0) |
| 90 | 87 | ||
| 91 | 88 | ||
| @@ -177,19 +174,17 @@ static inline int tmio_mmc_next_sg(struct tmio_mmc_host *host) | |||
| 177 | return --host->sg_len; | 174 | return --host->sg_len; |
| 178 | } | 175 | } |
| 179 | 176 | ||
| 180 | static inline char *tmio_mmc_kmap_atomic(struct tmio_mmc_host *host, | 177 | static inline char *tmio_mmc_kmap_atomic(struct scatterlist *sg, |
| 181 | unsigned long *flags) | 178 | unsigned long *flags) |
| 182 | { | 179 | { |
| 183 | struct scatterlist *sg = host->sg_ptr; | ||
| 184 | |||
| 185 | local_irq_save(*flags); | 180 | local_irq_save(*flags); |
| 186 | return kmap_atomic(sg_page(sg), KM_BIO_SRC_IRQ) + sg->offset; | 181 | return kmap_atomic(sg_page(sg), KM_BIO_SRC_IRQ) + sg->offset; |
| 187 | } | 182 | } |
| 188 | 183 | ||
| 189 | static inline void tmio_mmc_kunmap_atomic(struct tmio_mmc_host *host, | 184 | static inline void tmio_mmc_kunmap_atomic(void *virt, |
| 190 | unsigned long *flags) | 185 | unsigned long *flags) |
| 191 | { | 186 | { |
| 192 | kunmap_atomic(sg_page(host->sg_ptr), KM_BIO_SRC_IRQ); | 187 | kunmap_atomic(virt, KM_BIO_SRC_IRQ); |
| 193 | local_irq_restore(*flags); | 188 | local_irq_restore(*flags); |
| 194 | } | 189 | } |
| 195 | 190 | ||
