Loading drivers/ata/libata-scsi.c +4 −0 Original line number Diff line number Diff line Loading @@ -977,6 +977,10 @@ static int ata_scsi_dev_config(struct scsi_device *sdev, blk_queue_dma_drain(q, atapi_drain_needed, buf, ATAPI_MAX_DRAIN); } else { if (ata_id_is_ssd(dev->id)) queue_flag_set_unlocked(QUEUE_FLAG_NONROT, sdev->request_queue); /* ATA devices must be sector aligned */ blk_queue_update_dma_alignment(sdev->request_queue, ATA_SECT_SIZE - 1); Loading include/linux/ata.h +6 −0 Original line number Diff line number Diff line Loading @@ -88,6 +88,7 @@ enum { ATA_ID_DLF = 128, ATA_ID_CSFO = 129, ATA_ID_CFA_POWER = 160, ATA_ID_ROT_SPEED = 217, ATA_ID_PIO4 = (1 << 1), ATA_ID_SERNO_LEN = 20, Loading Loading @@ -691,6 +692,11 @@ static inline int ata_id_is_cfa(const u16 *id) return 0; } static inline int ata_id_is_ssd(const u16 *id) { return id[ATA_ID_ROT_SPEED] == 0x01; } static inline int ata_drive_40wire(const u16 *dev_id) { if (ata_id_is_sata(dev_id)) Loading Loading
drivers/ata/libata-scsi.c +4 −0 Original line number Diff line number Diff line Loading @@ -977,6 +977,10 @@ static int ata_scsi_dev_config(struct scsi_device *sdev, blk_queue_dma_drain(q, atapi_drain_needed, buf, ATAPI_MAX_DRAIN); } else { if (ata_id_is_ssd(dev->id)) queue_flag_set_unlocked(QUEUE_FLAG_NONROT, sdev->request_queue); /* ATA devices must be sector aligned */ blk_queue_update_dma_alignment(sdev->request_queue, ATA_SECT_SIZE - 1); Loading
include/linux/ata.h +6 −0 Original line number Diff line number Diff line Loading @@ -88,6 +88,7 @@ enum { ATA_ID_DLF = 128, ATA_ID_CSFO = 129, ATA_ID_CFA_POWER = 160, ATA_ID_ROT_SPEED = 217, ATA_ID_PIO4 = (1 << 1), ATA_ID_SERNO_LEN = 20, Loading Loading @@ -691,6 +692,11 @@ static inline int ata_id_is_cfa(const u16 *id) return 0; } static inline int ata_id_is_ssd(const u16 *id) { return id[ATA_ID_ROT_SPEED] == 0x01; } static inline int ata_drive_40wire(const u16 *dev_id) { if (ata_id_is_sata(dev_id)) Loading