diff options
Diffstat (limited to 'include/linux/libata.h')
| -rw-r--r-- | include/linux/libata.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/include/linux/libata.h b/include/linux/libata.h index 2d182413b1db..fc03efa64ffe 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h | |||
| @@ -231,6 +231,7 @@ enum { | |||
| 231 | ATA_FLAG_SW_ACTIVITY = (1 << 22), /* driver supports sw activity | 231 | ATA_FLAG_SW_ACTIVITY = (1 << 22), /* driver supports sw activity |
| 232 | * led */ | 232 | * led */ |
| 233 | ATA_FLAG_NO_DIPM = (1 << 23), /* host not happy with DIPM */ | 233 | ATA_FLAG_NO_DIPM = (1 << 23), /* host not happy with DIPM */ |
| 234 | ATA_FLAG_LOWTAG = (1 << 24), /* host wants lowest available tag */ | ||
| 234 | 235 | ||
| 235 | /* bits 24:31 of ap->flags are reserved for LLD specific flags */ | 236 | /* bits 24:31 of ap->flags are reserved for LLD specific flags */ |
| 236 | 237 | ||
| @@ -422,6 +423,7 @@ enum { | |||
| 422 | ATA_HORKAGE_NO_NCQ_TRIM = (1 << 19), /* don't use queued TRIM */ | 423 | ATA_HORKAGE_NO_NCQ_TRIM = (1 << 19), /* don't use queued TRIM */ |
| 423 | ATA_HORKAGE_NOLPM = (1 << 20), /* don't use LPM */ | 424 | ATA_HORKAGE_NOLPM = (1 << 20), /* don't use LPM */ |
| 424 | ATA_HORKAGE_WD_BROKEN_LPM = (1 << 21), /* some WDs have broken LPM */ | 425 | ATA_HORKAGE_WD_BROKEN_LPM = (1 << 21), /* some WDs have broken LPM */ |
| 426 | ATA_HORKAGE_ZERO_AFTER_TRIM = (1 << 22),/* guarantees zero after trim */ | ||
| 425 | 427 | ||
| 426 | /* DMA mask for user DMA control: User visible values; DO NOT | 428 | /* DMA mask for user DMA control: User visible values; DO NOT |
| 427 | renumber */ | 429 | renumber */ |
| @@ -821,10 +823,10 @@ struct ata_port { | |||
| 821 | unsigned int cbl; /* cable type; ATA_CBL_xxx */ | 823 | unsigned int cbl; /* cable type; ATA_CBL_xxx */ |
| 822 | 824 | ||
| 823 | struct ata_queued_cmd qcmd[ATA_MAX_QUEUE]; | 825 | struct ata_queued_cmd qcmd[ATA_MAX_QUEUE]; |
| 824 | unsigned long qc_allocated; | 826 | unsigned long sas_tag_allocated; /* for sas tag allocation only */ |
| 825 | unsigned int qc_active; | 827 | unsigned int qc_active; |
| 826 | int nr_active_links; /* #links with active qcs */ | 828 | int nr_active_links; /* #links with active qcs */ |
| 827 | unsigned int last_tag; /* track next tag hw expects */ | 829 | unsigned int sas_last_tag; /* track next tag hw expects */ |
| 828 | 830 | ||
| 829 | struct ata_link link; /* host default link */ | 831 | struct ata_link link; /* host default link */ |
| 830 | struct ata_link *slave_link; /* see ata_slave_link_init() */ | 832 | struct ata_link *slave_link; /* see ata_slave_link_init() */ |
| @@ -1338,12 +1340,19 @@ extern const struct ata_port_operations ata_base_port_ops; | |||
| 1338 | extern const struct ata_port_operations sata_port_ops; | 1340 | extern const struct ata_port_operations sata_port_ops; |
| 1339 | extern struct device_attribute *ata_common_sdev_attrs[]; | 1341 | extern struct device_attribute *ata_common_sdev_attrs[]; |
| 1340 | 1342 | ||
| 1343 | /* | ||
| 1344 | * All sht initializers (BASE, PIO, BMDMA, NCQ) must be instantiated | ||
| 1345 | * by the edge drivers. Because the 'module' field of sht must be the | ||
| 1346 | * edge driver's module reference, otherwise the driver can be unloaded | ||
| 1347 | * even if the scsi_device is being accessed. | ||
| 1348 | */ | ||
| 1341 | #define ATA_BASE_SHT(drv_name) \ | 1349 | #define ATA_BASE_SHT(drv_name) \ |
| 1342 | .module = THIS_MODULE, \ | 1350 | .module = THIS_MODULE, \ |
| 1343 | .name = drv_name, \ | 1351 | .name = drv_name, \ |
| 1344 | .ioctl = ata_scsi_ioctl, \ | 1352 | .ioctl = ata_scsi_ioctl, \ |
| 1345 | .queuecommand = ata_scsi_queuecmd, \ | 1353 | .queuecommand = ata_scsi_queuecmd, \ |
| 1346 | .can_queue = ATA_DEF_QUEUE, \ | 1354 | .can_queue = ATA_DEF_QUEUE, \ |
| 1355 | .tag_alloc_policy = BLK_TAG_ALLOC_RR, \ | ||
| 1347 | .this_id = ATA_SHT_THIS_ID, \ | 1356 | .this_id = ATA_SHT_THIS_ID, \ |
| 1348 | .cmd_per_lun = ATA_SHT_CMD_PER_LUN, \ | 1357 | .cmd_per_lun = ATA_SHT_CMD_PER_LUN, \ |
| 1349 | .emulated = ATA_SHT_EMULATED, \ | 1358 | .emulated = ATA_SHT_EMULATED, \ |
