aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/pci/sgiioc4.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ide/pci/sgiioc4.c')
-rw-r--r--drivers/ide/pci/sgiioc4.c39
1 files changed, 16 insertions, 23 deletions
diff --git a/drivers/ide/pci/sgiioc4.c b/drivers/ide/pci/sgiioc4.c
index 12ad4ca4b037..84cd986810cf 100644
--- a/drivers/ide/pci/sgiioc4.c
+++ b/drivers/ide/pci/sgiioc4.c
@@ -339,23 +339,20 @@ ide_dma_sgiioc4(ide_hwif_t *hwif, const struct ide_port_info *d)
339 if (dma_base == 0) 339 if (dma_base == 0)
340 return -1; 340 return -1;
341 341
342 printk(KERN_INFO "%s: BM-DMA at 0x%04lx-0x%04lx\n", hwif->name, 342 printk(KERN_INFO " %s: MMIO-DMA\n", hwif->name);
343 dma_base, dma_base + num_ports - 1);
344 343
345 if (!request_mem_region(dma_base, num_ports, hwif->name)) { 344 if (request_mem_region(dma_base, num_ports, hwif->name) == NULL) {
346 printk(KERN_ERR 345 printk(KERN_ERR "%s(%s) -- ERROR: addresses 0x%08lx to 0x%08lx "
347 "%s(%s) -- ERROR, Addresses 0x%p to 0x%p " 346 "already in use\n", __func__, hwif->name,
348 "ALREADY in use\n", 347 dma_base, dma_base + num_ports - 1);
349 __func__, hwif->name, (void *) dma_base,
350 (void *) dma_base + num_ports - 1);
351 return -1; 348 return -1;
352 } 349 }
353 350
354 virt_dma_base = ioremap(dma_base, num_ports); 351 virt_dma_base = ioremap(dma_base, num_ports);
355 if (virt_dma_base == NULL) { 352 if (virt_dma_base == NULL) {
356 printk(KERN_ERR 353 printk(KERN_ERR "%s(%s) -- ERROR: unable to map addresses "
357 "%s(%s) -- ERROR, Unable to map addresses 0x%lx to 0x%lx\n", 354 "0x%lx to 0x%lx\n", __func__, hwif->name,
358 __func__, hwif->name, dma_base, dma_base + num_ports - 1); 355 dma_base, dma_base + num_ports - 1);
359 goto dma_remap_failure; 356 goto dma_remap_failure;
360 } 357 }
361 hwif->dma_base = (unsigned long) virt_dma_base; 358 hwif->dma_base = (unsigned long) virt_dma_base;
@@ -378,11 +375,9 @@ ide_dma_sgiioc4(ide_hwif_t *hwif, const struct ide_port_info *d)
378 375
379 pci_free_consistent(dev, IOC4_PRD_ENTRIES * IOC4_PRD_BYTES, 376 pci_free_consistent(dev, IOC4_PRD_ENTRIES * IOC4_PRD_BYTES,
380 hwif->dmatable_cpu, hwif->dmatable_dma); 377 hwif->dmatable_cpu, hwif->dmatable_dma);
381 printk(KERN_INFO 378 printk(KERN_ERR "%s(%s) -- ERROR: Unable to allocate DMA maps\n",
382 "%s() -- Error! Unable to allocate DMA Maps for drive %s\n",
383 __func__, hwif->name); 379 __func__, hwif->name);
384 printk(KERN_INFO 380 printk(KERN_INFO "%s: changing from DMA to PIO mode", hwif->name);
385 "Changing from DMA to PIO mode for Drive %s\n", hwif->name);
386 381
387dma_pci_alloc_failure: 382dma_pci_alloc_failure:
388 iounmap(virt_dma_base); 383 iounmap(virt_dma_base);
@@ -618,14 +613,12 @@ sgiioc4_ide_setup_pci_device(struct pci_dev *dev)
618 irqport = (unsigned long) virt_base + IOC4_INTR_OFFSET; 613 irqport = (unsigned long) virt_base + IOC4_INTR_OFFSET;
619 614
620 cmd_phys_base = bar0 + IOC4_CMD_OFFSET; 615 cmd_phys_base = bar0 + IOC4_CMD_OFFSET;
621 if (!request_mem_region(cmd_phys_base, IOC4_CMD_CTL_BLK_SIZE, 616 if (request_mem_region(cmd_phys_base, IOC4_CMD_CTL_BLK_SIZE,
622 DRV_NAME)) { 617 DRV_NAME) == NULL) {
623 printk(KERN_ERR 618 printk(KERN_ERR "%s %s -- ERROR: addresses 0x%08lx to 0x%08lx "
624 "%s %s: -- ERROR, Addresses " 619 "already in use\n", DRV_NAME, pci_name(dev),
625 "0x%p to 0x%p ALREADY in use\n", 620 cmd_phys_base, cmd_phys_base + IOC4_CMD_CTL_BLK_SIZE);
626 DRV_NAME, pci_name(dev), (void *)cmd_phys_base, 621 return -EBUSY;
627 (void *) cmd_phys_base + IOC4_CMD_CTL_BLK_SIZE);
628 return -ENOMEM;
629 } 622 }
630 623
631 /* Initialize the IO registers */ 624 /* Initialize the IO registers */