@@ -75,6 +75,7 @@ enum ata_quirks {
7575 __ATA_QUIRK_NO_DMA_LOG , /* Do not use DMA for log read */
7676 __ATA_QUIRK_NOTRIM , /* Do not use TRIM */
7777 __ATA_QUIRK_MAX_SEC_1024 , /* Limit max sects to 1024 */
78+ __ATA_QUIRK_MAX_SEC_8191 , /* Limit max sects to 8191 */
7879 __ATA_QUIRK_MAX_TRIM_128M , /* Limit max trim size to 128M */
7980 __ATA_QUIRK_NO_NCQ_ON_ATI , /* Disable NCQ on ATI chipset */
8081 __ATA_QUIRK_NO_LPM_ON_ATI , /* Disable LPM on ATI chipset */
@@ -85,6 +86,45 @@ enum ata_quirks {
8586 __ATA_QUIRK_MAX ,
8687};
8788
89+ /*
90+ * Quirk flags: may be set by libata or controller drivers on drives.
91+ * Some quirks may be drive/controller pair dependent.
92+ */
93+ enum {
94+ ATA_QUIRK_DIAGNOSTIC = (1U << __ATA_QUIRK_DIAGNOSTIC ),
95+ ATA_QUIRK_NODMA = (1U << __ATA_QUIRK_NODMA ),
96+ ATA_QUIRK_NONCQ = (1U << __ATA_QUIRK_NONCQ ),
97+ ATA_QUIRK_MAX_SEC_128 = (1U << __ATA_QUIRK_MAX_SEC_128 ),
98+ ATA_QUIRK_BROKEN_HPA = (1U << __ATA_QUIRK_BROKEN_HPA ),
99+ ATA_QUIRK_DISABLE = (1U << __ATA_QUIRK_DISABLE ),
100+ ATA_QUIRK_HPA_SIZE = (1U << __ATA_QUIRK_HPA_SIZE ),
101+ ATA_QUIRK_IVB = (1U << __ATA_QUIRK_IVB ),
102+ ATA_QUIRK_STUCK_ERR = (1U << __ATA_QUIRK_STUCK_ERR ),
103+ ATA_QUIRK_BRIDGE_OK = (1U << __ATA_QUIRK_BRIDGE_OK ),
104+ ATA_QUIRK_ATAPI_MOD16_DMA = (1U << __ATA_QUIRK_ATAPI_MOD16_DMA ),
105+ ATA_QUIRK_FIRMWARE_WARN = (1U << __ATA_QUIRK_FIRMWARE_WARN ),
106+ ATA_QUIRK_1_5_GBPS = (1U << __ATA_QUIRK_1_5_GBPS ),
107+ ATA_QUIRK_NOSETXFER = (1U << __ATA_QUIRK_NOSETXFER ),
108+ ATA_QUIRK_BROKEN_FPDMA_AA = (1U << __ATA_QUIRK_BROKEN_FPDMA_AA ),
109+ ATA_QUIRK_DUMP_ID = (1U << __ATA_QUIRK_DUMP_ID ),
110+ ATA_QUIRK_MAX_SEC_LBA48 = (1U << __ATA_QUIRK_MAX_SEC_LBA48 ),
111+ ATA_QUIRK_ATAPI_DMADIR = (1U << __ATA_QUIRK_ATAPI_DMADIR ),
112+ ATA_QUIRK_NO_NCQ_TRIM = (1U << __ATA_QUIRK_NO_NCQ_TRIM ),
113+ ATA_QUIRK_NOLPM = (1U << __ATA_QUIRK_NOLPM ),
114+ ATA_QUIRK_WD_BROKEN_LPM = (1U << __ATA_QUIRK_WD_BROKEN_LPM ),
115+ ATA_QUIRK_ZERO_AFTER_TRIM = (1U << __ATA_QUIRK_ZERO_AFTER_TRIM ),
116+ ATA_QUIRK_NO_DMA_LOG = (1U << __ATA_QUIRK_NO_DMA_LOG ),
117+ ATA_QUIRK_NOTRIM = (1U << __ATA_QUIRK_NOTRIM ),
118+ ATA_QUIRK_MAX_SEC_1024 = (1U << __ATA_QUIRK_MAX_SEC_1024 ),
119+ ATA_QUIRK_MAX_SEC_8191 = (1U << __ATA_QUIRK_MAX_SEC_8191 ),
120+ ATA_QUIRK_MAX_TRIM_128M = (1U << __ATA_QUIRK_MAX_TRIM_128M ),
121+ ATA_QUIRK_NO_NCQ_ON_ATI = (1U << __ATA_QUIRK_NO_NCQ_ON_ATI ),
122+ ATA_QUIRK_NO_LPM_ON_ATI = (1U << __ATA_QUIRK_NO_LPM_ON_ATI ),
123+ ATA_QUIRK_NO_ID_DEV_LOG = (1U << __ATA_QUIRK_NO_ID_DEV_LOG ),
124+ ATA_QUIRK_NO_LOG_DIR = (1U << __ATA_QUIRK_NO_LOG_DIR ),
125+ ATA_QUIRK_NO_FUA = (1U << __ATA_QUIRK_NO_FUA ),
126+ };
127+
88128enum {
89129 /* various global constants */
90130 LIBATA_MAX_PRD = ATA_MAX_PRD / 2 ,
@@ -390,42 +430,6 @@ enum {
390430 */
391431 ATA_EH_CMD_TIMEOUT_TABLE_SIZE = 8 ,
392432
393- /*
394- * Quirk flags: may be set by libata or controller drivers on drives.
395- * Some quirks may be drive/controller pair dependent.
396- */
397- ATA_QUIRK_DIAGNOSTIC = (1U << __ATA_QUIRK_DIAGNOSTIC ),
398- ATA_QUIRK_NODMA = (1U << __ATA_QUIRK_NODMA ),
399- ATA_QUIRK_NONCQ = (1U << __ATA_QUIRK_NONCQ ),
400- ATA_QUIRK_MAX_SEC_128 = (1U << __ATA_QUIRK_MAX_SEC_128 ),
401- ATA_QUIRK_BROKEN_HPA = (1U << __ATA_QUIRK_BROKEN_HPA ),
402- ATA_QUIRK_DISABLE = (1U << __ATA_QUIRK_DISABLE ),
403- ATA_QUIRK_HPA_SIZE = (1U << __ATA_QUIRK_HPA_SIZE ),
404- ATA_QUIRK_IVB = (1U << __ATA_QUIRK_IVB ),
405- ATA_QUIRK_STUCK_ERR = (1U << __ATA_QUIRK_STUCK_ERR ),
406- ATA_QUIRK_BRIDGE_OK = (1U << __ATA_QUIRK_BRIDGE_OK ),
407- ATA_QUIRK_ATAPI_MOD16_DMA = (1U << __ATA_QUIRK_ATAPI_MOD16_DMA ),
408- ATA_QUIRK_FIRMWARE_WARN = (1U << __ATA_QUIRK_FIRMWARE_WARN ),
409- ATA_QUIRK_1_5_GBPS = (1U << __ATA_QUIRK_1_5_GBPS ),
410- ATA_QUIRK_NOSETXFER = (1U << __ATA_QUIRK_NOSETXFER ),
411- ATA_QUIRK_BROKEN_FPDMA_AA = (1U << __ATA_QUIRK_BROKEN_FPDMA_AA ),
412- ATA_QUIRK_DUMP_ID = (1U << __ATA_QUIRK_DUMP_ID ),
413- ATA_QUIRK_MAX_SEC_LBA48 = (1U << __ATA_QUIRK_MAX_SEC_LBA48 ),
414- ATA_QUIRK_ATAPI_DMADIR = (1U << __ATA_QUIRK_ATAPI_DMADIR ),
415- ATA_QUIRK_NO_NCQ_TRIM = (1U << __ATA_QUIRK_NO_NCQ_TRIM ),
416- ATA_QUIRK_NOLPM = (1U << __ATA_QUIRK_NOLPM ),
417- ATA_QUIRK_WD_BROKEN_LPM = (1U << __ATA_QUIRK_WD_BROKEN_LPM ),
418- ATA_QUIRK_ZERO_AFTER_TRIM = (1U << __ATA_QUIRK_ZERO_AFTER_TRIM ),
419- ATA_QUIRK_NO_DMA_LOG = (1U << __ATA_QUIRK_NO_DMA_LOG ),
420- ATA_QUIRK_NOTRIM = (1U << __ATA_QUIRK_NOTRIM ),
421- ATA_QUIRK_MAX_SEC_1024 = (1U << __ATA_QUIRK_MAX_SEC_1024 ),
422- ATA_QUIRK_MAX_TRIM_128M = (1U << __ATA_QUIRK_MAX_TRIM_128M ),
423- ATA_QUIRK_NO_NCQ_ON_ATI = (1U << __ATA_QUIRK_NO_NCQ_ON_ATI ),
424- ATA_QUIRK_NO_LPM_ON_ATI = (1U << __ATA_QUIRK_NO_LPM_ON_ATI ),
425- ATA_QUIRK_NO_ID_DEV_LOG = (1U << __ATA_QUIRK_NO_ID_DEV_LOG ),
426- ATA_QUIRK_NO_LOG_DIR = (1U << __ATA_QUIRK_NO_LOG_DIR ),
427- ATA_QUIRK_NO_FUA = (1U << __ATA_QUIRK_NO_FUA ),
428-
429433 /* User visible DMA mask for DMA control. DO NOT renumber. */
430434 ATA_DMA_MASK_ATA = (1 << 0 ), /* DMA on ATA Disk */
431435 ATA_DMA_MASK_ATAPI = (1 << 1 ), /* DMA on ATAPI */
0 commit comments