vserver 1.9.3
[linux-2.6.git] / drivers / scsi / sata_vsc.c
index d63a339..880f7f1 100644 (file)
@@ -190,6 +190,7 @@ irqreturn_t vsc_sata_interrupt (int irq, void *dev_instance, struct pt_regs *reg
 static Scsi_Host_Template vsc_sata_sht = {
        .module                 = THIS_MODULE,
        .name                   = DRV_NAME,
+       .ioctl                  = ata_scsi_ioctl,
        .queuecommand           = ata_scsi_queuecmd,
        .eh_strategy_handler    = ata_scsi_error,
        .can_queue              = ATA_DEF_QUEUE,
@@ -210,11 +211,12 @@ static struct ata_port_operations vsc_sata_ops = {
        .port_disable           = ata_port_disable,
        .tf_load                = vsc_sata_tf_load,
        .tf_read                = vsc_sata_tf_read,
-       .exec_command           = ata_exec_command_mmio,
-       .check_status           = ata_check_status_mmio,
+       .exec_command           = ata_exec_command,
+       .check_status           = ata_check_status,
+       .dev_select             = ata_std_dev_select,
        .phy_reset              = sata_phy_reset,
-       .bmdma_setup            = ata_bmdma_setup_mmio,
-       .bmdma_start            = ata_bmdma_start_mmio,
+       .bmdma_setup            = ata_bmdma_setup,
+       .bmdma_start            = ata_bmdma_start,
        .qc_prep                = ata_qc_prep,
        .qc_issue               = ata_qc_issue_prot,
        .eng_timeout            = ata_eng_timeout,
@@ -320,6 +322,7 @@ static int __devinit vsc_sata_init_one (struct pci_dev *pdev, const struct pci_d
         * if we don't fill these
         */
        probe_ent->pio_mask = 0x1f;
+       probe_ent->mwdma_mask = 0x07;
        probe_ent->udma_mask = 0x7f;
 
        /* We have 4 ports per PCI function */