diff options
Diffstat (limited to 'drivers/scsi/sata_promise.c')
-rw-r--r-- | drivers/scsi/sata_promise.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/scsi/sata_promise.c b/drivers/scsi/sata_promise.c index def7e0d9dacb..f67deb0a55c9 100644 --- a/drivers/scsi/sata_promise.c +++ b/drivers/scsi/sata_promise.c | |||
@@ -162,7 +162,8 @@ static struct ata_port_info pdc_port_info[] = { | |||
162 | { | 162 | { |
163 | .sht = &pdc_ata_sht, | 163 | .sht = &pdc_ata_sht, |
164 | .host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | | 164 | .host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | |
165 | ATA_FLAG_SRST | ATA_FLAG_MMIO, | 165 | ATA_FLAG_SRST | ATA_FLAG_MMIO | |
166 | ATA_FLAG_PIO_POLLING, | ||
166 | .pio_mask = 0x1f, /* pio0-4 */ | 167 | .pio_mask = 0x1f, /* pio0-4 */ |
167 | .mwdma_mask = 0x07, /* mwdma0-2 */ | 168 | .mwdma_mask = 0x07, /* mwdma0-2 */ |
168 | .udma_mask = 0x7f, /* udma0-6 ; FIXME */ | 169 | .udma_mask = 0x7f, /* udma0-6 ; FIXME */ |
@@ -173,7 +174,8 @@ static struct ata_port_info pdc_port_info[] = { | |||
173 | { | 174 | { |
174 | .sht = &pdc_ata_sht, | 175 | .sht = &pdc_ata_sht, |
175 | .host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | | 176 | .host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | |
176 | ATA_FLAG_SRST | ATA_FLAG_MMIO, | 177 | ATA_FLAG_SRST | ATA_FLAG_MMIO | |
178 | ATA_FLAG_PIO_POLLING, | ||
177 | .pio_mask = 0x1f, /* pio0-4 */ | 179 | .pio_mask = 0x1f, /* pio0-4 */ |
178 | .mwdma_mask = 0x07, /* mwdma0-2 */ | 180 | .mwdma_mask = 0x07, /* mwdma0-2 */ |
179 | .udma_mask = 0x7f, /* udma0-6 ; FIXME */ | 181 | .udma_mask = 0x7f, /* udma0-6 ; FIXME */ |
@@ -184,7 +186,8 @@ static struct ata_port_info pdc_port_info[] = { | |||
184 | { | 186 | { |
185 | .sht = &pdc_ata_sht, | 187 | .sht = &pdc_ata_sht, |
186 | .host_flags = ATA_FLAG_NO_LEGACY | ATA_FLAG_SRST | | 188 | .host_flags = ATA_FLAG_NO_LEGACY | ATA_FLAG_SRST | |
187 | ATA_FLAG_MMIO | ATA_FLAG_SLAVE_POSS, | 189 | ATA_FLAG_MMIO | ATA_FLAG_SLAVE_POSS | |
190 | ATA_FLAG_PIO_POLLING, | ||
188 | .pio_mask = 0x1f, /* pio0-4 */ | 191 | .pio_mask = 0x1f, /* pio0-4 */ |
189 | .mwdma_mask = 0x07, /* mwdma0-2 */ | 192 | .mwdma_mask = 0x07, /* mwdma0-2 */ |
190 | .udma_mask = 0x7f, /* udma0-6 ; FIXME */ | 193 | .udma_mask = 0x7f, /* udma0-6 ; FIXME */ |
@@ -493,11 +496,11 @@ static irqreturn_t pdc_interrupt (int irq, void *dev_instance, struct pt_regs *r | |||
493 | ap = host_set->ports[i]; | 496 | ap = host_set->ports[i]; |
494 | tmp = mask & (1 << (i + 1)); | 497 | tmp = mask & (1 << (i + 1)); |
495 | if (tmp && ap && | 498 | if (tmp && ap && |
496 | !(ap->flags & (ATA_FLAG_PORT_DISABLED | ATA_FLAG_NOINTR))) { | 499 | !(ap->flags & ATA_FLAG_PORT_DISABLED)) { |
497 | struct ata_queued_cmd *qc; | 500 | struct ata_queued_cmd *qc; |
498 | 501 | ||
499 | qc = ata_qc_from_tag(ap, ap->active_tag); | 502 | qc = ata_qc_from_tag(ap, ap->active_tag); |
500 | if (qc && (!(qc->tf.ctl & ATA_NIEN))) | 503 | if (qc && (!(qc->tf.flags & ATA_TFLAG_POLLING))) |
501 | handled += pdc_host_intr(ap, qc); | 504 | handled += pdc_host_intr(ap, qc); |
502 | } | 505 | } |
503 | } | 506 | } |