diff options
author | Grant Grundler <grundler@google.com> | 2009-04-08 14:12:49 +0200 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2009-04-08 14:12:49 +0200 |
commit | edafcf73dca2f9531c78eec130df84a8c9654b3b (patch) | |
tree | 71f01d37becfe14c2f26f9cee2ea5f6af03112e0 /drivers/ide | |
parent | ide: falconide/q40ide - Use __ide_mm_{in,out}sw() for data (diff) | |
download | linux-edafcf73dca2f9531c78eec130df84a8c9654b3b.tar.xz linux-edafcf73dca2f9531c78eec130df84a8c9654b3b.zip |
ide: remove wmb() from ide-dma-sff.c and scc_pata.c
This patch:
o replaces "mask" variable in ide_dma_end() with #define.
o removes use of wmb() in ide-dma-sff.c and scc_pata.c.
o is not tested - I don't have (or want) the HW.
Signed-off-by: Grant Grundler <grundler@google.com>
Cc: KOBAYASHI Yoshitake <yoshitake.kobayashi@toshiba.co.jp>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide')
-rw-r--r-- | drivers/ide/ide-dma-sff.c | 9 | ||||
-rw-r--r-- | drivers/ide/scc_pata.c | 2 |
2 files changed, 3 insertions, 8 deletions
diff --git a/drivers/ide/ide-dma-sff.c b/drivers/ide/ide-dma-sff.c index 16fc46edc32d..e4cdf78cc3e9 100644 --- a/drivers/ide/ide-dma-sff.c +++ b/drivers/ide/ide-dma-sff.c @@ -277,8 +277,6 @@ void ide_dma_start(ide_drive_t *drive) dma_cmd = inb(hwif->dma_base + ATA_DMA_CMD); outb(dma_cmd | ATA_DMA_START, hwif->dma_base + ATA_DMA_CMD); } - - wmb(); } EXPORT_SYMBOL_GPL(ide_dma_start); @@ -286,7 +284,7 @@ EXPORT_SYMBOL_GPL(ide_dma_start); int ide_dma_end(ide_drive_t *drive) { ide_hwif_t *hwif = drive->hwif; - u8 dma_stat = 0, dma_cmd = 0, mask; + u8 dma_stat = 0, dma_cmd = 0; /* stop DMA */ if (hwif->host_flags & IDE_HFLAG_MMIO) { @@ -304,11 +302,10 @@ int ide_dma_end(ide_drive_t *drive) /* clear INTR & ERROR bits */ ide_dma_sff_write_status(hwif, dma_stat | ATA_DMA_ERR | ATA_DMA_INTR); - wmb(); +#define CHECK_DMA_MASK (ATA_DMA_ACTIVE | ATA_DMA_ERR | ATA_DMA_INTR) /* verify good DMA status */ - mask = ATA_DMA_ACTIVE | ATA_DMA_ERR | ATA_DMA_INTR; - if ((dma_stat & mask) != ATA_DMA_INTR) + if ((dma_stat & CHECK_DMA_MASK) != ATA_DMA_INTR) return 0x10 | dma_stat; return 0; } diff --git a/drivers/ide/scc_pata.c b/drivers/ide/scc_pata.c index 6d8dbd9c10bc..55e48db7d1be 100644 --- a/drivers/ide/scc_pata.c +++ b/drivers/ide/scc_pata.c @@ -337,7 +337,6 @@ static void scc_dma_start(ide_drive_t *drive) /* start DMA */ scc_ide_outb(dma_cmd | 1, hwif->dma_base); - wmb(); } static int __scc_dma_end(ide_drive_t *drive) @@ -354,7 +353,6 @@ static int __scc_dma_end(ide_drive_t *drive) /* clear the INTR & ERROR bits */ scc_ide_outb(dma_stat | 6, hwif->dma_base + 4); /* verify good DMA status */ - wmb(); return (dma_stat & 7) != 4 ? (0x10 | dma_stat) : 0; } |