diff options
author | Jeff Garzik <jgarzik@pobox.com> | 2005-08-29 15:59:42 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-08-29 15:59:42 -0400 |
commit | 70d374ea9907036e15574a5ce89219edd5baee10 (patch) | |
tree | b858bb4a841eb91b1d91b41c33698d05fa7bfb37 /drivers/scsi/sata_nv.c | |
parent | aa7e16d6b88b3b38db0d2ee49ed5e44e7b2045ec (diff) | |
parent | bf4e70e54cf31dcca48d279c7f7e71328eebe749 (diff) |
Merge /spare/repo/linux-2.6/
Diffstat (limited to 'drivers/scsi/sata_nv.c')
-rw-r--r-- | drivers/scsi/sata_nv.c | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/drivers/scsi/sata_nv.c b/drivers/scsi/sata_nv.c index a61c1509aebb..03d9bc6e69df 100644 --- a/drivers/scsi/sata_nv.c +++ b/drivers/scsi/sata_nv.c | |||
@@ -30,6 +30,12 @@ | |||
30 | * hotplug info, etc. | 30 | * hotplug info, etc. |
31 | * | 31 | * |
32 | * | 32 | * |
33 | * 0.08 | ||
34 | * - Added support for MCP51 and MCP55. | ||
35 | * | ||
36 | * 0.07 | ||
37 | * - Added support for RAID class code. | ||
38 | * | ||
33 | * 0.06 | 39 | * 0.06 |
34 | * - Added generic SATA support by using a pci_device_id that filters on | 40 | * - Added generic SATA support by using a pci_device_id that filters on |
35 | * the IDE storage class code. | 41 | * the IDE storage class code. |
@@ -58,7 +64,7 @@ | |||
58 | #include <linux/libata.h> | 64 | #include <linux/libata.h> |
59 | 65 | ||
60 | #define DRV_NAME "sata_nv" | 66 | #define DRV_NAME "sata_nv" |
61 | #define DRV_VERSION "0.6" | 67 | #define DRV_VERSION "0.8" |
62 | 68 | ||
63 | #define NV_PORTS 2 | 69 | #define NV_PORTS 2 |
64 | #define NV_PIO_MASK 0x1f | 70 | #define NV_PIO_MASK 0x1f |
@@ -126,7 +132,9 @@ enum nv_host_type | |||
126 | GENERIC, | 132 | GENERIC, |
127 | NFORCE2, | 133 | NFORCE2, |
128 | NFORCE3, | 134 | NFORCE3, |
129 | CK804 | 135 | CK804, |
136 | MCP51, | ||
137 | MCP55 | ||
130 | }; | 138 | }; |
131 | 139 | ||
132 | static struct pci_device_id nv_pci_tbl[] = { | 140 | static struct pci_device_id nv_pci_tbl[] = { |
@@ -144,9 +152,18 @@ static struct pci_device_id nv_pci_tbl[] = { | |||
144 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, CK804 }, | 152 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, CK804 }, |
145 | { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP04_SATA2, | 153 | { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP04_SATA2, |
146 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, CK804 }, | 154 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, CK804 }, |
155 | { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP51_SATA, | ||
156 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, MCP51 }, | ||
157 | { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP51_SATA2, | ||
158 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, MCP51 }, | ||
159 | { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP55_SATA, | ||
160 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, MCP55 }, | ||
147 | { PCI_VENDOR_ID_NVIDIA, PCI_ANY_ID, | 161 | { PCI_VENDOR_ID_NVIDIA, PCI_ANY_ID, |
148 | PCI_ANY_ID, PCI_ANY_ID, | 162 | PCI_ANY_ID, PCI_ANY_ID, |
149 | PCI_CLASS_STORAGE_IDE<<8, 0xffff00, GENERIC }, | 163 | PCI_CLASS_STORAGE_IDE<<8, 0xffff00, GENERIC }, |
164 | { PCI_VENDOR_ID_NVIDIA, PCI_ANY_ID, | ||
165 | PCI_ANY_ID, PCI_ANY_ID, | ||
166 | PCI_CLASS_STORAGE_RAID<<8, 0xffff00, GENERIC }, | ||
150 | { 0, } /* terminate list */ | 167 | { 0, } /* terminate list */ |
151 | }; | 168 | }; |
152 | 169 | ||
@@ -284,7 +301,8 @@ static irqreturn_t nv_interrupt (int irq, void *dev_instance, | |||
284 | struct ata_port *ap; | 301 | struct ata_port *ap; |
285 | 302 | ||
286 | ap = host_set->ports[i]; | 303 | ap = host_set->ports[i]; |
287 | if (ap && (!(ap->flags & ATA_FLAG_PORT_DISABLED))) { | 304 | if (ap && |
305 | !(ap->flags & (ATA_FLAG_PORT_DISABLED | ATA_FLAG_NOINTR))) { | ||
288 | struct ata_queued_cmd *qc; | 306 | struct ata_queued_cmd *qc; |
289 | 307 | ||
290 | qc = ata_qc_from_tag(ap, ap->active_tag); | 308 | qc = ata_qc_from_tag(ap, ap->active_tag); |