linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / include / linux / ata.h
index 3671af8..94f77cc 100644 (file)
@@ -97,9 +97,6 @@ enum {
        ATA_DRQ                 = (1 << 3),     /* data request i/o */
        ATA_ERR                 = (1 << 0),     /* have an error */
        ATA_SRST                = (1 << 2),     /* software reset */
-       ATA_ICRC                = (1 << 7),     /* interface CRC error */
-       ATA_UNC                 = (1 << 6),     /* uncorrectable media error */
-       ATA_IDNF                = (1 << 4),     /* ID not found */
        ATA_ABORTED             = (1 << 2),     /* command aborted */
 
        /* ATA command block registers */
@@ -133,8 +130,6 @@ enum {
        ATA_CMD_WRITE           = 0xCA,
        ATA_CMD_WRITE_EXT       = 0x35,
        ATA_CMD_WRITE_FUA_EXT   = 0x3D,
-       ATA_CMD_FPDMA_READ      = 0x60,
-       ATA_CMD_FPDMA_WRITE     = 0x61,
        ATA_CMD_PIO_READ        = 0x20,
        ATA_CMD_PIO_READ_EXT    = 0x24,
        ATA_CMD_PIO_WRITE       = 0x30,
@@ -151,12 +146,6 @@ enum {
        ATA_CMD_STANDBYNOW1     = 0xE0,
        ATA_CMD_IDLEIMMEDIATE   = 0xE1,
        ATA_CMD_INIT_DEV_PARAMS = 0x91,
-       ATA_CMD_READ_NATIVE_MAX = 0xF8,
-       ATA_CMD_READ_NATIVE_MAX_EXT = 0x27,
-       ATA_CMD_READ_LOG_EXT    = 0x2f,
-
-       /* READ_LOG_EXT pages */
-       ATA_LOG_SATA_NCQ        = 0x10,
 
        /* SETFEATURES stuff */
        SETFEATURES_XFER        = 0x03,
@@ -181,9 +170,6 @@ enum {
        XFER_PIO_0              = 0x08,
        XFER_PIO_SLOW           = 0x00,
 
-       SETFEATURES_WC_ON       = 0x02, /* Enable write cache */
-       SETFEATURES_WC_OFF      = 0x82, /* Disable write cache */
-
        /* ATAPI stuff */
        ATAPI_PKT_DMA           = (1 << 0),
        ATAPI_DMADIR            = (1 << 2),     /* ATAPI data dir:
@@ -204,16 +190,6 @@ enum {
        SCR_ACTIVE              = 3,
        SCR_NOTIFICATION        = 4,
 
-       /* SError bits */
-       SERR_DATA_RECOVERED     = (1 << 0), /* recovered data error */
-       SERR_COMM_RECOVERED     = (1 << 1), /* recovered comm failure */
-       SERR_DATA               = (1 << 8), /* unrecovered data error */
-       SERR_PERSISTENT         = (1 << 9), /* persistent data/comm error */
-       SERR_PROTOCOL           = (1 << 10), /* protocol violation */
-       SERR_INTERNAL           = (1 << 11), /* host internal error */
-       SERR_PHYRDY_CHG         = (1 << 16), /* PHY RDY changed */
-       SERR_DEV_XCHG           = (1 << 26), /* device exchanged */
-
        /* struct ata_taskfile flags */
        ATA_TFLAG_LBA48         = (1 << 0), /* enable 48-bit LBA and "HOB" */
        ATA_TFLAG_ISADDR        = (1 << 1), /* enable r/w to nsect/lba regs */
@@ -221,7 +197,6 @@ enum {
        ATA_TFLAG_WRITE         = (1 << 3), /* data dir: host->dev==1 (write) */
        ATA_TFLAG_LBA           = (1 << 4), /* enable LBA */
        ATA_TFLAG_FUA           = (1 << 5), /* enable FUA */
-       ATA_TFLAG_POLLING       = (1 << 6), /* set nIEN to 1 and use polling */
 };
 
 enum ata_tf_protocols {
@@ -229,8 +204,8 @@ enum ata_tf_protocols {
        ATA_PROT_UNKNOWN,       /* unknown/invalid */
        ATA_PROT_NODATA,        /* no data */
        ATA_PROT_PIO,           /* PIO single sector */
+       ATA_PROT_PIO_MULT,      /* PIO multiple sector */
        ATA_PROT_DMA,           /* DMA */
-       ATA_PROT_NCQ,           /* NCQ */
        ATA_PROT_ATAPI,         /* packet command, PIO data xfer*/
        ATA_PROT_ATAPI_NODATA,  /* packet command, no data */
        ATA_PROT_ATAPI_DMA,     /* packet command with special DMA sauce */
@@ -272,24 +247,18 @@ struct ata_taskfile {
 };
 
 #define ata_id_is_ata(id)      (((id)[0] & (1 << 15)) == 0)
-#define ata_id_is_cfa(id)      ((id)[0] == 0x848A)
 #define ata_id_is_sata(id)     ((id)[93] == 0)
 #define ata_id_rahead_enabled(id) ((id)[85] & (1 << 6))
 #define ata_id_wcache_enabled(id) ((id)[85] & (1 << 5))
-#define ata_id_hpa_enabled(id) ((id)[85] & (1 << 10))
 #define ata_id_has_fua(id)     ((id)[84] & (1 << 6))
 #define ata_id_has_flush(id)   ((id)[83] & (1 << 12))
 #define ata_id_has_flush_ext(id) ((id)[83] & (1 << 13))
 #define ata_id_has_lba48(id)   ((id)[83] & (1 << 10))
-#define ata_id_has_hpa(id)     ((id)[82] & (1 << 10))
 #define ata_id_has_wcache(id)  ((id)[82] & (1 << 5))
 #define ata_id_has_pm(id)      ((id)[82] & (1 << 3))
 #define ata_id_has_lba(id)     ((id)[49] & (1 << 9))
 #define ata_id_has_dma(id)     ((id)[49] & (1 << 8))
-#define ata_id_has_ncq(id)     ((id)[76] & (1 << 8))
-#define ata_id_queue_depth(id) (((id)[75] & 0x1f) + 1)
 #define ata_id_removeable(id)  ((id)[0] & (1 << 7))
-#define ata_id_has_dword_io(id)        ((id)[50] & (1 << 0))
 #define ata_id_u32(id,n)       \
        (((u32) (id)[(n) + 1] << 16) | ((u32) (id)[(n)]))
 #define ata_id_u64(id,n)       \
@@ -298,18 +267,6 @@ struct ata_taskfile {
          ((u64) (id)[(n) + 1] << 16) | \
          ((u64) (id)[(n) + 0]) )
 
-#define ata_id_cdb_intr(id)    (((id)[0] & 0x60) == 0x20)
-
-static inline unsigned int ata_id_major_version(const u16 *id)
-{
-       unsigned int mver;
-
-       for (mver = 14; mver >= 1; mver--)
-               if (id[ATA_ID_MAJOR_VER] & (1 << mver))
-                       break;
-       return mver;
-}
-
 static inline int ata_id_current_chs_valid(const u16 *id)
 {
        /* For ATA-1 devices, if the INITIALIZE DEVICE PARAMETERS command 
@@ -339,31 +296,10 @@ static inline int is_atapi_taskfile(const struct ata_taskfile *tf)
               (tf->protocol == ATA_PROT_ATAPI_DMA);
 }
 
-static inline int is_multi_taskfile(struct ata_taskfile *tf)
-{
-       return (tf->command == ATA_CMD_READ_MULTI) ||
-              (tf->command == ATA_CMD_WRITE_MULTI) ||
-              (tf->command == ATA_CMD_READ_MULTI_EXT) ||
-              (tf->command == ATA_CMD_WRITE_MULTI_EXT) ||
-              (tf->command == ATA_CMD_WRITE_MULTI_FUA_EXT);
-}
-
 static inline int ata_ok(u8 status)
 {
        return ((status & (ATA_BUSY | ATA_DRDY | ATA_DF | ATA_DRQ | ATA_ERR))
                        == ATA_DRDY);
 }
 
-static inline int lba_28_ok(u64 block, u32 n_block)
-{
-       /* check the ending block number */
-       return ((block + n_block - 1) < ((u64)1 << 28)) && (n_block <= 256);
-}
-
-static inline int lba_48_ok(u64 block, u32 n_block)
-{
-       /* check the ending block number */
-       return ((block + n_block - 1) < ((u64)1 << 48)) && (n_block <= 65536);
-}
-
 #endif /* __LINUX_ATA_H__ */