diff options
-rw-r--r-- | drivers/mmc/host/dw_mmc.h | 19 |
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) |