aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/ata/sata_dwc_460ex.c23
1 files changed, 11 insertions, 12 deletions
diff --git a/drivers/ata/sata_dwc_460ex.c b/drivers/ata/sata_dwc_460ex.c
index 08cd63fae7ef..5ab484992a4b 100644
--- a/drivers/ata/sata_dwc_460ex.c
+++ b/drivers/ata/sata_dwc_460ex.c
@@ -194,7 +194,6 @@ struct sata_dwc_host_priv {
194 void __iomem *scr_addr_sstatus; 194 void __iomem *scr_addr_sstatus;
195 u32 sata_dwc_sactive_issued ; 195 u32 sata_dwc_sactive_issued ;
196 u32 sata_dwc_sactive_queued ; 196 u32 sata_dwc_sactive_queued ;
197 struct device *dwc_dev;
198}; 197};
199 198
200static struct sata_dwc_host_priv host_pvt; 199static struct sata_dwc_host_priv host_pvt;
@@ -252,16 +251,16 @@ static const char *get_dma_dir_descript(int dma_dir)
252 } 251 }
253} 252}
254 253
255static void sata_dwc_tf_dump(struct ata_taskfile *tf) 254static void sata_dwc_tf_dump(struct ata_port *ap, struct ata_taskfile *tf)
256{ 255{
257 dev_vdbg(host_pvt.dwc_dev, 256 dev_vdbg(ap->dev,
258 "taskfile cmd: 0x%02x protocol: %s flags: 0x%lx device: %x\n", 257 "taskfile cmd: 0x%02x protocol: %s flags: 0x%lx device: %x\n",
259 tf->command, get_prot_descript(tf->protocol), tf->flags, 258 tf->command, get_prot_descript(tf->protocol), tf->flags,
260 tf->device); 259 tf->device);
261 dev_vdbg(host_pvt.dwc_dev, 260 dev_vdbg(ap->dev,
262 "feature: 0x%02x nsect: 0x%x lbal: 0x%x lbam: 0x%x lbah: 0x%x\n", 261 "feature: 0x%02x nsect: 0x%x lbal: 0x%x lbam: 0x%x lbah: 0x%x\n",
263 tf->feature, tf->nsect, tf->lbal, tf->lbam, tf->lbah); 262 tf->feature, tf->nsect, tf->lbal, tf->lbam, tf->lbah);
264 dev_vdbg(host_pvt.dwc_dev, 263 dev_vdbg(ap->dev,
265 "hob_feature: 0x%02x hob_nsect: 0x%x hob_lbal: 0x%x hob_lbam: 0x%x hob_lbah: 0x%x\n", 264 "hob_feature: 0x%02x hob_nsect: 0x%x hob_lbal: 0x%x hob_lbam: 0x%x hob_lbah: 0x%x\n",
266 tf->hob_feature, tf->hob_nsect, tf->hob_lbal, tf->hob_lbam, 265 tf->hob_feature, tf->hob_nsect, tf->hob_lbal, tf->hob_lbam,
267 tf->hob_lbah); 266 tf->hob_lbah);
@@ -337,7 +336,7 @@ static struct dma_async_tx_descriptor *dma_dwc_xfer_setup(struct ata_queued_cmd
337 desc->callback = dma_dwc_xfer_done; 336 desc->callback = dma_dwc_xfer_done;
338 desc->callback_param = hsdev; 337 desc->callback_param = hsdev;
339 338
340 dev_dbg(host_pvt.dwc_dev, "%s sg: 0x%p, count: %d addr: %pad\n", 339 dev_dbg(hsdev->dev, "%s sg: 0x%p, count: %d addr: %pad\n",
341 __func__, qc->sg, qc->n_elem, &addr); 340 __func__, qc->sg, qc->n_elem, &addr);
342 341
343 return desc; 342 return desc;
@@ -687,7 +686,7 @@ static void sata_dwc_clear_dmacr(struct sata_dwc_device_port *hsdevp, u8 tag)
687 * This should not happen, it indicates the driver is out of 686 * This should not happen, it indicates the driver is out of
688 * sync. If it does happen, clear dmacr anyway. 687 * sync. If it does happen, clear dmacr anyway.
689 */ 688 */
690 dev_err(host_pvt.dwc_dev, 689 dev_err(hsdev->dev,
691 "%s DMA protocol RX and TX DMA not pending tag=0x%02x pending=%d dmacr: 0x%08x\n", 690 "%s DMA protocol RX and TX DMA not pending tag=0x%02x pending=%d dmacr: 0x%08x\n",
692 __func__, tag, hsdevp->dma_pending[tag], 691 __func__, tag, hsdevp->dma_pending[tag],
693 in_le32(&hsdev->sata_dwc_regs->dmacr)); 692 in_le32(&hsdev->sata_dwc_regs->dmacr));
@@ -779,7 +778,7 @@ static void sata_dwc_enable_interrupts(struct sata_dwc_device *hsdev)
779 */ 778 */
780 out_le32(&hsdev->sata_dwc_regs->errmr, SATA_DWC_SERROR_ERR_BITS); 779 out_le32(&hsdev->sata_dwc_regs->errmr, SATA_DWC_SERROR_ERR_BITS);
781 780
782 dev_dbg(host_pvt.dwc_dev, "%s: INTMR = 0x%08x, ERRMR = 0x%08x\n", 781 dev_dbg(hsdev->dev, "%s: INTMR = 0x%08x, ERRMR = 0x%08x\n",
783 __func__, in_le32(&hsdev->sata_dwc_regs->intmr), 782 __func__, in_le32(&hsdev->sata_dwc_regs->intmr),
784 in_le32(&hsdev->sata_dwc_regs->errmr)); 783 in_le32(&hsdev->sata_dwc_regs->errmr));
785} 784}
@@ -855,7 +854,7 @@ static int sata_dwc_port_start(struct ata_port *ap)
855 hsdevp->hsdev = hsdev; 854 hsdevp->hsdev = hsdev;
856 855
857 hsdevp->dws = &sata_dwc_dma_dws; 856 hsdevp->dws = &sata_dwc_dma_dws;
858 hsdevp->dws->dma_dev = host_pvt.dwc_dev; 857 hsdevp->dws->dma_dev = hsdev->dev;
859 858
860 dma_cap_zero(mask); 859 dma_cap_zero(mask);
861 dma_cap_set(DMA_SLAVE, mask); 860 dma_cap_set(DMA_SLAVE, mask);
@@ -863,7 +862,7 @@ static int sata_dwc_port_start(struct ata_port *ap)
863 /* Acquire DMA channel */ 862 /* Acquire DMA channel */
864 hsdevp->chan = dma_request_channel(mask, sata_dwc_dma_filter, hsdevp); 863 hsdevp->chan = dma_request_channel(mask, sata_dwc_dma_filter, hsdevp);
865 if (!hsdevp->chan) { 864 if (!hsdevp->chan) {
866 dev_err(host_pvt.dwc_dev, "%s: dma channel unavailable\n", 865 dev_err(hsdev->dev, "%s: dma channel unavailable\n",
867 __func__); 866 __func__);
868 err = -EAGAIN; 867 err = -EAGAIN;
869 goto CLEANUP_ALLOC; 868 goto CLEANUP_ALLOC;
@@ -990,7 +989,7 @@ static void sata_dwc_bmdma_start_by_tag(struct ata_queued_cmd *qc, u8 tag)
990 "%s qc=%p tag: %x cmd: 0x%02x dma_dir: %s start_dma? %x\n", 989 "%s qc=%p tag: %x cmd: 0x%02x dma_dir: %s start_dma? %x\n",
991 __func__, qc, tag, qc->tf.command, 990 __func__, qc, tag, qc->tf.command,
992 get_dma_dir_descript(qc->dma_dir), start_dma); 991 get_dma_dir_descript(qc->dma_dir), start_dma);
993 sata_dwc_tf_dump(&(qc->tf)); 992 sata_dwc_tf_dump(ap, &qc->tf);
994 993
995 if (start_dma) { 994 if (start_dma) {
996 reg = core_scr_read(SCR_ERROR); 995 reg = core_scr_read(SCR_ERROR);
@@ -1244,7 +1243,7 @@ static int sata_dwc_probe(struct platform_device *ofdev)
1244 } 1243 }
1245 1244
1246 /* Save dev for later use in dev_xxx() routines */ 1245 /* Save dev for later use in dev_xxx() routines */
1247 host_pvt.dwc_dev = &ofdev->dev; 1246 hsdev->dev = &ofdev->dev;
1248 1247
1249 hsdev->dma->dev = &ofdev->dev; 1248 hsdev->dma->dev = &ofdev->dev;
1250 1249