aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/mips
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-10-13 15:39:46 -0400
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-10-13 15:39:46 -0400
commitffa15a6915b7f6f6f69b4a66e1100a9c68d11250 (patch)
tree7893654c44bc570d55c00a682c9725816bd5c285 /drivers/ide/mips
parentde23ec9ca82357e6d337a2263befb1a65cf19c83 (diff)
ide: make ide_dma_timeout() available also for CONFIG_BLK_DEV_IDEDMA_SFF=n
Make ide_dma_timeout() available also for CONFIG_BLK_DEV_IDEDMA_SFF=n and convert {ics,au1xxx-}ide.c to use it. While at it: - dump ATA Status register content on error - use EXPORT_SYMBOL_GPL() to match the rest of SFF DMA functions Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/mips')
-rw-r--r--drivers/ide/mips/au1xxx-ide.c14
1 files changed, 1 insertions, 13 deletions
diff --git a/drivers/ide/mips/au1xxx-ide.c b/drivers/ide/mips/au1xxx-ide.c
index 92c90db4bb30..f9e88cfec827 100644
--- a/drivers/ide/mips/au1xxx-ide.c
+++ b/drivers/ide/mips/au1xxx-ide.c
@@ -366,18 +366,6 @@ static void auide_init_dbdma_dev(dbdev_tab_t *dev, u32 dev_id, u32 tsize, u32 de
366} 366}
367 367
368#ifdef CONFIG_BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA 368#ifdef CONFIG_BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA
369static void auide_dma_timeout(ide_drive_t *drive)
370{
371 ide_hwif_t *hwif = HWIF(drive);
372
373 printk(KERN_ERR "%s: DMA timeout occurred: ", drive->name);
374
375 if (auide_dma_test_irq(drive))
376 return;
377
378 auide_dma_end(drive);
379}
380
381static const struct ide_dma_ops au1xxx_dma_ops = { 369static const struct ide_dma_ops au1xxx_dma_ops = {
382 .dma_host_set = auide_dma_host_set, 370 .dma_host_set = auide_dma_host_set,
383 .dma_setup = auide_dma_setup, 371 .dma_setup = auide_dma_setup,
@@ -386,7 +374,7 @@ static const struct ide_dma_ops au1xxx_dma_ops = {
386 .dma_end = auide_dma_end, 374 .dma_end = auide_dma_end,
387 .dma_test_irq = auide_dma_test_irq, 375 .dma_test_irq = auide_dma_test_irq,
388 .dma_lost_irq = ide_dma_lost_irq, 376 .dma_lost_irq = ide_dma_lost_irq,
389 .dma_timeout = auide_dma_timeout, 377 .dma_timeout = ide_dma_timeout,
390}; 378};
391 379
392static int auide_ddma_init(ide_hwif_t *hwif, const struct ide_port_info *d) 380static int auide_ddma_init(ide_hwif_t *hwif, const struct ide_port_info *d)