Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 38034
b: refs/heads/master
c: 3f63c5e
h: refs/heads/master
v: v3
  • Loading branch information
Sergei Shtylyov authored and Linus Torvalds committed Oct 3, 2006
1 parent 65e9802 commit 7089945
Show file tree
Hide file tree
Showing 5 changed files with 11 additions and 27 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 27ac6036f31dea8117ecc525e0dbfd17b23e8c09
refs/heads/master: 3f63c5e88a5ce45b423f3712293f1664115b09c0
14 changes: 1 addition & 13 deletions trunk/drivers/ide/ide-dma.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}

Expand Down Expand Up @@ -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;
}

Expand Down
20 changes: 9 additions & 11 deletions trunk/drivers/ide/pci/sgiioc4.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);

Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -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;

return;
if (pad) {
ide_set_hwifdata(hwif, pad);
return;
}

dma_base2alloc_failure:
pci_free_consistent(hwif->pci_dev,
IOC4_PRD_ENTRIES * IOC4_PRD_BYTES,
hwif->dmatable_cpu, hwif->dmatable_dma);
Expand Down Expand Up @@ -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);

Expand Down
1 change: 0 additions & 1 deletion trunk/drivers/ide/pci/siimage.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}

Expand Down
1 change: 0 additions & 1 deletion trunk/include/linux/ide.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
Expand Down

0 comments on commit 7089945

Please sign in to comment.