mirror of https://gitee.com/openkylin/linux.git
libata: READ LOG DMA EXT support can be in either page 119 or 120
Support for the READ/WRITE LOG DMA EXT commands can be signaled either in page 119 or page 120. We should check both pages. Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> Reviewed-by: Hannes Reinecke <hare@suse.de> Signed-off-by: Tejun Heo <tj@kernel.org>
This commit is contained in:
parent
f303074160
commit
406c057c4e
|
@ -704,9 +704,19 @@ static inline bool ata_id_wcache_enabled(const u16 *id)
|
|||
|
||||
static inline bool ata_id_has_read_log_dma_ext(const u16 *id)
|
||||
{
|
||||
/* Word 86 must have bit 15 set */
|
||||
if (!(id[ATA_ID_CFS_ENABLE_2] & (1 << 15)))
|
||||
return false;
|
||||
return id[ATA_ID_COMMAND_SET_3] & (1 << 3);
|
||||
|
||||
/* READ LOG DMA EXT support can be signaled either from word 119
|
||||
* or from word 120. The format is the same for both words: Bit
|
||||
* 15 must be cleared, bit 14 set and bit 3 set.
|
||||
*/
|
||||
if ((id[ATA_ID_COMMAND_SET_3] & 0xC008) == 0x4008 ||
|
||||
(id[ATA_ID_COMMAND_SET_4] & 0xC008) == 0x4008)
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
static inline bool ata_id_has_sense_reporting(const u16 *id)
|
||||
|
|
Loading…
Reference in New Issue