diff options
Diffstat (limited to 'drivers/ata/sata_vsc.c')
-rw-r--r-- | drivers/ata/sata_vsc.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/drivers/ata/sata_vsc.c b/drivers/ata/sata_vsc.c index 1920915dfa2c..0d9be1684873 100644 --- a/drivers/ata/sata_vsc.c +++ b/drivers/ata/sata_vsc.c | |||
@@ -240,7 +240,7 @@ static void vsc_port_intr(u8 port_status, struct ata_port *ap) | |||
240 | return; | 240 | return; |
241 | } | 241 | } |
242 | 242 | ||
243 | qc = ata_qc_from_tag(ap, ap->active_tag); | 243 | qc = ata_qc_from_tag(ap, ap->link.active_tag); |
244 | if (qc && likely(!(qc->tf.flags & ATA_TFLAG_POLLING))) | 244 | if (qc && likely(!(qc->tf.flags & ATA_TFLAG_POLLING))) |
245 | handled = ata_host_intr(ap, qc); | 245 | handled = ata_host_intr(ap, qc); |
246 | 246 | ||
@@ -317,7 +317,6 @@ static struct scsi_host_template vsc_sata_sht = { | |||
317 | 317 | ||
318 | 318 | ||
319 | static const struct ata_port_operations vsc_sata_ops = { | 319 | static const struct ata_port_operations vsc_sata_ops = { |
320 | .port_disable = ata_port_disable, | ||
321 | .tf_load = vsc_sata_tf_load, | 320 | .tf_load = vsc_sata_tf_load, |
322 | .tf_read = vsc_sata_tf_read, | 321 | .tf_read = vsc_sata_tf_read, |
323 | .exec_command = ata_exec_command, | 322 | .exec_command = ata_exec_command, |
@@ -336,7 +335,6 @@ static const struct ata_port_operations vsc_sata_ops = { | |||
336 | .post_internal_cmd = ata_bmdma_post_internal_cmd, | 335 | .post_internal_cmd = ata_bmdma_post_internal_cmd, |
337 | .irq_clear = ata_bmdma_irq_clear, | 336 | .irq_clear = ata_bmdma_irq_clear, |
338 | .irq_on = ata_irq_on, | 337 | .irq_on = ata_irq_on, |
339 | .irq_ack = ata_irq_ack, | ||
340 | .scr_read = vsc_sata_scr_read, | 338 | .scr_read = vsc_sata_scr_read, |
341 | .scr_write = vsc_sata_scr_write, | 339 | .scr_write = vsc_sata_scr_write, |
342 | .port_start = ata_port_start, | 340 | .port_start = ata_port_start, |
@@ -408,9 +406,15 @@ static int __devinit vsc_sata_init_one (struct pci_dev *pdev, const struct pci_d | |||
408 | 406 | ||
409 | mmio_base = host->iomap[VSC_MMIO_BAR]; | 407 | mmio_base = host->iomap[VSC_MMIO_BAR]; |
410 | 408 | ||
411 | for (i = 0; i < host->n_ports; i++) | 409 | for (i = 0; i < host->n_ports; i++) { |
412 | vsc_sata_setup_port(&host->ports[i]->ioaddr, | 410 | struct ata_port *ap = host->ports[i]; |
413 | mmio_base + (i + 1) * VSC_SATA_PORT_OFFSET); | 411 | unsigned int offset = (i + 1) * VSC_SATA_PORT_OFFSET; |
412 | |||
413 | vsc_sata_setup_port(&ap->ioaddr, mmio_base + offset); | ||
414 | |||
415 | ata_port_pbar_desc(ap, VSC_MMIO_BAR, -1, "mmio"); | ||
416 | ata_port_pbar_desc(ap, VSC_MMIO_BAR, offset, "port"); | ||
417 | } | ||
414 | 418 | ||
415 | /* | 419 | /* |
416 | * Use 32 bit DMA mask, because 64 bit address support is poor. | 420 | * Use 32 bit DMA mask, because 64 bit address support is poor. |