diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-04-28 17:44:42 -0400 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-04-28 17:44:42 -0400 |
commit | 55224bc86a39409d55e47fd45573642ac709bb8f (patch) | |
tree | 979fd9840607e4bca7a62347224d9b8207fb66e3 | |
parent | 41051a141dcc67f4c5011a2ab2b547e80b9ac509 (diff) |
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>
-rw-r--r-- | drivers/ide/ide-dma.c | 7 | ||||
-rw-r--r-- | drivers/ide/pci/scc_pata.c | 3 | ||||
-rw-r--r-- | include/linux/ide.h | 1 |
3 files changed, 4 insertions, 7 deletions
diff --git a/drivers/ide/ide-dma.c b/drivers/ide/ide-dma.c index 767820db7cae..653b1ade13d3 100644 --- a/drivers/ide/ide-dma.c +++ b/drivers/ide/ide-dma.c | |||
@@ -464,9 +464,10 @@ int ide_dma_setup(ide_drive_t *drive) | |||
464 | 464 | ||
465 | /* PRD table */ | 465 | /* PRD table */ |
466 | if (hwif->mmio) | 466 | if (hwif->mmio) |
467 | writel(hwif->dmatable_dma, (void __iomem *)hwif->dma_prdtable); | 467 | writel(hwif->dmatable_dma, |
468 | (void __iomem *)(hwif->dma_base + ATA_DMA_TABLE_OFS)); | ||
468 | else | 469 | else |
469 | outl(hwif->dmatable_dma, hwif->dma_prdtable); | 470 | outl(hwif->dmatable_dma, hwif->dma_base + ATA_DMA_TABLE_OFS); |
470 | 471 | ||
471 | /* specify r/w */ | 472 | /* specify r/w */ |
472 | hwif->OUTB(reading, hwif->dma_command); | 473 | hwif->OUTB(reading, hwif->dma_command); |
@@ -860,8 +861,6 @@ void ide_setup_dma(ide_hwif_t *hwif, unsigned long base) | |||
860 | hwif->dma_command = hwif->dma_base + 0; | 861 | hwif->dma_command = hwif->dma_base + 0; |
861 | if (!hwif->dma_status) | 862 | if (!hwif->dma_status) |
862 | hwif->dma_status = hwif->dma_base + 2; | 863 | hwif->dma_status = hwif->dma_base + 2; |
863 | if (!hwif->dma_prdtable) | ||
864 | hwif->dma_prdtable = hwif->dma_base + 4; | ||
865 | 864 | ||
866 | hwif->dma_ops = &sff_dma_ops; | 865 | hwif->dma_ops = &sff_dma_ops; |
867 | } | 866 | } |
diff --git a/drivers/ide/pci/scc_pata.c b/drivers/ide/pci/scc_pata.c index 144938188325..910fb00deb71 100644 --- a/drivers/ide/pci/scc_pata.c +++ b/drivers/ide/pci/scc_pata.c | |||
@@ -304,7 +304,7 @@ static int scc_dma_setup(ide_drive_t *drive) | |||
304 | } | 304 | } |
305 | 305 | ||
306 | /* PRD table */ | 306 | /* PRD table */ |
307 | out_be32((void __iomem *)hwif->dma_prdtable, hwif->dmatable_dma); | 307 | out_be32((void __iomem *)(hwif->dma_base + 8), hwif->dmatable_dma); |
308 | 308 | ||
309 | /* specify r/w */ | 309 | /* specify r/w */ |
310 | out_be32((void __iomem *)hwif->dma_command, reading); | 310 | out_be32((void __iomem *)hwif->dma_command, reading); |
@@ -838,7 +838,6 @@ static void __devinit init_hwif_scc(ide_hwif_t *hwif) | |||
838 | 838 | ||
839 | hwif->dma_command = hwif->dma_base; | 839 | hwif->dma_command = hwif->dma_base; |
840 | hwif->dma_status = hwif->dma_base + 0x04; | 840 | hwif->dma_status = hwif->dma_base + 0x04; |
841 | hwif->dma_prdtable = hwif->dma_base + 0x08; | ||
842 | 841 | ||
843 | /* PTERADD */ | 842 | /* PTERADD */ |
844 | out_be32((void __iomem *)(hwif->dma_base + 0x018), hwif->dmatable_dma); | 843 | out_be32((void __iomem *)(hwif->dma_base + 0x018), hwif->dmatable_dma); |
diff --git a/include/linux/ide.h b/include/linux/ide.h index d1d0111e48aa..b0135b0c3a04 100644 --- a/include/linux/ide.h +++ b/include/linux/ide.h | |||
@@ -506,7 +506,6 @@ typedef struct hwif_s { | |||
506 | unsigned long dma_base; /* base addr for dma ports */ | 506 | unsigned long dma_base; /* base addr for dma ports */ |
507 | unsigned long dma_command; /* dma command register */ | 507 | unsigned long dma_command; /* dma command register */ |
508 | unsigned long dma_status; /* dma status register */ | 508 | unsigned long dma_status; /* dma status register */ |
509 | unsigned long dma_prdtable; /* actual prd table address */ | ||
510 | 509 | ||
511 | unsigned long config_data; /* for use by chipset-specific code */ | 510 | unsigned long config_data; /* for use by chipset-specific code */ |
512 | unsigned long select_data; /* for use by chipset-specific code */ | 511 | unsigned long select_data; /* for use by chipset-specific code */ |