diff options
| author | Jeff Garzik <jeff@garzik.org> | 2006-03-29 19:58:22 -0500 | 
|---|---|---|
| committer | Jeff Garzik <jeff@garzik.org> | 2006-03-29 19:58:22 -0500 | 
| commit | 79072f38909e3d9883317238887460c39ddcc4cb (patch) | |
| tree | 28369f5a844535ff836565eefd62695b0e890fa3 /include/linux/libata.h | |
| parent | 200d5a7684cc49ef4be40e832daf3f217e70dfbb (diff) | |
| parent | 55d8ca4f8094246da6e71889a4e04bfafaa78b10 (diff) | |
Merge branch 'upstream'
Diffstat (limited to 'include/linux/libata.h')
| -rw-r--r-- | include/linux/libata.h | 23 | 
1 files changed, 19 insertions, 4 deletions
diff --git a/include/linux/libata.h b/include/linux/libata.h index 4dff3cf9d389..c2215469a101 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h  | |||
| @@ -161,8 +161,10 @@ enum { | |||
| 161 | ATA_QCFLAG_DMAMAP = ATA_QCFLAG_SG | ATA_QCFLAG_SINGLE, | 161 | ATA_QCFLAG_DMAMAP = ATA_QCFLAG_SG | ATA_QCFLAG_SINGLE, | 
| 162 | ATA_QCFLAG_EH_SCHEDULED = (1 << 5), /* EH scheduled */ | 162 | ATA_QCFLAG_EH_SCHEDULED = (1 << 5), /* EH scheduled */ | 
| 163 | 163 | ||
| 164 | /* host set flags */ | ||
| 165 | ATA_HOST_SIMPLEX = (1 << 0), /* Host is simplex, one DMA channel per host_set only */ | ||
| 166 | |||
| 164 | /* various lengths of time */ | 167 | /* various lengths of time */ | 
| 165 | ATA_TMOUT_EDD = 5 * HZ, /* heuristic */ | ||
| 166 | ATA_TMOUT_PIO = 30 * HZ, | 168 | ATA_TMOUT_PIO = 30 * HZ, | 
| 167 | ATA_TMOUT_BOOT = 30 * HZ, /* heuristic */ | 169 | ATA_TMOUT_BOOT = 30 * HZ, /* heuristic */ | 
| 168 | ATA_TMOUT_BOOT_QUICK = 7 * HZ, /* heuristic */ | 170 | ATA_TMOUT_BOOT_QUICK = 7 * HZ, /* heuristic */ | 
| @@ -280,6 +282,7 @@ struct ata_probe_ent { | |||
| 280 | unsigned long irq; | 282 | unsigned long irq; | 
| 281 | unsigned int irq_flags; | 283 | unsigned int irq_flags; | 
| 282 | unsigned long host_flags; | 284 | unsigned long host_flags; | 
| 285 | unsigned long host_set_flags; | ||
| 283 | void __iomem *mmio_base; | 286 | void __iomem *mmio_base; | 
| 284 | void *private_data; | 287 | void *private_data; | 
| 285 | }; | 288 | }; | 
| @@ -292,6 +295,9 @@ struct ata_host_set { | |||
| 292 | unsigned int n_ports; | 295 | unsigned int n_ports; | 
| 293 | void *private_data; | 296 | void *private_data; | 
| 294 | const struct ata_port_operations *ops; | 297 | const struct ata_port_operations *ops; | 
| 298 | unsigned long flags; | ||
| 299 | int simplex_claimed; /* Keep seperate in case we | ||
| 300 | ever need to do this locked */ | ||
| 295 | struct ata_port * ports[0]; | 301 | struct ata_port * ports[0]; | 
| 296 | }; | 302 | }; | 
| 297 | 303 | ||
| @@ -359,6 +365,11 @@ struct ata_device { | |||
| 359 | unsigned int max_sectors; /* per-device max sectors */ | 365 | unsigned int max_sectors; /* per-device max sectors */ | 
| 360 | unsigned int cdb_len; | 366 | unsigned int cdb_len; | 
| 361 | 367 | ||
| 368 | /* per-dev xfer mask */ | ||
| 369 | unsigned int pio_mask; | ||
| 370 | unsigned int mwdma_mask; | ||
| 371 | unsigned int udma_mask; | ||
| 372 | |||
| 362 | /* for CHS addressing */ | 373 | /* for CHS addressing */ | 
| 363 | u16 cylinders; /* Number of cylinders */ | 374 | u16 cylinders; /* Number of cylinders */ | 
| 364 | u16 heads; /* Number of heads */ | 375 | u16 heads; /* Number of heads */ | 
| @@ -396,6 +407,7 @@ struct ata_port { | |||
| 396 | 407 | ||
| 397 | struct ata_host_stats stats; | 408 | struct ata_host_stats stats; | 
| 398 | struct ata_host_set *host_set; | 409 | struct ata_host_set *host_set; | 
| 410 | struct device *dev; | ||
| 399 | 411 | ||
| 400 | struct work_struct port_task; | 412 | struct work_struct port_task; | 
| 401 | 413 | ||
| @@ -415,6 +427,7 @@ struct ata_port_operations { | |||
| 415 | 427 | ||
| 416 | void (*set_piomode) (struct ata_port *, struct ata_device *); | 428 | void (*set_piomode) (struct ata_port *, struct ata_device *); | 
| 417 | void (*set_dmamode) (struct ata_port *, struct ata_device *); | 429 | void (*set_dmamode) (struct ata_port *, struct ata_device *); | 
| 430 | unsigned long (*mode_filter) (const struct ata_port *, struct ata_device *, unsigned long); | ||
| 418 | 431 | ||
| 419 | void (*tf_load) (struct ata_port *ap, const struct ata_taskfile *tf); | 432 | void (*tf_load) (struct ata_port *ap, const struct ata_taskfile *tf); | 
| 420 | void (*tf_read) (struct ata_port *ap, struct ata_taskfile *tf); | 433 | void (*tf_read) (struct ata_port *ap, struct ata_taskfile *tf); | 
| @@ -425,6 +438,7 @@ struct ata_port_operations { | |||
| 425 | void (*dev_select)(struct ata_port *ap, unsigned int device); | 438 | void (*dev_select)(struct ata_port *ap, unsigned int device); | 
| 426 | 439 | ||
| 427 | void (*phy_reset) (struct ata_port *ap); /* obsolete */ | 440 | void (*phy_reset) (struct ata_port *ap); /* obsolete */ | 
| 441 | void (*set_mode) (struct ata_port *ap); | ||
| 428 | int (*probe_reset) (struct ata_port *ap, unsigned int *classes); | 442 | int (*probe_reset) (struct ata_port *ap, unsigned int *classes); | 
| 429 | 443 | ||
| 430 | void (*post_set_mode) (struct ata_port *ap); | 444 | void (*post_set_mode) (struct ata_port *ap); | 
| @@ -510,16 +524,15 @@ extern void ata_host_set_remove(struct ata_host_set *host_set); | |||
| 510 | extern int ata_scsi_detect(struct scsi_host_template *sht); | 524 | extern int ata_scsi_detect(struct scsi_host_template *sht); | 
| 511 | extern int ata_scsi_ioctl(struct scsi_device *dev, int cmd, void __user *arg); | 525 | extern int ata_scsi_ioctl(struct scsi_device *dev, int cmd, void __user *arg); | 
| 512 | extern int ata_scsi_queuecmd(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmnd *)); | 526 | extern int ata_scsi_queuecmd(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmnd *)); | 
| 513 | extern enum scsi_eh_timer_return ata_scsi_timed_out(struct scsi_cmnd *cmd); | ||
| 514 | extern int ata_scsi_error(struct Scsi_Host *host); | 527 | extern int ata_scsi_error(struct Scsi_Host *host); | 
| 515 | extern void ata_eh_qc_complete(struct ata_queued_cmd *qc); | 528 | extern void ata_eh_qc_complete(struct ata_queued_cmd *qc); | 
| 516 | extern void ata_eh_qc_retry(struct ata_queued_cmd *qc); | 529 | extern void ata_eh_qc_retry(struct ata_queued_cmd *qc); | 
| 517 | extern int ata_scsi_release(struct Scsi_Host *host); | 530 | extern int ata_scsi_release(struct Scsi_Host *host); | 
| 518 | extern unsigned int ata_host_intr(struct ata_port *ap, struct ata_queued_cmd *qc); | 531 | extern unsigned int ata_host_intr(struct ata_port *ap, struct ata_queued_cmd *qc); | 
| 519 | extern int ata_scsi_device_resume(struct scsi_device *); | 532 | extern int ata_scsi_device_resume(struct scsi_device *); | 
| 520 | extern int ata_scsi_device_suspend(struct scsi_device *); | 533 | extern int ata_scsi_device_suspend(struct scsi_device *, pm_message_t state); | 
| 521 | extern int ata_device_resume(struct ata_port *, struct ata_device *); | 534 | extern int ata_device_resume(struct ata_port *, struct ata_device *); | 
| 522 | extern int ata_device_suspend(struct ata_port *, struct ata_device *); | 535 | extern int ata_device_suspend(struct ata_port *, struct ata_device *, pm_message_t state); | 
| 523 | extern int ata_ratelimit(void); | 536 | extern int ata_ratelimit(void); | 
| 524 | extern unsigned int ata_busy_sleep(struct ata_port *ap, | 537 | extern unsigned int ata_busy_sleep(struct ata_port *ap, | 
| 525 | unsigned long timeout_pat, | 538 | unsigned long timeout_pat, | 
| @@ -570,6 +583,8 @@ extern int ata_std_bios_param(struct scsi_device *sdev, | |||
| 570 | struct block_device *bdev, | 583 | struct block_device *bdev, | 
| 571 | sector_t capacity, int geom[]); | 584 | sector_t capacity, int geom[]); | 
| 572 | extern int ata_scsi_slave_config(struct scsi_device *sdev); | 585 | extern int ata_scsi_slave_config(struct scsi_device *sdev); | 
| 586 | extern struct ata_device *ata_dev_pair(struct ata_port *ap, | ||
| 587 | struct ata_device *adev); | ||
| 573 | 588 | ||
| 574 | /* | 589 | /* | 
| 575 | * Timing helpers | 590 | * Timing helpers | 
