aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/mmc/host/dw_mmc.h19
1 files changed, 9 insertions, 10 deletions
diff --git a/drivers/mmc/host/dw_mmc.h b/drivers/mmc/host/dw_mmc.h
index 1424bd490dd1..9c7085ab63df 100644
--- a/drivers/mmc/host/dw_mmc.h
+++ b/drivers/mmc/host/dw_mmc.h
@@ -65,8 +65,7 @@ struct dw_mci_dma_slave {
65 * @fifo_reg: Pointer to MMIO registers for data FIFO 65 * @fifo_reg: Pointer to MMIO registers for data FIFO
66 * @sg: Scatterlist entry currently being processed by PIO code, if any. 66 * @sg: Scatterlist entry currently being processed by PIO code, if any.
67 * @sg_miter: PIO mapping scatterlist iterator. 67 * @sg_miter: PIO mapping scatterlist iterator.
68 * @cur_slot: The slot which is currently using the controller. 68 * @mrq: The request currently being processed on @slot,
69 * @mrq: The request currently being processed on @cur_slot,
70 * or NULL if the controller is idle. 69 * or NULL if the controller is idle.
71 * @cmd: The command currently being sent to the card, or NULL. 70 * @cmd: The command currently being sent to the card, or NULL.
72 * @data: The data currently being transferred, or NULL if no data 71 * @data: The data currently being transferred, or NULL if no data
@@ -102,7 +101,6 @@ struct dw_mci_dma_slave {
102 * @bus_hz: The rate of @mck in Hz. This forms the basis for MMC bus 101 * @bus_hz: The rate of @mck in Hz. This forms the basis for MMC bus
103 * rate and timeout calculations. 102 * rate and timeout calculations.
104 * @current_speed: Configured rate of the controller. 103 * @current_speed: Configured rate of the controller.
105 * @num_slots: Number of slots available.
106 * @fifoth_val: The value of FIFOTH register. 104 * @fifoth_val: The value of FIFOTH register.
107 * @verid: Denote Version ID. 105 * @verid: Denote Version ID.
108 * @dev: Device associated with the MMC controller. 106 * @dev: Device associated with the MMC controller.
@@ -134,17 +132,17 @@ struct dw_mci_dma_slave {
134 * ======= 132 * =======
135 * 133 *
136 * @lock is a softirq-safe spinlock protecting @queue as well as 134 * @lock is a softirq-safe spinlock protecting @queue as well as
135 * @slot, @mrq and @state. These must always be updated
137 * at the same time while holding @lock. 136 * at the same time while holding @lock.
137 * The @mrq field of struct dw_mci_slot is also protected by @lock,
138 * and must always be written at the same time as the slot is added to
139 * @queue.
138 * 140 *
139 * @irq_lock is an irq-safe spinlock protecting the INTMASK register 141 * @irq_lock is an irq-safe spinlock protecting the INTMASK register
140 * to allow the interrupt handler to modify it directly. Held for only long 142 * to allow the interrupt handler to modify it directly. Held for only long
141 * enough to read-modify-write INTMASK and no other locks are grabbed when 143 * enough to read-modify-write INTMASK and no other locks are grabbed when
142 * holding this one. 144 * holding this one.
143 * 145 *
144 * The @mrq field of struct dw_mci_slot is also protected by @lock,
145 * and must always be written at the same time as the slot is added to
146 * @queue.
147 *
148 * @pending_events and @completed_events are accessed using atomic bit 146 * @pending_events and @completed_events are accessed using atomic bit
149 * operations, so they don't need any locking. 147 * operations, so they don't need any locking.
150 * 148 *
@@ -321,8 +319,8 @@ struct dw_mci_board {
321#define SDMMC_ENABLE_SHIFT 0x110 319#define SDMMC_ENABLE_SHIFT 0x110
322#define SDMMC_DATA(x) (x) 320#define SDMMC_DATA(x) (x)
323/* 321/*
324* Registers to support idmac 64-bit address mode 322 * Registers to support idmac 64-bit address mode
325*/ 323 */
326#define SDMMC_DBADDRL 0x088 324#define SDMMC_DBADDRL 0x088
327#define SDMMC_DBADDRU 0x08c 325#define SDMMC_DBADDRU 0x08c
328#define SDMMC_IDSTS64 0x090 326#define SDMMC_IDSTS64 0x090
@@ -449,7 +447,8 @@ struct dw_mci_board {
449 (SDMMC_CTRL_RESET | SDMMC_CTRL_FIFO_RESET | SDMMC_CTRL_DMA_RESET) 447 (SDMMC_CTRL_RESET | SDMMC_CTRL_FIFO_RESET | SDMMC_CTRL_DMA_RESET)
450 448
451/* FIFO register access macros. These should not change the data endian-ness 449/* FIFO register access macros. These should not change the data endian-ness
452 * as they are written to memory to be dealt with by the upper layers */ 450 * as they are written to memory to be dealt with by the upper layers
451 */
453#define mci_fifo_readw(__reg) __raw_readw(__reg) 452#define mci_fifo_readw(__reg) __raw_readw(__reg)
454#define mci_fifo_readl(__reg) __raw_readl(__reg) 453#define mci_fifo_readl(__reg) __raw_readl(__reg)
455#define mci_fifo_readq(__reg) __raw_readq(__reg) 454#define mci_fifo_readq(__reg) __raw_readq(__reg)