From: Andrew Morton detox the code while we're there. Cc: Sergei Shtylyov Cc: Bartlomiej Zolnierkiewicz Cc: Alan Cox Signed-off-by: Andrew Morton --- drivers/ide/ide-lib.c | 102 ++++++++++++++++++++++++---------------- 1 files changed, 62 insertions(+), 40 deletions(-) diff -puN drivers/ide/ide-lib.c~ide_dma_speed-fixes-tidy drivers/ide/ide-lib.c --- devel/drivers/ide/ide-lib.c~ide_dma_speed-fixes-tidy 2006-05-15 08:03:52.000000000 -0700 +++ devel-akpm/drivers/ide/ide-lib.c 2006-05-15 08:03:52.000000000 -0700 @@ -96,50 +96,72 @@ u8 ide_dma_speed(ide_drive_t *drive, u8 mode = 0; /* fallback to MW/SW DMA if no UltraDMA */ switch (mode) { - case 4: - if (ultra_mask & 0x40) - { speed = XFER_UDMA_6; break; } - case 3: - if (ultra_mask & 0x20) - { speed = XFER_UDMA_5; break; } - case 2: - if (ultra_mask & 0x10) - { speed = XFER_UDMA_4; break; } - if (ultra_mask & 0x08) - { speed = XFER_UDMA_3; break; } - case 1: - if (ultra_mask & 0x04) - { speed = XFER_UDMA_2; break; } - if (ultra_mask & 0x02) - { speed = XFER_UDMA_1; break; } - if (ultra_mask & 0x01) - { speed = XFER_UDMA_0; break; } - case 0: - mwdma_mask = id->dma_mword & hwif->mwdma_mask; - - if (mwdma_mask & 0x04) - { speed = XFER_MW_DMA_2; break; } - if (mwdma_mask & 0x02) - { speed = XFER_MW_DMA_1; break; } - if (mwdma_mask & 0x01) - { speed = XFER_MW_DMA_0; break; } - - swdma_mask = id->dma_1word & hwif->swdma_mask; - - if (swdma_mask & 0x04) - { speed = XFER_SW_DMA_2; break; } - if (swdma_mask & 0x02) - { speed = XFER_SW_DMA_1; break; } - if (swdma_mask & 0x01) - { speed = XFER_SW_DMA_0; break; } - } + case 4: + if (ultra_mask & 0x40) { + speed = XFER_UDMA_6; + break; + } + case 3: + if (ultra_mask & 0x20) { + speed = XFER_UDMA_5; + break; + } + case 2: + if (ultra_mask & 0x10) { + speed = XFER_UDMA_4; + break; + } + if (ultra_mask & 0x08) { + speed = XFER_UDMA_3; + break; + } + case 1: + if (ultra_mask & 0x04) { + speed = XFER_UDMA_2; + break; + } + if (ultra_mask & 0x02) { + speed = XFER_UDMA_1; + break; + } + if (ultra_mask & 0x01) { + speed = XFER_UDMA_0; + break; + } + case 0: + mwdma_mask = id->dma_mword & hwif->mwdma_mask; + + if (mwdma_mask & 0x04) { + speed = XFER_MW_DMA_2; + break; + } + if (mwdma_mask & 0x02) { + speed = XFER_MW_DMA_1; + break; + } + if (mwdma_mask & 0x01) { + speed = XFER_MW_DMA_0; + break; + } -// printk("%s: %s: mode 0x%02x, speed 0x%02x\n", -// __FUNCTION__, drive->name, mode, speed); + swdma_mask = id->dma_1word & hwif->swdma_mask; + + if (swdma_mask & 0x04) { + speed = XFER_SW_DMA_2; + break; + } + if (swdma_mask & 0x02) { + speed = XFER_SW_DMA_1; + break; + } + if (swdma_mask & 0x01) { + speed = XFER_SW_DMA_0; + break; + } + } return speed; } - EXPORT_SYMBOL(ide_dma_speed); _