diff options
author | Albert Lee <albertcc@tw.ibm.com> | 2005-09-27 05:39:50 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-09-28 12:07:13 -0400 |
commit | e50362eccd8809a224cda5f71714a088ba37b2ab (patch) | |
tree | 762b753691ef8c4645efaa677b32c57fd33ecbc0 /drivers/scsi/sata_mv.c | |
parent | 312f7da2824c82800ee78d6190f12854456957af (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_mv.c')
-rw-r--r-- | drivers/scsi/sata_mv.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/scsi/sata_mv.c b/drivers/scsi/sata_mv.c index ea76fe44585e..b8f1f6963179 100644 --- a/drivers/scsi/sata_mv.c +++ b/drivers/scsi/sata_mv.c | |||
@@ -241,7 +241,8 @@ static struct ata_port_info mv_port_info[] = { | |||
241 | { /* chip_504x */ | 241 | { /* chip_504x */ |
242 | .sht = &mv_sht, | 242 | .sht = &mv_sht, |
243 | .host_flags = (ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | | 243 | .host_flags = (ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | |
244 | ATA_FLAG_SATA_RESET | ATA_FLAG_MMIO), | 244 | ATA_FLAG_SATA_RESET | ATA_FLAG_MMIO | |
245 | ATA_FLAG_PIO_POLLING), | ||
245 | .pio_mask = 0x1f, /* pio4-0 */ | 246 | .pio_mask = 0x1f, /* pio4-0 */ |
246 | .udma_mask = 0, /* 0x7f (udma6-0 disabled for now) */ | 247 | .udma_mask = 0, /* 0x7f (udma6-0 disabled for now) */ |
247 | .port_ops = &mv_ops, | 248 | .port_ops = &mv_ops, |
@@ -250,7 +251,7 @@ static struct ata_port_info mv_port_info[] = { | |||
250 | .sht = &mv_sht, | 251 | .sht = &mv_sht, |
251 | .host_flags = (ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | | 252 | .host_flags = (ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | |
252 | ATA_FLAG_SATA_RESET | ATA_FLAG_MMIO | | 253 | ATA_FLAG_SATA_RESET | ATA_FLAG_MMIO | |
253 | MV_FLAG_DUAL_HC), | 254 | ATA_FLAG_PIO_POLLING | MV_FLAG_DUAL_HC), |
254 | .pio_mask = 0x1f, /* pio4-0 */ | 255 | .pio_mask = 0x1f, /* pio4-0 */ |
255 | .udma_mask = 0, /* 0x7f (udma6-0 disabled for now) */ | 256 | .udma_mask = 0, /* 0x7f (udma6-0 disabled for now) */ |
256 | .port_ops = &mv_ops, | 257 | .port_ops = &mv_ops, |
@@ -259,6 +260,7 @@ static struct ata_port_info mv_port_info[] = { | |||
259 | .sht = &mv_sht, | 260 | .sht = &mv_sht, |
260 | .host_flags = (ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | | 261 | .host_flags = (ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | |
261 | ATA_FLAG_SATA_RESET | ATA_FLAG_MMIO | | 262 | ATA_FLAG_SATA_RESET | ATA_FLAG_MMIO | |
263 | ATA_FLAG_PIO_POLLING | | ||
262 | MV_FLAG_IRQ_COALESCE | MV_FLAG_BDMA), | 264 | MV_FLAG_IRQ_COALESCE | MV_FLAG_BDMA), |
263 | .pio_mask = 0x1f, /* pio4-0 */ | 265 | .pio_mask = 0x1f, /* pio4-0 */ |
264 | .udma_mask = 0, /* 0x7f (udma6-0 disabled for now) */ | 266 | .udma_mask = 0, /* 0x7f (udma6-0 disabled for now) */ |
@@ -268,6 +270,7 @@ static struct ata_port_info mv_port_info[] = { | |||
268 | .sht = &mv_sht, | 270 | .sht = &mv_sht, |
269 | .host_flags = (ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | | 271 | .host_flags = (ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | |
270 | ATA_FLAG_SATA_RESET | ATA_FLAG_MMIO | | 272 | ATA_FLAG_SATA_RESET | ATA_FLAG_MMIO | |
273 | ATA_FLAG_PIO_POLLING | | ||
271 | MV_FLAG_IRQ_COALESCE | MV_FLAG_DUAL_HC | | 274 | MV_FLAG_IRQ_COALESCE | MV_FLAG_DUAL_HC | |
272 | MV_FLAG_BDMA), | 275 | MV_FLAG_BDMA), |
273 | .pio_mask = 0x1f, /* pio4-0 */ | 276 | .pio_mask = 0x1f, /* pio4-0 */ |