diff options
-rw-r--r-- | include/linux/ata.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/include/linux/ata.h b/include/linux/ata.h index 272736e37990..c331da2da5f7 100644 --- a/include/linux/ata.h +++ b/include/linux/ata.h | |||
@@ -282,7 +282,6 @@ struct ata_taskfile { | |||
282 | }; | 282 | }; |
283 | 283 | ||
284 | #define ata_id_is_ata(id) (((id)[0] & (1 << 15)) == 0) | 284 | #define ata_id_is_ata(id) (((id)[0] & (1 << 15)) == 0) |
285 | #define ata_id_is_sata(id) ((id)[93] == 0) | ||
286 | #define ata_id_rahead_enabled(id) ((id)[85] & (1 << 6)) | 285 | #define ata_id_rahead_enabled(id) ((id)[85] & (1 << 6)) |
287 | #define ata_id_wcache_enabled(id) ((id)[85] & (1 << 5)) | 286 | #define ata_id_wcache_enabled(id) ((id)[85] & (1 << 5)) |
288 | #define ata_id_hpa_enabled(id) ((id)[85] & (1 << 10)) | 287 | #define ata_id_hpa_enabled(id) ((id)[85] & (1 << 10)) |
@@ -324,6 +323,11 @@ static inline unsigned int ata_id_major_version(const u16 *id) | |||
324 | return mver; | 323 | return mver; |
325 | } | 324 | } |
326 | 325 | ||
326 | static inline int ata_id_is_sata(const u16 *id) | ||
327 | { | ||
328 | return ata_id_major_version(id) >= 5 && id[93] == 0; | ||
329 | } | ||
330 | |||
327 | static inline int ata_id_current_chs_valid(const u16 *id) | 331 | static inline int ata_id_current_chs_valid(const u16 *id) |
328 | { | 332 | { |
329 | /* For ATA-1 devices, if the INITIALIZE DEVICE PARAMETERS command | 333 | /* For ATA-1 devices, if the INITIALIZE DEVICE PARAMETERS command |
@@ -350,7 +354,7 @@ static inline int ata_id_is_cfa(const u16 *id) | |||
350 | 354 | ||
351 | static inline int ata_drive_40wire(const u16 *dev_id) | 355 | static inline int ata_drive_40wire(const u16 *dev_id) |
352 | { | 356 | { |
353 | if (ata_id_major_version(dev_id) >= 5 && ata_id_is_sata(dev_id)) | 357 | if (ata_id_is_sata(dev_id)) |
354 | return 0; /* SATA */ | 358 | return 0; /* SATA */ |
355 | if ((dev_id[93] & 0xE000) == 0x6000) | 359 | if ((dev_id[93] & 0xE000) == 0x6000) |
356 | return 0; /* 80 wire */ | 360 | return 0; /* 80 wire */ |