diff options
| author | Jeff Garzik <jgarzik@redhat.com> | 2004-05-15 04:47:04 -0400 |
|---|---|---|
| committer | Jeff Garzik <jgarzik@redhat.com> | 2004-05-15 04:47:04 -0400 |
| commit | 1ad2c4d10e631707b29e50d1aa6cb1156baf2fab (patch) | |
| tree | c5c6e6461a18775ec9f6a08a77e97c01456bf0a0 /include/linux | |
| parent | e92f75e77c3c20cefc65c62c225c14400910e806 (diff) | |
| parent | 32b467bbd32147352fe26b9dcb616f09db78be57 (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.h | 10 |
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) { |
