diff options
author | Shane Huang <shane.huang@amd.com> | 2012-09-07 10:38:20 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2012-09-13 01:07:27 -0400 |
commit | 583661a89ed2e484bd295e7b4606099340478c38 (patch) | |
tree | 1fd13a7c23df5794e9ddc572739e38619e4c54a9 | |
parent | 9973a1c306a01804c41ab34166f1320c9f209038 (diff) |
ata: define enum constants for IDENTIFY DEVICE
Define enumeration constants for IDENTIFY DEVICE words.
Signed-off-by: Shane Huang <shane.huang@amd.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
-rw-r--r-- | include/linux/ata.h | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/include/linux/ata.h b/include/linux/ata.h index 5713d3ac381a..47a9dbf02159 100644 --- a/include/linux/ata.h +++ b/include/linux/ata.h | |||
@@ -77,6 +77,9 @@ enum { | |||
77 | ATA_ID_EIDE_PIO_IORDY = 68, | 77 | ATA_ID_EIDE_PIO_IORDY = 68, |
78 | ATA_ID_ADDITIONAL_SUPP = 69, | 78 | ATA_ID_ADDITIONAL_SUPP = 69, |
79 | ATA_ID_QUEUE_DEPTH = 75, | 79 | ATA_ID_QUEUE_DEPTH = 75, |
80 | ATA_ID_SATA_CAPABILITY = 76, | ||
81 | ATA_ID_SATA_CAPABILITY_2 = 77, | ||
82 | ATA_ID_FEATURE_SUPP = 78, | ||
80 | ATA_ID_MAJOR_VER = 80, | 83 | ATA_ID_MAJOR_VER = 80, |
81 | ATA_ID_COMMAND_SET_1 = 82, | 84 | ATA_ID_COMMAND_SET_1 = 82, |
82 | ATA_ID_COMMAND_SET_2 = 83, | 85 | ATA_ID_COMMAND_SET_2 = 83, |
@@ -558,15 +561,17 @@ static inline int ata_is_data(u8 prot) | |||
558 | #define ata_id_is_ata(id) (((id)[ATA_ID_CONFIG] & (1 << 15)) == 0) | 561 | #define ata_id_is_ata(id) (((id)[ATA_ID_CONFIG] & (1 << 15)) == 0) |
559 | #define ata_id_has_lba(id) ((id)[ATA_ID_CAPABILITY] & (1 << 9)) | 562 | #define ata_id_has_lba(id) ((id)[ATA_ID_CAPABILITY] & (1 << 9)) |
560 | #define ata_id_has_dma(id) ((id)[ATA_ID_CAPABILITY] & (1 << 8)) | 563 | #define ata_id_has_dma(id) ((id)[ATA_ID_CAPABILITY] & (1 << 8)) |
561 | #define ata_id_has_ncq(id) ((id)[76] & (1 << 8)) | 564 | #define ata_id_has_ncq(id) ((id)[ATA_ID_SATA_CAPABILITY] & (1 << 8)) |
562 | #define ata_id_queue_depth(id) (((id)[ATA_ID_QUEUE_DEPTH] & 0x1f) + 1) | 565 | #define ata_id_queue_depth(id) (((id)[ATA_ID_QUEUE_DEPTH] & 0x1f) + 1) |
563 | #define ata_id_removeable(id) ((id)[ATA_ID_CONFIG] & (1 << 7)) | 566 | #define ata_id_removeable(id) ((id)[ATA_ID_CONFIG] & (1 << 7)) |
564 | #define ata_id_has_atapi_AN(id) \ | 567 | #define ata_id_has_atapi_AN(id) \ |
565 | ( (((id)[76] != 0x0000) && ((id)[76] != 0xffff)) && \ | 568 | ((((id)[ATA_ID_SATA_CAPABILITY] != 0x0000) && \ |
566 | ((id)[78] & (1 << 5)) ) | 569 | ((id)[ATA_ID_SATA_CAPABILITY] != 0xffff)) && \ |
570 | ((id)[ATA_ID_FEATURE_SUPP] & (1 << 5))) | ||
567 | #define ata_id_has_fpdma_aa(id) \ | 571 | #define ata_id_has_fpdma_aa(id) \ |
568 | ( (((id)[76] != 0x0000) && ((id)[76] != 0xffff)) && \ | 572 | ((((id)[ATA_ID_SATA_CAPABILITY] != 0x0000) && \ |
569 | ((id)[78] & (1 << 2)) ) | 573 | ((id)[ATA_ID_SATA_CAPABILITY] != 0xffff)) && \ |
574 | ((id)[ATA_ID_FEATURE_SUPP] & (1 << 2))) | ||
570 | #define ata_id_iordy_disable(id) ((id)[ATA_ID_CAPABILITY] & (1 << 10)) | 575 | #define ata_id_iordy_disable(id) ((id)[ATA_ID_CAPABILITY] & (1 << 10)) |
571 | #define ata_id_has_iordy(id) ((id)[ATA_ID_CAPABILITY] & (1 << 11)) | 576 | #define ata_id_has_iordy(id) ((id)[ATA_ID_CAPABILITY] & (1 << 11)) |
572 | #define ata_id_u32(id,n) \ | 577 | #define ata_id_u32(id,n) \ |
@@ -578,11 +583,11 @@ static inline int ata_is_data(u8 prot) | |||
578 | ((u64) (id)[(n) + 0]) ) | 583 | ((u64) (id)[(n) + 0]) ) |
579 | 584 | ||
580 | #define ata_id_cdb_intr(id) (((id)[ATA_ID_CONFIG] & 0x60) == 0x20) | 585 | #define ata_id_cdb_intr(id) (((id)[ATA_ID_CONFIG] & 0x60) == 0x20) |
581 | #define ata_id_has_da(id) ((id)[77] & (1 << 4)) | 586 | #define ata_id_has_da(id) ((id)[ATA_ID_SATA_CAPABILITY_2] & (1 << 4)) |
582 | 587 | ||
583 | static inline bool ata_id_has_hipm(const u16 *id) | 588 | static inline bool ata_id_has_hipm(const u16 *id) |
584 | { | 589 | { |
585 | u16 val = id[76]; | 590 | u16 val = id[ATA_ID_SATA_CAPABILITY]; |
586 | 591 | ||
587 | if (val == 0 || val == 0xffff) | 592 | if (val == 0 || val == 0xffff) |
588 | return false; | 593 | return false; |
@@ -592,7 +597,7 @@ static inline bool ata_id_has_hipm(const u16 *id) | |||
592 | 597 | ||
593 | static inline bool ata_id_has_dipm(const u16 *id) | 598 | static inline bool ata_id_has_dipm(const u16 *id) |
594 | { | 599 | { |
595 | u16 val = id[78]; | 600 | u16 val = id[ATA_ID_FEATURE_SUPP]; |
596 | 601 | ||
597 | if (val == 0 || val == 0xffff) | 602 | if (val == 0 || val == 0xffff) |
598 | return false; | 603 | return false; |