summaryrefslogtreecommitdiffstats
path: root/include/linux/ata.h
diff options
context:
space:
mode:
authorTejun Heo <htejun@gmail.com>2006-05-15 20:58:17 +0900
committerTejun Heo <htejun@gmail.com>2006-05-15 20:58:17 +0900
commit9be1e979f2e1e57a091a658fa88dac266f9fd6fe (patch)
tree781b216ce5a2b39c711ee32d285f4455feba7d34 /include/linux/ata.h
parent246619da308c6910a3ae30e7e5fbf46139619efe (diff)
downloadlinux-9be1e979f2e1e57a091a658fa88dac266f9fd6fe.tar.gz
linux-9be1e979f2e1e57a091a658fa88dac266f9fd6fe.tar.bz2
linux-9be1e979f2e1e57a091a658fa88dac266f9fd6fe.zip
[PATCH] libata-eh: add ATA and libata flags for new EH
Add ATA and libata flags to be used by new EH. Signed-off-by: Tejun Heo <htejun@gmail.com>
Diffstat (limited to 'include/linux/ata.h')
-rw-r--r--include/linux/ata.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/include/linux/ata.h b/include/linux/ata.h
index 312a2c0c64e6..a7c41f3df8f4 100644
--- a/include/linux/ata.h
+++ b/include/linux/ata.h
@@ -97,6 +97,9 @@ enum {
ATA_DRQ = (1 << 3), /* data request i/o */
ATA_ERR = (1 << 0), /* have an error */
ATA_SRST = (1 << 2), /* software reset */
+ ATA_ICRC = (1 << 7), /* interface CRC error */
+ ATA_UNC = (1 << 6), /* uncorrectable media error */
+ ATA_IDNF = (1 << 4), /* ID not found */
ATA_ABORTED = (1 << 2), /* command aborted */
/* ATA command block registers */
@@ -192,6 +195,16 @@ enum {
SCR_ACTIVE = 3,
SCR_NOTIFICATION = 4,
+ /* SError bits */
+ SERR_DATA_RECOVERED = (1 << 0), /* recovered data error */
+ SERR_COMM_RECOVERED = (1 << 1), /* recovered comm failure */
+ SERR_DATA = (1 << 8), /* unrecovered data error */
+ SERR_PERSISTENT = (1 << 9), /* persistent data/comm error */
+ SERR_PROTOCOL = (1 << 10), /* protocol violation */
+ SERR_INTERNAL = (1 << 11), /* host internal error */
+ SERR_PHYRDY_CHG = (1 << 16), /* PHY RDY changed */
+ SERR_DEV_XCHG = (1 << 26), /* device exchanged */
+
/* struct ata_taskfile flags */
ATA_TFLAG_LBA48 = (1 << 0), /* enable 48-bit LBA and "HOB" */
ATA_TFLAG_ISADDR = (1 << 1), /* enable r/w to nsect/lba regs */