diff options
Diffstat (limited to 'drivers/ata/ahci.h')
-rw-r--r-- | drivers/ata/ahci.h | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/drivers/ata/ahci.h b/drivers/ata/ahci.h index e5fdeebf9ef0..12c5282e7fca 100644 --- a/drivers/ata/ahci.h +++ b/drivers/ata/ahci.h | |||
@@ -72,6 +72,7 @@ enum { | |||
72 | AHCI_CMD_RESET = (1 << 8), | 72 | AHCI_CMD_RESET = (1 << 8), |
73 | AHCI_CMD_CLR_BUSY = (1 << 10), | 73 | AHCI_CMD_CLR_BUSY = (1 << 10), |
74 | 74 | ||
75 | RX_FIS_PIO_SETUP = 0x20, /* offset of PIO Setup FIS data */ | ||
75 | RX_FIS_D2H_REG = 0x40, /* offset of D2H Register FIS data */ | 76 | RX_FIS_D2H_REG = 0x40, /* offset of D2H Register FIS data */ |
76 | RX_FIS_SDB = 0x58, /* offset of SDB FIS data */ | 77 | RX_FIS_SDB = 0x58, /* offset of SDB FIS data */ |
77 | RX_FIS_UNK = 0x60, /* offset of Unknown FIS data */ | 78 | RX_FIS_UNK = 0x60, /* offset of Unknown FIS data */ |
@@ -201,7 +202,6 @@ enum { | |||
201 | AHCI_HFLAG_MV_PATA = (1 << 4), /* PATA port */ | 202 | AHCI_HFLAG_MV_PATA = (1 << 4), /* PATA port */ |
202 | AHCI_HFLAG_NO_MSI = (1 << 5), /* no PCI MSI */ | 203 | AHCI_HFLAG_NO_MSI = (1 << 5), /* no PCI MSI */ |
203 | AHCI_HFLAG_NO_PMP = (1 << 6), /* no PMP */ | 204 | AHCI_HFLAG_NO_PMP = (1 << 6), /* no PMP */ |
204 | AHCI_HFLAG_NO_HOTPLUG = (1 << 7), /* ignore PxSERR.DIAG.N */ | ||
205 | AHCI_HFLAG_SECT255 = (1 << 8), /* max 255 sectors */ | 205 | AHCI_HFLAG_SECT255 = (1 << 8), /* max 255 sectors */ |
206 | AHCI_HFLAG_YES_NCQ = (1 << 9), /* force NCQ cap on */ | 206 | AHCI_HFLAG_YES_NCQ = (1 << 9), /* force NCQ cap on */ |
207 | AHCI_HFLAG_NO_SUSPEND = (1 << 10), /* don't suspend */ | 207 | AHCI_HFLAG_NO_SUSPEND = (1 << 10), /* don't suspend */ |
@@ -213,10 +213,8 @@ enum { | |||
213 | 213 | ||
214 | /* ap->flags bits */ | 214 | /* ap->flags bits */ |
215 | 215 | ||
216 | AHCI_FLAG_COMMON = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | | 216 | AHCI_FLAG_COMMON = ATA_FLAG_SATA | ATA_FLAG_PIO_DMA | |
217 | ATA_FLAG_MMIO | ATA_FLAG_PIO_DMA | | 217 | ATA_FLAG_ACPI_SATA | ATA_FLAG_AN, |
218 | ATA_FLAG_ACPI_SATA | ATA_FLAG_AN | | ||
219 | ATA_FLAG_IPM, | ||
220 | 218 | ||
221 | ICH_MAP = 0x90, /* ICH MAP register */ | 219 | ICH_MAP = 0x90, /* ICH MAP register */ |
222 | 220 | ||
@@ -227,10 +225,14 @@ enum { | |||
227 | /* em_ctl bits */ | 225 | /* em_ctl bits */ |
228 | EM_CTL_RST = (1 << 9), /* Reset */ | 226 | EM_CTL_RST = (1 << 9), /* Reset */ |
229 | EM_CTL_TM = (1 << 8), /* Transmit Message */ | 227 | EM_CTL_TM = (1 << 8), /* Transmit Message */ |
230 | EM_CTL_MR = (1 << 0), /* Message Recieved */ | 228 | EM_CTL_MR = (1 << 0), /* Message Received */ |
231 | EM_CTL_ALHD = (1 << 26), /* Activity LED */ | 229 | EM_CTL_ALHD = (1 << 26), /* Activity LED */ |
232 | EM_CTL_XMT = (1 << 25), /* Transmit Only */ | 230 | EM_CTL_XMT = (1 << 25), /* Transmit Only */ |
233 | EM_CTL_SMB = (1 << 24), /* Single Message Buffer */ | 231 | EM_CTL_SMB = (1 << 24), /* Single Message Buffer */ |
232 | EM_CTL_SGPIO = (1 << 19), /* SGPIO messages supported */ | ||
233 | EM_CTL_SES = (1 << 18), /* SES-2 messages supported */ | ||
234 | EM_CTL_SAFTE = (1 << 17), /* SAF-TE messages supported */ | ||
235 | EM_CTL_LED = (1 << 16), /* LED messages supported */ | ||
234 | 236 | ||
235 | /* em message type */ | 237 | /* em message type */ |
236 | EM_MSG_TYPE_LED = (1 << 0), /* LED */ | 238 | EM_MSG_TYPE_LED = (1 << 0), /* LED */ |
@@ -283,7 +285,7 @@ struct ahci_port_priv { | |||
283 | }; | 285 | }; |
284 | 286 | ||
285 | struct ahci_host_priv { | 287 | struct ahci_host_priv { |
286 | void __iomem * mmio; /* bus-independant mem map */ | 288 | void __iomem * mmio; /* bus-independent mem map */ |
287 | unsigned int flags; /* AHCI_HFLAG_* */ | 289 | unsigned int flags; /* AHCI_HFLAG_* */ |
288 | u32 cap; /* cap to use */ | 290 | u32 cap; /* cap to use */ |
289 | u32 cap2; /* cap2 to use */ | 291 | u32 cap2; /* cap2 to use */ |
@@ -311,6 +313,8 @@ extern struct device_attribute *ahci_sdev_attrs[]; | |||
311 | 313 | ||
312 | extern struct ata_port_operations ahci_ops; | 314 | extern struct ata_port_operations ahci_ops; |
313 | 315 | ||
316 | void ahci_fill_cmd_slot(struct ahci_port_priv *pp, unsigned int tag, | ||
317 | u32 opts); | ||
314 | void ahci_save_initial_config(struct device *dev, | 318 | void ahci_save_initial_config(struct device *dev, |
315 | struct ahci_host_priv *hpriv, | 319 | struct ahci_host_priv *hpriv, |
316 | unsigned int force_port_map, | 320 | unsigned int force_port_map, |
@@ -326,6 +330,7 @@ int ahci_stop_engine(struct ata_port *ap); | |||
326 | void ahci_start_engine(struct ata_port *ap); | 330 | void ahci_start_engine(struct ata_port *ap); |
327 | int ahci_check_ready(struct ata_link *link); | 331 | int ahci_check_ready(struct ata_link *link); |
328 | int ahci_kick_engine(struct ata_port *ap); | 332 | int ahci_kick_engine(struct ata_port *ap); |
333 | int ahci_port_resume(struct ata_port *ap); | ||
329 | void ahci_set_em_messages(struct ahci_host_priv *hpriv, | 334 | void ahci_set_em_messages(struct ahci_host_priv *hpriv, |
330 | struct ata_port_info *pi); | 335 | struct ata_port_info *pi); |
331 | int ahci_reset_em(struct ata_host *host); | 336 | int ahci_reset_em(struct ata_host *host); |