diff options
Diffstat (limited to 'include/linux/libata.h')
-rw-r--r-- | include/linux/libata.h | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/include/linux/libata.h b/include/linux/libata.h index bca3ba25f52a..dc18b87ed722 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h | |||
@@ -275,7 +275,7 @@ enum { | |||
275 | * advised to wait only for the following duration before | 275 | * advised to wait only for the following duration before |
276 | * doing SRST. | 276 | * doing SRST. |
277 | */ | 277 | */ |
278 | ATA_TMOUT_PMP_SRST_WAIT = 1000, | 278 | ATA_TMOUT_PMP_SRST_WAIT = 5000, |
279 | 279 | ||
280 | /* ATA bus states */ | 280 | /* ATA bus states */ |
281 | BUS_UNKNOWN = 0, | 281 | BUS_UNKNOWN = 0, |
@@ -380,6 +380,7 @@ enum { | |||
380 | ATA_HORKAGE_ATAPI_MOD16_DMA = (1 << 11), /* use ATAPI DMA for commands | 380 | ATA_HORKAGE_ATAPI_MOD16_DMA = (1 << 11), /* use ATAPI DMA for commands |
381 | not multiple of 16 bytes */ | 381 | not multiple of 16 bytes */ |
382 | ATA_HORKAGE_FIRMWARE_WARN = (1 << 12), /* firwmare update warning */ | 382 | ATA_HORKAGE_FIRMWARE_WARN = (1 << 12), /* firwmare update warning */ |
383 | ATA_HORKAGE_1_5_GBPS = (1 << 13), /* force 1.5 Gbps */ | ||
383 | 384 | ||
384 | /* DMA mask for user DMA control: User visible values; DO NOT | 385 | /* DMA mask for user DMA control: User visible values; DO NOT |
385 | renumber */ | 386 | renumber */ |
@@ -529,6 +530,7 @@ struct ata_queued_cmd { | |||
529 | unsigned long flags; /* ATA_QCFLAG_xxx */ | 530 | unsigned long flags; /* ATA_QCFLAG_xxx */ |
530 | unsigned int tag; | 531 | unsigned int tag; |
531 | unsigned int n_elem; | 532 | unsigned int n_elem; |
533 | unsigned int orig_n_elem; | ||
532 | 534 | ||
533 | int dma_dir; | 535 | int dma_dir; |
534 | 536 | ||
@@ -580,7 +582,7 @@ struct ata_device { | |||
580 | acpi_handle acpi_handle; | 582 | acpi_handle acpi_handle; |
581 | union acpi_object *gtf_cache; | 583 | union acpi_object *gtf_cache; |
582 | #endif | 584 | #endif |
583 | /* n_sector is used as CLEAR_OFFSET, read comment above CLEAR_OFFSET */ | 585 | /* n_sector is CLEAR_BEGIN, read comment above CLEAR_BEGIN */ |
584 | u64 n_sectors; /* size of device, if ATA */ | 586 | u64 n_sectors; /* size of device, if ATA */ |
585 | unsigned int class; /* ATA_DEV_xxx */ | 587 | unsigned int class; /* ATA_DEV_xxx */ |
586 | unsigned long unpark_deadline; | 588 | unsigned long unpark_deadline; |
@@ -605,20 +607,22 @@ struct ata_device { | |||
605 | u16 heads; /* Number of heads */ | 607 | u16 heads; /* Number of heads */ |
606 | u16 sectors; /* Number of sectors per track */ | 608 | u16 sectors; /* Number of sectors per track */ |
607 | 609 | ||
608 | /* error history */ | ||
609 | int spdn_cnt; | ||
610 | struct ata_ering ering; | ||
611 | |||
612 | union { | 610 | union { |
613 | u16 id[ATA_ID_WORDS]; /* IDENTIFY xxx DEVICE data */ | 611 | u16 id[ATA_ID_WORDS]; /* IDENTIFY xxx DEVICE data */ |
614 | u32 gscr[SATA_PMP_GSCR_DWORDS]; /* PMP GSCR block */ | 612 | u32 gscr[SATA_PMP_GSCR_DWORDS]; /* PMP GSCR block */ |
615 | }; | 613 | }; |
614 | |||
615 | /* error history */ | ||
616 | int spdn_cnt; | ||
617 | /* ering is CLEAR_END, read comment above CLEAR_END */ | ||
618 | struct ata_ering ering; | ||
616 | }; | 619 | }; |
617 | 620 | ||
618 | /* Offset into struct ata_device. Fields above it are maintained | 621 | /* Fields between ATA_DEVICE_CLEAR_BEGIN and ATA_DEVICE_CLEAR_END are |
619 | * acress device init. Fields below are zeroed. | 622 | * cleared to zero on ata_dev_init(). |
620 | */ | 623 | */ |
621 | #define ATA_DEVICE_CLEAR_OFFSET offsetof(struct ata_device, n_sectors) | 624 | #define ATA_DEVICE_CLEAR_BEGIN offsetof(struct ata_device, n_sectors) |
625 | #define ATA_DEVICE_CLEAR_END offsetof(struct ata_device, ering) | ||
622 | 626 | ||
623 | struct ata_eh_info { | 627 | struct ata_eh_info { |
624 | struct ata_device *dev; /* offending device */ | 628 | struct ata_device *dev; /* offending device */ |
@@ -747,7 +751,8 @@ struct ata_port { | |||
747 | acpi_handle acpi_handle; | 751 | acpi_handle acpi_handle; |
748 | struct ata_acpi_gtm __acpi_init_gtm; /* use ata_acpi_init_gtm() */ | 752 | struct ata_acpi_gtm __acpi_init_gtm; /* use ata_acpi_init_gtm() */ |
749 | #endif | 753 | #endif |
750 | u8 sector_buf[ATA_SECT_SIZE]; /* owned by EH */ | 754 | /* owned by EH */ |
755 | u8 sector_buf[ATA_SECT_SIZE] ____cacheline_aligned; | ||
751 | }; | 756 | }; |
752 | 757 | ||
753 | /* The following initializer overrides a method to NULL whether one of | 758 | /* The following initializer overrides a method to NULL whether one of |