diff options
-rw-r--r-- | drivers/ata/sata_svw.c | 41 | ||||
-rw-r--r-- | drivers/ata/sata_vsc.c | 43 |
2 files changed, 47 insertions, 37 deletions
diff --git a/drivers/ata/sata_svw.c b/drivers/ata/sata_svw.c index d89c9590b845..46d8a94669b4 100644 --- a/drivers/ata/sata_svw.c +++ b/drivers/ata/sata_svw.c | |||
@@ -135,26 +135,31 @@ static void k2_sata_tf_load(struct ata_port *ap, const struct ata_taskfile *tf) | |||
135 | unsigned int is_addr = tf->flags & ATA_TFLAG_ISADDR; | 135 | unsigned int is_addr = tf->flags & ATA_TFLAG_ISADDR; |
136 | 136 | ||
137 | if (tf->ctl != ap->last_ctl) { | 137 | if (tf->ctl != ap->last_ctl) { |
138 | writeb(tf->ctl, ioaddr->ctl_addr); | 138 | writeb(tf->ctl, (void __iomem *) ioaddr->ctl_addr); |
139 | ap->last_ctl = tf->ctl; | 139 | ap->last_ctl = tf->ctl; |
140 | ata_wait_idle(ap); | 140 | ata_wait_idle(ap); |
141 | } | 141 | } |
142 | if (is_addr && (tf->flags & ATA_TFLAG_LBA48)) { | 142 | if (is_addr && (tf->flags & ATA_TFLAG_LBA48)) { |
143 | writew(tf->feature | (((u16)tf->hob_feature) << 8), ioaddr->feature_addr); | 143 | writew(tf->feature | (((u16)tf->hob_feature) << 8), |
144 | writew(tf->nsect | (((u16)tf->hob_nsect) << 8), ioaddr->nsect_addr); | 144 | (void __iomem *) ioaddr->feature_addr); |
145 | writew(tf->lbal | (((u16)tf->hob_lbal) << 8), ioaddr->lbal_addr); | 145 | writew(tf->nsect | (((u16)tf->hob_nsect) << 8), |
146 | writew(tf->lbam | (((u16)tf->hob_lbam) << 8), ioaddr->lbam_addr); | 146 | (void __iomem *) ioaddr->nsect_addr); |
147 | writew(tf->lbah | (((u16)tf->hob_lbah) << 8), ioaddr->lbah_addr); | 147 | writew(tf->lbal | (((u16)tf->hob_lbal) << 8), |
148 | (void __iomem *) ioaddr->lbal_addr); | ||
149 | writew(tf->lbam | (((u16)tf->hob_lbam) << 8), | ||
150 | (void __iomem *) ioaddr->lbam_addr); | ||
151 | writew(tf->lbah | (((u16)tf->hob_lbah) << 8), | ||
152 | (void __iomem *) ioaddr->lbah_addr); | ||
148 | } else if (is_addr) { | 153 | } else if (is_addr) { |
149 | writew(tf->feature, ioaddr->feature_addr); | 154 | writew(tf->feature, (void __iomem *) ioaddr->feature_addr); |
150 | writew(tf->nsect, ioaddr->nsect_addr); | 155 | writew(tf->nsect, (void __iomem *) ioaddr->nsect_addr); |
151 | writew(tf->lbal, ioaddr->lbal_addr); | 156 | writew(tf->lbal, (void __iomem *) ioaddr->lbal_addr); |
152 | writew(tf->lbam, ioaddr->lbam_addr); | 157 | writew(tf->lbam, (void __iomem *) ioaddr->lbam_addr); |
153 | writew(tf->lbah, ioaddr->lbah_addr); | 158 | writew(tf->lbah, (void __iomem *) ioaddr->lbah_addr); |
154 | } | 159 | } |
155 | 160 | ||
156 | if (tf->flags & ATA_TFLAG_DEVICE) | 161 | if (tf->flags & ATA_TFLAG_DEVICE) |
157 | writeb(tf->device, ioaddr->device_addr); | 162 | writeb(tf->device, (void __iomem *) ioaddr->device_addr); |
158 | 163 | ||
159 | ata_wait_idle(ap); | 164 | ata_wait_idle(ap); |
160 | } | 165 | } |
@@ -166,12 +171,12 @@ static void k2_sata_tf_read(struct ata_port *ap, struct ata_taskfile *tf) | |||
166 | u16 nsect, lbal, lbam, lbah, feature; | 171 | u16 nsect, lbal, lbam, lbah, feature; |
167 | 172 | ||
168 | tf->command = k2_stat_check_status(ap); | 173 | tf->command = k2_stat_check_status(ap); |
169 | tf->device = readw(ioaddr->device_addr); | 174 | tf->device = readw((void __iomem *)ioaddr->device_addr); |
170 | feature = readw(ioaddr->error_addr); | 175 | feature = readw((void __iomem *)ioaddr->error_addr); |
171 | nsect = readw(ioaddr->nsect_addr); | 176 | nsect = readw((void __iomem *)ioaddr->nsect_addr); |
172 | lbal = readw(ioaddr->lbal_addr); | 177 | lbal = readw((void __iomem *)ioaddr->lbal_addr); |
173 | lbam = readw(ioaddr->lbam_addr); | 178 | lbam = readw((void __iomem *)ioaddr->lbam_addr); |
174 | lbah = readw(ioaddr->lbah_addr); | 179 | lbah = readw((void __iomem *)ioaddr->lbah_addr); |
175 | 180 | ||
176 | tf->feature = feature; | 181 | tf->feature = feature; |
177 | tf->nsect = nsect; | 182 | tf->nsect = nsect; |
diff --git a/drivers/ata/sata_vsc.c b/drivers/ata/sata_vsc.c index e654b990b905..0fa1b89f76d5 100644 --- a/drivers/ata/sata_vsc.c +++ b/drivers/ata/sata_vsc.c | |||
@@ -149,21 +149,26 @@ static void vsc_sata_tf_load(struct ata_port *ap, const struct ata_taskfile *tf) | |||
149 | vsc_intr_mask_update(ap, tf->ctl & ATA_NIEN); | 149 | vsc_intr_mask_update(ap, tf->ctl & ATA_NIEN); |
150 | } | 150 | } |
151 | if (is_addr && (tf->flags & ATA_TFLAG_LBA48)) { | 151 | if (is_addr && (tf->flags & ATA_TFLAG_LBA48)) { |
152 | writew(tf->feature | (((u16)tf->hob_feature) << 8), ioaddr->feature_addr); | 152 | writew(tf->feature | (((u16)tf->hob_feature) << 8), |
153 | writew(tf->nsect | (((u16)tf->hob_nsect) << 8), ioaddr->nsect_addr); | 153 | (void __iomem *) ioaddr->feature_addr); |
154 | writew(tf->lbal | (((u16)tf->hob_lbal) << 8), ioaddr->lbal_addr); | 154 | writew(tf->nsect | (((u16)tf->hob_nsect) << 8), |
155 | writew(tf->lbam | (((u16)tf->hob_lbam) << 8), ioaddr->lbam_addr); | 155 | (void __iomem *) ioaddr->nsect_addr); |
156 | writew(tf->lbah | (((u16)tf->hob_lbah) << 8), ioaddr->lbah_addr); | 156 | writew(tf->lbal | (((u16)tf->hob_lbal) << 8), |
157 | (void __iomem *) ioaddr->lbal_addr); | ||
158 | writew(tf->lbam | (((u16)tf->hob_lbam) << 8), | ||
159 | (void __iomem *) ioaddr->lbam_addr); | ||
160 | writew(tf->lbah | (((u16)tf->hob_lbah) << 8), | ||
161 | (void __iomem *) ioaddr->lbah_addr); | ||
157 | } else if (is_addr) { | 162 | } else if (is_addr) { |
158 | writew(tf->feature, ioaddr->feature_addr); | 163 | writew(tf->feature, (void __iomem *) ioaddr->feature_addr); |
159 | writew(tf->nsect, ioaddr->nsect_addr); | 164 | writew(tf->nsect, (void __iomem *) ioaddr->nsect_addr); |
160 | writew(tf->lbal, ioaddr->lbal_addr); | 165 | writew(tf->lbal, (void __iomem *) ioaddr->lbal_addr); |
161 | writew(tf->lbam, ioaddr->lbam_addr); | 166 | writew(tf->lbam, (void __iomem *) ioaddr->lbam_addr); |
162 | writew(tf->lbah, ioaddr->lbah_addr); | 167 | writew(tf->lbah, (void __iomem *) ioaddr->lbah_addr); |
163 | } | 168 | } |
164 | 169 | ||
165 | if (tf->flags & ATA_TFLAG_DEVICE) | 170 | if (tf->flags & ATA_TFLAG_DEVICE) |
166 | writeb(tf->device, ioaddr->device_addr); | 171 | writeb(tf->device, (void __iomem *) ioaddr->device_addr); |
167 | 172 | ||
168 | ata_wait_idle(ap); | 173 | ata_wait_idle(ap); |
169 | } | 174 | } |
@@ -175,12 +180,12 @@ static void vsc_sata_tf_read(struct ata_port *ap, struct ata_taskfile *tf) | |||
175 | u16 nsect, lbal, lbam, lbah, feature; | 180 | u16 nsect, lbal, lbam, lbah, feature; |
176 | 181 | ||
177 | tf->command = ata_check_status(ap); | 182 | tf->command = ata_check_status(ap); |
178 | tf->device = readw(ioaddr->device_addr); | 183 | tf->device = readw((void __iomem *) ioaddr->device_addr); |
179 | feature = readw(ioaddr->error_addr); | 184 | feature = readw((void __iomem *) ioaddr->error_addr); |
180 | nsect = readw(ioaddr->nsect_addr); | 185 | nsect = readw((void __iomem *) ioaddr->nsect_addr); |
181 | lbal = readw(ioaddr->lbal_addr); | 186 | lbal = readw((void __iomem *) ioaddr->lbal_addr); |
182 | lbam = readw(ioaddr->lbam_addr); | 187 | lbam = readw((void __iomem *) ioaddr->lbam_addr); |
183 | lbah = readw(ioaddr->lbah_addr); | 188 | lbah = readw((void __iomem *) ioaddr->lbah_addr); |
184 | 189 | ||
185 | tf->feature = feature; | 190 | tf->feature = feature; |
186 | tf->nsect = nsect; | 191 | tf->nsect = nsect; |
@@ -327,8 +332,8 @@ static void __devinit vsc_sata_setup_port(struct ata_ioports *port, unsigned lon | |||
327 | port->ctl_addr = base + VSC_SATA_TF_CTL_OFFSET; | 332 | port->ctl_addr = base + VSC_SATA_TF_CTL_OFFSET; |
328 | port->bmdma_addr = base + VSC_SATA_DMA_CMD_OFFSET; | 333 | port->bmdma_addr = base + VSC_SATA_DMA_CMD_OFFSET; |
329 | port->scr_addr = base + VSC_SATA_SCR_STATUS_OFFSET; | 334 | port->scr_addr = base + VSC_SATA_SCR_STATUS_OFFSET; |
330 | writel(0, base + VSC_SATA_UP_DESCRIPTOR_OFFSET); | 335 | writel(0, (void __iomem *) base + VSC_SATA_UP_DESCRIPTOR_OFFSET); |
331 | writel(0, base + VSC_SATA_UP_DATA_BUFFER_OFFSET); | 336 | writel(0, (void __iomem *) base + VSC_SATA_UP_DATA_BUFFER_OFFSET); |
332 | } | 337 | } |
333 | 338 | ||
334 | 339 | ||