[PATCH] ide: remove dma_base2 field from ide_hwif_t
Remove dma_base2 field from ide_hwif_t as it's used only in 2 drivers and without great need. Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Cc: John Keller <jpk@sgi.com> Signed-off-by: Jeremy Higdon <jeremy@sgi.com> Acked-by: Alan Cox <alan@lxorguk.ukuu.org.uk> Cc: Bartlomiej Zolnierkiewicz <B.Zolnierkiewicz@elka.pw.edu.pl> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Родитель
27ac6036f3
Коммит
3f63c5e88a
|
@ -799,8 +799,6 @@ static int ide_release_iomio_dma(ide_hwif_t *hwif)
|
|||
release_region(hwif->dma_base, 8);
|
||||
if (hwif->extra_ports)
|
||||
release_region(hwif->extra_base, hwif->extra_ports);
|
||||
if (hwif->dma_base2)
|
||||
release_region(hwif->dma_base, 8);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -872,19 +870,9 @@ static int ide_iomio_dma(ide_hwif_t *hwif, unsigned long base, unsigned int port
|
|||
}
|
||||
|
||||
if(hwif->mate)
|
||||
hwif->dma_master = (hwif->channel) ? hwif->mate->dma_base : base;
|
||||
hwif->dma_master = (hwif->channel) ? hwif->mate->dma_base:base;
|
||||
else
|
||||
hwif->dma_master = base;
|
||||
if (hwif->dma_base2) {
|
||||
if (!request_region(hwif->dma_base2, ports, hwif->name))
|
||||
{
|
||||
printk(" -- Error, secondary ports in use.\n");
|
||||
release_region(base, ports);
|
||||
if (hwif->extra_ports)
|
||||
release_region(hwif->extra_base, hwif->extra_ports);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -220,7 +220,7 @@ sgiioc4_ide_dma_end(ide_drive_t * drive)
|
|||
ide_hwif_t *hwif = HWIF(drive);
|
||||
u64 dma_base = hwif->dma_base;
|
||||
int dma_stat = 0;
|
||||
unsigned long *ending_dma = (unsigned long *) hwif->dma_base2;
|
||||
unsigned long *ending_dma = ide_get_hwifdata(hwif);
|
||||
|
||||
hwif->OUTL(IOC4_S_DMA_STOP, dma_base + IOC4_DMA_CTRL * 4);
|
||||
|
||||
|
@ -369,6 +369,7 @@ ide_dma_sgiioc4(ide_hwif_t * hwif, unsigned long dma_base)
|
|||
{
|
||||
void __iomem *virt_dma_base;
|
||||
int num_ports = sizeof (ioc4_dma_regs_t);
|
||||
void *pad;
|
||||
|
||||
printk(KERN_INFO "%s: BM-DMA at 0x%04lx-0x%04lx\n", hwif->name,
|
||||
dma_base, dma_base + num_ports - 1);
|
||||
|
@ -400,17 +401,14 @@ ide_dma_sgiioc4(ide_hwif_t * hwif, unsigned long dma_base)
|
|||
|
||||
hwif->sg_max_nents = IOC4_PRD_ENTRIES;
|
||||
|
||||
hwif->dma_base2 = (unsigned long)
|
||||
pci_alloc_consistent(hwif->pci_dev,
|
||||
IOC4_IDE_CACHELINE_SIZE,
|
||||
(dma_addr_t *) &(hwif->dma_status));
|
||||
pad = pci_alloc_consistent(hwif->pci_dev, IOC4_IDE_CACHELINE_SIZE,
|
||||
(dma_addr_t *) &(hwif->dma_status));
|
||||
|
||||
if (!hwif->dma_base2)
|
||||
goto dma_base2alloc_failure;
|
||||
if (pad) {
|
||||
ide_set_hwifdata(hwif, pad);
|
||||
return;
|
||||
}
|
||||
|
||||
return;
|
||||
|
||||
dma_base2alloc_failure:
|
||||
pci_free_consistent(hwif->pci_dev,
|
||||
IOC4_PRD_ENTRIES * IOC4_PRD_BYTES,
|
||||
hwif->dmatable_cpu, hwif->dmatable_dma);
|
||||
|
@ -476,7 +474,7 @@ sgiioc4_configure_for_dma(int dma_direction, ide_drive_t * drive)
|
|||
hwif->OUTL(dma_addr, dma_base + IOC4_DMA_PTR_L * 4);
|
||||
|
||||
/* Address of the Ending DMA */
|
||||
memset((unsigned int *) hwif->dma_base2, 0, IOC4_IDE_CACHELINE_SIZE);
|
||||
memset(ide_get_hwifdata(hwif), 0, IOC4_IDE_CACHELINE_SIZE);
|
||||
ending_dma_addr = cpu_to_le32(hwif->dma_status);
|
||||
hwif->OUTL(ending_dma_addr, dma_base + IOC4_DMA_END_ADDR * 4);
|
||||
|
||||
|
|
|
@ -898,7 +898,6 @@ static void __devinit init_mmio_iops_siimage(ide_hwif_t *hwif)
|
|||
base = (unsigned long) addr;
|
||||
|
||||
hwif->dma_base = base + (ch ? 0x08 : 0x00);
|
||||
hwif->dma_base2 = base + (ch ? 0x18 : 0x10);
|
||||
hwif->mmio = 2;
|
||||
}
|
||||
|
||||
|
|
|
@ -774,7 +774,6 @@ typedef struct hwif_s {
|
|||
unsigned long dma_status; /* dma status register */
|
||||
unsigned long dma_vendor3; /* dma vendor 3 register */
|
||||
unsigned long dma_prdtable; /* actual prd table address */
|
||||
unsigned long dma_base2; /* extended base addr for dma ports */
|
||||
|
||||
unsigned long config_data; /* for use by chipset-specific code */
|
||||
unsigned long select_data; /* for use by chipset-specific code */
|
||||
|
|
Загрузка…
Ссылка в новой задаче