aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/sata_vsc.c
diff options
context:
space:
mode:
authorAlbert Lee <albertcc@tw.ibm.com>2005-09-27 05:39:50 -0400
committerJeff Garzik <jgarzik@pobox.com>2005-09-28 12:07:13 -0400
commite50362eccd8809a224cda5f71714a088ba37b2ab (patch)
tree762b753691ef8c4645efaa677b32c57fd33ecbc0 /drivers/scsi/sata_vsc.c
parent312f7da2824c82800ee78d6190f12854456957af (diff)
[PATCH] libata: interrupt driven pio for LLD
libata.h: libata-core: Add ATA_FLAG_PIO_POLLING flag for LLDs that expect interrupt for command completion only. sata_nv.c: sata_vsc.c: irq handler is wrapper around ata_host_intr(), can handle PIO interrupts. sata_promise.c: sata_sx4.c: sata_qstor.c: sata_mv.c: Private irq handler. Polling mode ATA_FLAG_PIO_POLLING used for compatibility. Signed-off-by: Albert Lee <albertcc@tw.ibm.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Diffstat (limited to 'drivers/scsi/sata_vsc.c')
-rw-r--r--drivers/scsi/sata_vsc.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/scsi/sata_vsc.c b/drivers/scsi/sata_vsc.c
index cf94e0158a8d..92378d768c86 100644
--- a/drivers/scsi/sata_vsc.c
+++ b/drivers/scsi/sata_vsc.c
@@ -193,12 +193,12 @@ static irqreturn_t vsc_sata_interrupt (int irq, void *dev_instance,
193 struct ata_port *ap; 193 struct ata_port *ap;
194 194
195 ap = host_set->ports[i]; 195 ap = host_set->ports[i];
196 if (ap && !(ap->flags & 196 if (ap &&
197 (ATA_FLAG_PORT_DISABLED|ATA_FLAG_NOINTR))) { 197 !(ap->flags & ATA_FLAG_PORT_DISABLED)) {
198 struct ata_queued_cmd *qc; 198 struct ata_queued_cmd *qc;
199 199
200 qc = ata_qc_from_tag(ap, ap->active_tag); 200 qc = ata_qc_from_tag(ap, ap->active_tag);
201 if (qc && (!(qc->tf.ctl & ATA_NIEN))) 201 if (qc && (!(qc->tf.flags & ATA_TFLAG_POLLING)))
202 handled += ata_host_intr(ap, qc); 202 handled += ata_host_intr(ap, qc);
203 } 203 }
204 } 204 }