~ubuntu-branches/ubuntu/lucid/linux-rt/lucid

« back to all changes in this revision

Viewing changes to include/linux/libata.h

  • Committer: Bazaar Package Importer
  • Author(s): Luke Yelavich
  • Date: 2009-08-05 23:00:52 UTC
  • Revision ID: james.westby@ubuntu.com-20090805230052-7xedvqcyk9dnnxb2
Tags: 2.6.31-1.1
New upstream release

Show diffs side-by-side

added added

removed removed

Lines of Context:
209
209
 
210
210
        /* bits 24:31 of ap->flags are reserved for LLD specific flags */
211
211
 
 
212
 
212
213
        /* struct ata_port pflags */
213
214
        ATA_PFLAG_EH_PENDING    = (1 << 0), /* EH pending */
214
215
        ATA_PFLAG_EH_IN_PROGRESS = (1 << 1), /* EH in progress */
225
226
        ATA_PFLAG_PM_PENDING    = (1 << 18), /* PM operation pending */
226
227
        ATA_PFLAG_INIT_GTM_VALID = (1 << 19), /* initial gtm data valid */
227
228
 
 
229
        ATA_PFLAG_PIO32         = (1 << 20),  /* 32bit PIO */
 
230
        ATA_PFLAG_PIO32CHANGE   = (1 << 21),  /* 32bit PIO can be turned on/off */
 
231
 
228
232
        /* struct ata_queued_cmd flags */
229
233
        ATA_QCFLAG_ACTIVE       = (1 << 0), /* cmd not yet ack'd to scsi lyer */
230
234
        ATA_QCFLAG_DMAMAP       = (1 << 1), /* SG table is DMA mapped */
379
383
        ATA_HORKAGE_BRIDGE_OK   = (1 << 10),    /* no bridge limits */
380
384
        ATA_HORKAGE_ATAPI_MOD16_DMA = (1 << 11), /* use ATAPI DMA for commands
381
385
                                                    not multiple of 16 bytes */
382
 
        ATA_HORKAGE_FIRMWARE_WARN = (1 << 12),  /* firwmare update warning */
 
386
        ATA_HORKAGE_FIRMWARE_WARN = (1 << 12),  /* firmware update warning */
383
387
        ATA_HORKAGE_1_5_GBPS    = (1 << 13),    /* force 1.5 Gbps */
 
388
        ATA_HORKAGE_NOSETXFER   = (1 << 14),    /* skip SETXFER, SATA only */
384
389
 
385
390
         /* DMA mask for user DMA control: User visible values; DO NOT
386
391
            renumber */
689
694
        struct Scsi_Host        *scsi_host; /* our co-allocated scsi host */
690
695
        struct ata_port_operations *ops;
691
696
        spinlock_t              *lock;
 
697
        /* Flags owned by the EH context. Only EH should touch these once the
 
698
           port is active */
692
699
        unsigned long           flags;  /* ATA_FLAG_xxx */
 
700
        /* Flags that change dynamically, protected by ap->lock */
693
701
        unsigned int            pflags; /* ATA_PFLAG_xxx */
694
702
        unsigned int            print_id; /* user visible unique port ID */
695
703
        unsigned int            port_no; /* 0 based port no. inside the host */
795
803
        ata_reset_fn_t          pmp_hardreset;
796
804
        ata_postreset_fn_t      pmp_postreset;
797
805
        void (*error_handler)(struct ata_port *ap);
 
806
        void (*lost_interrupt)(struct ata_port *ap);
798
807
        void (*post_internal_cmd)(struct ata_queued_cmd *qc);
799
808
 
800
809
        /*
836
845
        void (*bmdma_start)(struct ata_queued_cmd *qc);
837
846
        void (*bmdma_stop)(struct ata_queued_cmd *qc);
838
847
        u8   (*bmdma_status)(struct ata_port *ap);
 
848
 
 
849
        void (*drain_fifo)(struct ata_queued_cmd *qc);
839
850
#endif /* CONFIG_ATA_SFF */
840
851
 
841
852
        ssize_t (*em_show)(struct ata_port *ap, char *buf);
1008
1019
extern int ata_cable_ignore(struct ata_port *ap);
1009
1020
extern int ata_cable_unknown(struct ata_port *ap);
1010
1021
 
 
1022
extern void ata_pio_queue_task(struct ata_port *ap, void *data,
 
1023
                               unsigned long delay);
 
1024
 
1011
1025
/* Timing helpers */
1012
1026
extern unsigned int ata_pio_need_iordy(const struct ata_device *);
1013
1027
extern const struct ata_timing *ata_timing_find_mode(u8 xfer_mode);
1572
1586
extern unsigned int ata_sff_host_intr(struct ata_port *ap,
1573
1587
                                      struct ata_queued_cmd *qc);
1574
1588
extern irqreturn_t ata_sff_interrupt(int irq, void *dev_instance);
 
1589
extern void ata_sff_lost_interrupt(struct ata_port *ap);
1575
1590
extern void ata_sff_freeze(struct ata_port *ap);
1576
1591
extern void ata_sff_thaw(struct ata_port *ap);
1577
1592
extern int ata_sff_prereset(struct ata_link *link, unsigned long deadline);
1584
1599
extern int sata_sff_hardreset(struct ata_link *link, unsigned int *class,
1585
1600
                               unsigned long deadline);
1586
1601
extern void ata_sff_postreset(struct ata_link *link, unsigned int *classes);
 
1602
extern void ata_sff_drain_fifo(struct ata_queued_cmd *qc);
1587
1603
extern void ata_sff_error_handler(struct ata_port *ap);
1588
1604
extern void ata_sff_post_internal_cmd(struct ata_queued_cmd *qc);
1589
1605
extern int ata_sff_port_start(struct ata_port *ap);
 
1606
extern int ata_sff_port_start32(struct ata_port *ap);
1590
1607
extern void ata_sff_std_ports(struct ata_ioports *ioaddr);
1591
1608
extern unsigned long ata_bmdma_mode_filter(struct ata_device *dev,
1592
1609
                                           unsigned long xfer_mask);