aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/libata.h
diff options
context:
space:
mode:
authorJeff Garzik <jeff@garzik.org>2006-03-29 19:59:39 -0500
committerJeff Garzik <jeff@garzik.org>2006-03-29 19:59:39 -0500
commit4f0e7c51ae392d841be395a9c6b8d26a9fbf33d2 (patch)
tree664564736e52a88e14d9c699c5c723b89785f4cb /include/linux/libata.h
parent74d89c16735d83349ea74232031819e989a49156 (diff)
parent55d8ca4f8094246da6e71889a4e04bfafaa78b10 (diff)
Merge branch 'upstream'
Conflicts: drivers/scsi/sata_mv.c
Diffstat (limited to 'include/linux/libata.h')
-rw-r--r--include/linux/libata.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/libata.h b/include/linux/libata.h
index 0eb71c1773a1..b248cb020f87 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -161,6 +161,9 @@ 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_BOOT = 30 * HZ, /* heuristic */ 168 ATA_TMOUT_BOOT = 30 * HZ, /* heuristic */
166 ATA_TMOUT_BOOT_QUICK = 7 * HZ, /* heuristic */ 169 ATA_TMOUT_BOOT_QUICK = 7 * HZ, /* heuristic */
@@ -275,6 +278,7 @@ struct ata_probe_ent {
275 unsigned long irq; 278 unsigned long irq;
276 unsigned int irq_flags; 279 unsigned int irq_flags;
277 unsigned long host_flags; 280 unsigned long host_flags;
281 unsigned long host_set_flags;
278 void __iomem *mmio_base; 282 void __iomem *mmio_base;
279 void *private_data; 283 void *private_data;
280}; 284};
@@ -287,6 +291,9 @@ struct ata_host_set {
287 unsigned int n_ports; 291 unsigned int n_ports;
288 void *private_data; 292 void *private_data;
289 const struct ata_port_operations *ops; 293 const struct ata_port_operations *ops;
294 unsigned long flags;
295 int simplex_claimed; /* Keep seperate in case we
296 ever need to do this locked */
290 struct ata_port * ports[0]; 297 struct ata_port * ports[0];
291}; 298};
292 299
@@ -415,6 +422,7 @@ struct ata_port_operations {
415 422
416 void (*set_piomode) (struct ata_port *, struct ata_device *); 423 void (*set_piomode) (struct ata_port *, struct ata_device *);
417 void (*set_dmamode) (struct ata_port *, struct ata_device *); 424 void (*set_dmamode) (struct ata_port *, struct ata_device *);
425 unsigned long (*mode_filter) (const struct ata_port *, struct ata_device *, unsigned long);
418 426
419 void (*tf_load) (struct ata_port *ap, const struct ata_taskfile *tf); 427 void (*tf_load) (struct ata_port *ap, const struct ata_taskfile *tf);
420 void (*tf_read) (struct ata_port *ap, struct ata_taskfile *tf); 428 void (*tf_read) (struct ata_port *ap, struct ata_taskfile *tf);
@@ -425,6 +433,7 @@ struct ata_port_operations {
425 void (*dev_select)(struct ata_port *ap, unsigned int device); 433 void (*dev_select)(struct ata_port *ap, unsigned int device);
426 434
427 void (*phy_reset) (struct ata_port *ap); /* obsolete */ 435 void (*phy_reset) (struct ata_port *ap); /* obsolete */
436 void (*set_mode) (struct ata_port *ap);
428 int (*probe_reset) (struct ata_port *ap, unsigned int *classes); 437 int (*probe_reset) (struct ata_port *ap, unsigned int *classes);
429 438
430 void (*post_set_mode) (struct ata_port *ap); 439 void (*post_set_mode) (struct ata_port *ap);