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. Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
This commit is contained in:
parent
41051a141d
commit
55224bc86a
3 changed files with 4 additions and 7 deletions
|
@ -464,9 +464,10 @@ int ide_dma_setup(ide_drive_t *drive)
|
||||||
|
|
||||||
/* PRD table */
|
/* PRD table */
|
||||||
if (hwif->mmio)
|
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
|
else
|
||||||
outl(hwif->dmatable_dma, hwif->dma_prdtable);
|
outl(hwif->dmatable_dma, hwif->dma_base + ATA_DMA_TABLE_OFS);
|
||||||
|
|
||||||
/* specify r/w */
|
/* specify r/w */
|
||||||
hwif->OUTB(reading, hwif->dma_command);
|
hwif->OUTB(reading, hwif->dma_command);
|
||||||
|
@ -860,8 +861,6 @@ void ide_setup_dma(ide_hwif_t *hwif, unsigned long base)
|
||||||
hwif->dma_command = hwif->dma_base + 0;
|
hwif->dma_command = hwif->dma_base + 0;
|
||||||
if (!hwif->dma_status)
|
if (!hwif->dma_status)
|
||||||
hwif->dma_status = hwif->dma_base + 2;
|
hwif->dma_status = hwif->dma_base + 2;
|
||||||
if (!hwif->dma_prdtable)
|
|
||||||
hwif->dma_prdtable = hwif->dma_base + 4;
|
|
||||||
|
|
||||||
hwif->dma_ops = &sff_dma_ops;
|
hwif->dma_ops = &sff_dma_ops;
|
||||||
}
|
}
|
||||||
|
|
|
@ -304,7 +304,7 @@ static int scc_dma_setup(ide_drive_t *drive)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* PRD table */
|
/* 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 */
|
/* specify r/w */
|
||||||
out_be32((void __iomem *)hwif->dma_command, reading);
|
out_be32((void __iomem *)hwif->dma_command, reading);
|
||||||
|
@ -838,7 +838,6 @@ static void __devinit init_hwif_scc(ide_hwif_t *hwif)
|
||||||
|
|
||||||
hwif->dma_command = hwif->dma_base;
|
hwif->dma_command = hwif->dma_base;
|
||||||
hwif->dma_status = hwif->dma_base + 0x04;
|
hwif->dma_status = hwif->dma_base + 0x04;
|
||||||
hwif->dma_prdtable = hwif->dma_base + 0x08;
|
|
||||||
|
|
||||||
/* PTERADD */
|
/* PTERADD */
|
||||||
out_be32((void __iomem *)(hwif->dma_base + 0x018), hwif->dmatable_dma);
|
out_be32((void __iomem *)(hwif->dma_base + 0x018), hwif->dmatable_dma);
|
||||||
|
|
|
@ -506,7 +506,6 @@ typedef struct hwif_s {
|
||||||
unsigned long dma_base; /* base addr for dma ports */
|
unsigned long dma_base; /* base addr for dma ports */
|
||||||
unsigned long dma_command; /* dma command register */
|
unsigned long dma_command; /* dma command register */
|
||||||
unsigned long dma_status; /* dma status 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 config_data; /* for use by chipset-specific code */
|
||||||
unsigned long select_data; /* for use by chipset-specific code */
|
unsigned long select_data; /* for use by chipset-specific code */
|
||||||
|
|
Loading…
Reference in a new issue