aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ide')
-rw-r--r--drivers/ide/au1xxx-ide.c21
-rw-r--r--drivers/ide/ide-acpi.c8
-rw-r--r--drivers/ide/ide-disk.c2
-rw-r--r--drivers/ide/ide-floppy.c4
-rw-r--r--drivers/ide/ide-probe.c5
5 files changed, 18 insertions, 22 deletions
diff --git a/drivers/ide/au1xxx-ide.c b/drivers/ide/au1xxx-ide.c
index bd0930a60b0c..b26c23416fa7 100644
--- a/drivers/ide/au1xxx-ide.c
+++ b/drivers/ide/au1xxx-ide.c
@@ -56,8 +56,8 @@ static inline void auide_insw(unsigned long port, void *addr, u32 count)
56 chan_tab_t *ctp; 56 chan_tab_t *ctp;
57 au1x_ddma_desc_t *dp; 57 au1x_ddma_desc_t *dp;
58 58
59 if(!put_dest_flags(ahwif->rx_chan, (void*)addr, count << 1, 59 if (!au1xxx_dbdma_put_dest(ahwif->rx_chan, virt_to_phys(addr),
60 DDMA_FLAGS_NOIE)) { 60 count << 1, DDMA_FLAGS_NOIE)) {
61 printk(KERN_ERR "%s failed %d\n", __func__, __LINE__); 61 printk(KERN_ERR "%s failed %d\n", __func__, __LINE__);
62 return; 62 return;
63 } 63 }
@@ -74,8 +74,8 @@ static inline void auide_outsw(unsigned long port, void *addr, u32 count)
74 chan_tab_t *ctp; 74 chan_tab_t *ctp;
75 au1x_ddma_desc_t *dp; 75 au1x_ddma_desc_t *dp;
76 76
77 if(!put_source_flags(ahwif->tx_chan, (void*)addr, 77 if (!au1xxx_dbdma_put_source(ahwif->tx_chan, virt_to_phys(addr),
78 count << 1, DDMA_FLAGS_NOIE)) { 78 count << 1, DDMA_FLAGS_NOIE)) {
79 printk(KERN_ERR "%s failed %d\n", __func__, __LINE__); 79 printk(KERN_ERR "%s failed %d\n", __func__, __LINE__);
80 return; 80 return;
81 } 81 }
@@ -245,17 +245,14 @@ static int auide_build_dmatable(ide_drive_t *drive, struct ide_cmd *cmd)
245 flags = DDMA_FLAGS_NOIE; 245 flags = DDMA_FLAGS_NOIE;
246 246
247 if (iswrite) { 247 if (iswrite) {
248 if(!put_source_flags(ahwif->tx_chan, 248 if (!au1xxx_dbdma_put_source(ahwif->tx_chan,
249 (void*) sg_virt(sg), 249 sg_phys(sg), tc, flags)) {
250 tc, flags)) {
251 printk(KERN_ERR "%s failed %d\n", 250 printk(KERN_ERR "%s failed %d\n",
252 __func__, __LINE__); 251 __func__, __LINE__);
253 } 252 }
254 } else 253 } else {
255 { 254 if (!au1xxx_dbdma_put_dest(ahwif->rx_chan,
256 if(!put_dest_flags(ahwif->rx_chan, 255 sg_phys(sg), tc, flags)) {
257 (void*) sg_virt(sg),
258 tc, flags)) {
259 printk(KERN_ERR "%s failed %d\n", 256 printk(KERN_ERR "%s failed %d\n",
260 __func__, __LINE__); 257 __func__, __LINE__);
261 } 258 }
diff --git a/drivers/ide/ide-acpi.c b/drivers/ide/ide-acpi.c
index c0cf45a11b93..5cb01e5c323c 100644
--- a/drivers/ide/ide-acpi.c
+++ b/drivers/ide/ide-acpi.c
@@ -108,11 +108,11 @@ bool ide_port_acpi(ide_hwif_t *hwif)
108 * Returns 0 on success, <0 on error. 108 * Returns 0 on success, <0 on error.
109 */ 109 */
110static int ide_get_dev_handle(struct device *dev, acpi_handle *handle, 110static int ide_get_dev_handle(struct device *dev, acpi_handle *handle,
111 acpi_integer *pcidevfn) 111 u64 *pcidevfn)
112{ 112{
113 struct pci_dev *pdev = to_pci_dev(dev); 113 struct pci_dev *pdev = to_pci_dev(dev);
114 unsigned int bus, devnum, func; 114 unsigned int bus, devnum, func;
115 acpi_integer addr; 115 u64 addr;
116 acpi_handle dev_handle; 116 acpi_handle dev_handle;
117 acpi_status status; 117 acpi_status status;
118 struct acpi_device_info *dinfo = NULL; 118 struct acpi_device_info *dinfo = NULL;
@@ -122,7 +122,7 @@ static int ide_get_dev_handle(struct device *dev, acpi_handle *handle,
122 devnum = PCI_SLOT(pdev->devfn); 122 devnum = PCI_SLOT(pdev->devfn);
123 func = PCI_FUNC(pdev->devfn); 123 func = PCI_FUNC(pdev->devfn);
124 /* ACPI _ADR encoding for PCI bus: */ 124 /* ACPI _ADR encoding for PCI bus: */
125 addr = (acpi_integer)(devnum << 16 | func); 125 addr = (u64)(devnum << 16 | func);
126 126
127 DEBPRINT("ENTER: pci %02x:%02x.%01x\n", bus, devnum, func); 127 DEBPRINT("ENTER: pci %02x:%02x.%01x\n", bus, devnum, func);
128 128
@@ -169,7 +169,7 @@ static acpi_handle ide_acpi_hwif_get_handle(ide_hwif_t *hwif)
169{ 169{
170 struct device *dev = hwif->gendev.parent; 170 struct device *dev = hwif->gendev.parent;
171 acpi_handle uninitialized_var(dev_handle); 171 acpi_handle uninitialized_var(dev_handle);
172 acpi_integer pcidevfn; 172 u64 pcidevfn;
173 acpi_handle chan_handle; 173 acpi_handle chan_handle;
174 int err; 174 int err;
175 175
diff --git a/drivers/ide/ide-disk.c b/drivers/ide/ide-disk.c
index 7f878017b736..3b128dce9c3a 100644
--- a/drivers/ide/ide-disk.c
+++ b/drivers/ide/ide-disk.c
@@ -679,7 +679,7 @@ static void ide_disk_setup(ide_drive_t *drive)
679 if (max_s > hwif->rqsize) 679 if (max_s > hwif->rqsize)
680 max_s = hwif->rqsize; 680 max_s = hwif->rqsize;
681 681
682 blk_queue_max_sectors(q, max_s); 682 blk_queue_max_hw_sectors(q, max_s);
683 } 683 }
684 684
685 printk(KERN_INFO "%s: max request size: %dKiB\n", drive->name, 685 printk(KERN_INFO "%s: max request size: %dKiB\n", drive->name,
diff --git a/drivers/ide/ide-floppy.c b/drivers/ide/ide-floppy.c
index fefbdfc8db06..efd907623469 100644
--- a/drivers/ide/ide-floppy.c
+++ b/drivers/ide/ide-floppy.c
@@ -486,7 +486,7 @@ static void ide_floppy_setup(ide_drive_t *drive)
486 drive->atapi_flags |= IDE_AFLAG_ZIP_DRIVE; 486 drive->atapi_flags |= IDE_AFLAG_ZIP_DRIVE;
487 /* This value will be visible in the /proc/ide/hdx/settings */ 487 /* This value will be visible in the /proc/ide/hdx/settings */
488 drive->pc_delay = IDEFLOPPY_PC_DELAY; 488 drive->pc_delay = IDEFLOPPY_PC_DELAY;
489 blk_queue_max_sectors(drive->queue, 64); 489 blk_queue_max_hw_sectors(drive->queue, 64);
490 } 490 }
491 491
492 /* 492 /*
@@ -494,7 +494,7 @@ static void ide_floppy_setup(ide_drive_t *drive)
494 * nasty clicking noises without it, so please don't remove this. 494 * nasty clicking noises without it, so please don't remove this.
495 */ 495 */
496 if (strncmp((char *)&id[ATA_ID_PROD], "IOMEGA Clik!", 11) == 0) { 496 if (strncmp((char *)&id[ATA_ID_PROD], "IOMEGA Clik!", 11) == 0) {
497 blk_queue_max_sectors(drive->queue, 64); 497 blk_queue_max_hw_sectors(drive->queue, 64);
498 drive->atapi_flags |= IDE_AFLAG_CLIK_DRIVE; 498 drive->atapi_flags |= IDE_AFLAG_CLIK_DRIVE;
499 /* IOMEGA Clik! drives do not support lock/unlock commands */ 499 /* IOMEGA Clik! drives do not support lock/unlock commands */
500 drive->dev_flags &= ~IDE_DFLAG_DOORLOCKING; 500 drive->dev_flags &= ~IDE_DFLAG_DOORLOCKING;
diff --git a/drivers/ide/ide-probe.c b/drivers/ide/ide-probe.c
index 9a9f10f4cf9f..fbedd35feb44 100644
--- a/drivers/ide/ide-probe.c
+++ b/drivers/ide/ide-probe.c
@@ -774,7 +774,7 @@ static int ide_init_queue(ide_drive_t *drive)
774 774
775 if (hwif->rqsize < max_sectors) 775 if (hwif->rqsize < max_sectors)
776 max_sectors = hwif->rqsize; 776 max_sectors = hwif->rqsize;
777 blk_queue_max_sectors(q, max_sectors); 777 blk_queue_max_hw_sectors(q, max_sectors);
778 778
779#ifdef CONFIG_PCI 779#ifdef CONFIG_PCI
780 /* When we have an IOMMU, we may have a problem where pci_map_sg() 780 /* When we have an IOMMU, we may have a problem where pci_map_sg()
@@ -790,8 +790,7 @@ static int ide_init_queue(ide_drive_t *drive)
790 max_sg_entries >>= 1; 790 max_sg_entries >>= 1;
791#endif /* CONFIG_PCI */ 791#endif /* CONFIG_PCI */
792 792
793 blk_queue_max_hw_segments(q, max_sg_entries); 793 blk_queue_max_segments(q, max_sg_entries);
794 blk_queue_max_phys_segments(q, max_sg_entries);
795 794
796 /* assign drive queue */ 795 /* assign drive queue */
797 drive->queue = q; 796 drive->queue = q;