summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorJeff Garzik <jgarzik@redhat.com>2004-05-15 04:47:04 -0400
committerJeff Garzik <jgarzik@redhat.com>2004-05-15 04:47:04 -0400
commit1ad2c4d10e631707b29e50d1aa6cb1156baf2fab (patch)
treec5c6e6461a18775ec9f6a08a77e97c01456bf0a0 /include/linux
parente92f75e77c3c20cefc65c62c225c14400910e806 (diff)
parent32b467bbd32147352fe26b9dcb616f09db78be57 (diff)
Merge redhat.com:/spare/repo/sata-hacks/atapi-hacks-2.6
into redhat.com:/spare/repo/libata-2.6
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/libata.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/include/linux/libata.h b/include/linux/libata.h
index a7551fae4c42..9dd3a4bf05f9 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -112,7 +112,6 @@ enum {
ATA_QCFLAG_DMA = (1 << 2), /* data delivered via DMA */
ATA_QCFLAG_ATAPI = (1 << 3), /* is ATAPI packet command? */
ATA_QCFLAG_SG = (1 << 4), /* have s/g table? */
- ATA_QCFLAG_POLL = (1 << 5), /* polling, no interrupts */
/* various lengths of time */
ATA_TMOUT_EDD = 5 * HZ, /* hueristic */
@@ -335,6 +334,7 @@ struct ata_port_operations {
void (*phy_reset) (struct ata_port *ap);
void (*post_set_mode) (struct ata_port *ap);
+ void (*bmdma_setup) (struct ata_queued_cmd *qc);
void (*bmdma_start) (struct ata_queued_cmd *qc);
void (*fill_sg) (struct ata_queued_cmd *qc);
void (*eng_timeout) (struct ata_port *ap);
@@ -397,7 +397,9 @@ extern int ata_port_start (struct ata_port *ap);
extern void ata_port_stop (struct ata_port *ap);
extern irqreturn_t ata_interrupt (int irq, void *dev_instance, struct pt_regs *regs);
extern void ata_fill_sg(struct ata_queued_cmd *qc);
+extern void ata_bmdma_setup_mmio (struct ata_queued_cmd *qc);
extern void ata_bmdma_start_mmio (struct ata_queued_cmd *qc);
+extern void ata_bmdma_setup_pio (struct ata_queued_cmd *qc);
extern void ata_bmdma_start_pio (struct ata_queued_cmd *qc);
extern int pci_test_config_bits(struct pci_dev *pdev, struct pci_bits *bits);
extern void ata_qc_complete(struct ata_queued_cmd *qc, u8 drv_stat, unsigned int done_late);
@@ -473,6 +475,12 @@ static inline u8 ata_wait_idle(struct ata_port *ap)
return status;
}
+static inline void ata_qc_set_polling(struct ata_queued_cmd *qc)
+{
+ qc->flags &= ~ATA_QCFLAG_DMA;
+ qc->tf.ctl |= ATA_NIEN;
+}
+
static inline struct ata_queued_cmd *ata_qc_from_tag (struct ata_port *ap,
unsigned int tag)
{