VServer 1.9.2 (patch-2.6.8.1-vs1.9.2.diff)
[linux-2.6.git] / drivers / scsi / sata_vsc.c
index 03691b6..d63a339 100644 (file)
@@ -1,6 +1,10 @@
 /*
  *  sata_vsc.c - Vitesse VSC7174 4 port DPA SATA
  *
+ *  Maintained by:  Jeremy Higdon @ SGI
+ *                 Please ALWAYS copy linux-ide@vger.kernel.org
+ *                 on emails.
+ *
  *  Copyright 2004 SGI
  *
  *  Bits from Jeff Garzik, Copyright RedHat, Inc.
@@ -18,7 +22,7 @@
 #include <linux/delay.h>
 #include <linux/interrupt.h>
 #include "scsi.h"
-#include "hosts.h"
+#include <scsi/scsi_host.h>
 #include <linux/libata.h>
 
 #define DRV_NAME       "sata_vsc"
@@ -171,7 +175,7 @@ irqreturn_t vsc_sata_interrupt (int irq, void *dev_instance, struct pt_regs *reg
                                struct ata_queued_cmd *qc;
 
                                qc = ata_qc_from_tag(ap, ap->active_tag);
-                               if (qc && ((qc->flags & ATA_QCFLAG_POLL) == 0))
+                               if (qc && (!(qc->tf.ctl & ATA_NIEN)))
                                        handled += ata_host_intr(ap, qc);
                        }
                }
@@ -209,10 +213,13 @@ static struct ata_port_operations vsc_sata_ops = {
        .exec_command           = ata_exec_command_mmio,
        .check_status           = ata_check_status_mmio,
        .phy_reset              = sata_phy_reset,
+       .bmdma_setup            = ata_bmdma_setup_mmio,
        .bmdma_start            = ata_bmdma_start_mmio,
-       .fill_sg                = ata_fill_sg,
+       .qc_prep                = ata_qc_prep,
+       .qc_issue               = ata_qc_issue_prot,
        .eng_timeout            = ata_eng_timeout,
        .irq_handler            = vsc_sata_interrupt,
+       .irq_clear              = ata_bmdma_irq_clear,
        .scr_read               = vsc_sata_scr_read,
        .scr_write              = vsc_sata_scr_write,
        .port_start             = ata_port_start,