ide: remove dead Virtual DMA support
PATCH 2/4 ide: remove dead Virtual DMA support
Lets remove dead Virtual DMA support for now so it doesn't clutter core IDE code (it can be bring back when there is a need for it):
* Remove IDE_HFLAG_VDMA host flag.
* Remove ide_drive_t.vdma flag.
* cs5520.c: remove stale FIXMEs, cs5520_dma_host_set() and cs5520_dma_ops (also there is no longer a need to set IDE_HFLAG_NO_ATAPI_DMA).
There should be no functional changes caused by this patch.
Cc TAKADA Yoshihito <[email protected]>
Signed-off-by Bartlomiej Zolnierkiewicz <[email protected]>
---
this is against IDE tree + 4 ide-pmac patches + 20 IDE patches from yesterday
drivers/ide/ide-disk.c | 2 +- drivers/ide/ide-dma.c | 5 ++--- drivers/ide/ide-iops.c | 3 +-- drivers/ide/pci/cs5520.c | 30 ------------------------------ include/linux/ide.h | 3 --- 5 files changed, 4 insertions(+), 39 deletions(-)
drivers/ide/ide-disk.c +1 -1
@@ -158,7 +158,7 @@ static void ide_tf_set_cmd(ide_drive_t * write = (task->tf_flags &IDE_TFLAG_WRITE ) ?1 :0 ;if (dma) - index = drive->vdma ?4 :8 ; + index =8 ;else index = drive->mult_count ?0 :4 ;
drivers/ide/ide-dma.c +2 -3
@@ -756,9 +756,8 @@ static int ide_tune_dma(ide_drive_t *dristatic int ide_dma_check (ide_drive_t *drive) {ide_hwif_t *hwif = drive->hwif; -int vdma = (hwif->host_flags &IDE_HFLAG_VDMA )?1 :0 ; -if (!vdma &&ide_tune_dma (drive)) +if (ide_tune_dma (drive))return 0 ;/* TODO: always do PIO fallback */
@@ -767,7 +766,7 @@ static int ide_dma_check(ide_drive_t *dride_set_max_pio (drive); -return vdma ?0 :-1 ; +return -1 ; }int ide_id_dma_bug (ide_drive_t *drive)
drivers/ide/ide-iops.c +1 -2
@@ -866,8 +866,7 @@ int ide_config_drive_speed(ide_drive_t * skip:#ifdef CONFIG_BLK_DEV_IDEDMA -if ((speed >=XFER_SW_DMA_0 || (hwif->host_flags &IDE_HFLAG_VDMA )) && - drive->using_dma) +if (speed >=XFER_SW_DMA_0 && drive->using_dma) hwif->dma_ops->dma_host_set (drive,1 );else if (hwif->dma_ops)/* check if host supports DMA */ ide_dma_off_quietly (drive);
drivers/ide/pci/cs5520.c +0 -30
@@ -62,8 +62,6 @@ static void cs5520_set_pio_mode(ide_drivstruct pci_dev *pdev =to_pci_dev (hwif->dev);int controller = drive->dn >1 ?1 :0 ; -/* FIXME: if DMA = 1 do we need to set the DMA bit here ? */ -/* 8bit CAT/CRT - 8bit command timing for channel */ pci_write_config_byte(pdev, 0x62 + controller, (cs5520_pio_clocks[pio].recovery << 4) |
@@ -89,45 +87,17 @@ static void cs5520_set_dma_mode(ide_drivcs5520_set_pio_mode (drive,0 ); } -/* -* We wrap the DMA activate to set the vdma flag. This is needed -* so that the IDE DMA layer issues PIO not DMA commands over the -* DMA channel -* -* ATAPI is harder so disable it for now using IDE_HFLAG_NO_ATAPI_DMA -*/ - -static void cs5520_dma_host_set (ide_drive_t *drive,int on) -{ - drive->vdma = on; -ide_dma_host_set (drive, on); -} -static const struct ide_port_ops cs5520_port_ops = { .set_pio_mode = cs5520_set_pio_mode, .set_dma_mode = cs5520_set_dma_mode, }; -static const struct ide_dma_ops cs5520_dma_ops = { - .dma_host_set = cs5520_dma_host_set, - .dma_setup = ide_dma_setup, - .dma_exec_cmd = ide_dma_exec_cmd, - .dma_start = ide_dma_start, - .dma_end = __ide_dma_end, - .dma_test_irq = ide_dma_test_irq, - .dma_lost_irq = ide_dma_lost_irq, - .dma_timeout = ide_dma_timeout, -}; - -/* FIXME: VDMA is disabled because it caused system hangs */ #define DECLARE_CS_DEV (name_str) \ { \ .name = name_str, \ .port_ops = &cs5520_port_ops, \ - .dma_ops = &cs5520_dma_ops, \ .host_flags = IDE_HFLAG_ISA_PORTS | \ IDE_HFLAG_CS5520 | \ - IDE_HFLAG_NO_ATAPI_DMA | \ IDE_HFLAG_ABUSE_SET_DMA_MODE, \ .pio_mask = ATA_PIO4, \ }
include/linux/ide.h +0 -3
@@ -334,7 +334,6 @@ typedef struct ide_drive_s { unsigned nodma : 1; /* disallow DMA */ unsigned remap_0_to_1 : 1; /* 0=noremap, 1=remap 0->1 (for EZDrive) */ unsigned blocked : 1; /* 1=powermanagment told us not to do anything, so sleep nicely */ - unsigned vdma : 1; /* 1=doing PIO over DMA 0=doing normal DMA */ unsigned scsi : 1; /* 0=default, 1=ide-scsi emulation */ unsigned sleeping : 1; /* 1=sleeping & sleep field valid */ unsigned post_reset : 1;
@@ -1083,8 +1082,6 @@ enum {IDE_HFLAG_NO_IO_32BIT = (1 <<30 ),/* never unmask IRQs */ IDE_HFLAG_NO_UNMASK_IRQS = (1 << 31), -/* host uses VDMA (disabled for now) */ - IDE_HFLAG_VDMA = 0, };#ifdef CONFIG_BLK_DEV_OFFBOARD