ide: remove ->dma_prdtable field from ide_hwif_t
PATCH 5/5 ide: remove ->dma_prdtable field from ide_hwif_t
* Use 'hwif->dma_base + {4,8}' instead of hwif->dma_prdtable in {ide,scc}_dma_setup().
* Remove no longer needed ->dma_prdtable field from ide_hwif_t.
While at it:
* Use ATA_DMA_TABLE_OFS define.
Signed-off-by Bartlomiej Zolnierkiewicz <[email protected]>
--- drivers/ide/ide-dma.c | 7 +++---- drivers/ide/pci/scc_pata.c | 3 +-- include/linux/ide.h | 1 - 3 files changed, 4 insertions(+), 7 deletions(-)
drivers/ide/ide-dma.c +3 -4
@@ -464,9 +464,10 @@ int ide_dma_setup(ide_drive_t *drive)/* PRD table */ if (hwif->mmio) -writel (hwif->dmatable_dma, (void __iomem *)hwif->dma_prdtable); +writel (hwif->dmatable_dma, + (void __iomem *)(hwif->dma_base +ATA_DMA_TABLE_OFS ));else -outl (hwif->dmatable_dma, hwif->dma_prdtable); +outl (hwif->dmatable_dma, hwif->dma_base +ATA_DMA_TABLE_OFS );/* specify r/w */ hwif->OUTB (reading, hwif->dma_command);
@@ -860,8 +861,6 @@ void ide_setup_dma(ide_hwif_t *hwif, uns hwif->dma_command = hwif->dma_base +0 ;if (!hwif->dma_status) hwif->dma_status = hwif->dma_base +2 ; -if (!hwif->dma_prdtable) - hwif->dma_prdtable = hwif->dma_base +4 ; hwif->dma_ops = &sff_dma_ops; }
drivers/ide/pci/scc_pata.c +1 -2
@@ -304,7 +304,7 @@ static int scc_dma_setup(ide_drive_t *dr }/* PRD table */ -out_be32 ((void __iomem *)hwif->dma_prdtable, hwif->dmatable_dma); +out_be32 ((void __iomem *)(hwif->dma_base +8 ), hwif->dmatable_dma);/* specify r/w */ out_be32 ((void __iomem *)hwif->dma_command, reading);
@@ -804,7 +804,6 @@ static void __devinit init_hwif_scc(ide_ hwif->dma_command = hwif->dma_base; hwif->dma_status = hwif->dma_base +0x04 ; - hwif->dma_prdtable = hwif->dma_base +0x08 ;/* PTERADD */ out_be32 ((void __iomem *)(hwif->dma_base +0x018 ), hwif->dmatable_dma);
include/linux/ide.h +0 -1
@@ -511,7 +511,6 @@ typedef struct hwif_s {unsigned long dma_base;/* base addr for dma ports */ unsigned long dma_command;/* dma command register */ unsigned long dma_status;/* dma status register */ -unsigned long dma_prdtable;/* actual prd table address */ unsigned long config_data;/* for use by chipset-specific code */ unsigned long select_data;/* for use by chipset-specific code */
Quoted 10 lines · Bartlomiej Zolnierkiewicz
* Use '
hwif->dma_base+ {4,8}' instead ofhwif->dma_prdtablein {ide,scc}_dma_setup().* Remove no longer needed ->dma_prdtable field from
ide_hwif_t.While at it:
* Use
ATA_DMA_TABLE_OFSdefine.Signed-off-by Bartlomiej Zolnierkiewicz <[email protected]>
Acked-by Sergei Shtylyov <[email protected]>
MBR, Sergei