aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/libata.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/libata.h')
-rw-r--r--include/linux/libata.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/include/linux/libata.h b/include/linux/libata.h
index ab2754830322..91bb8ceef0b5 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -177,6 +177,7 @@ enum {
177 * Register FIS clearing BSY */ 177 * Register FIS clearing BSY */
178 ATA_FLAG_DEBUGMSG = (1 << 13), 178 ATA_FLAG_DEBUGMSG = (1 << 13),
179 ATA_FLAG_SETXFER_POLLING= (1 << 14), /* use polling for SETXFER */ 179 ATA_FLAG_SETXFER_POLLING= (1 << 14), /* use polling for SETXFER */
180 ATA_FLAG_IGN_SIMPLEX = (1 << 15), /* ignore SIMPLEX */
180 181
181 /* The following flag belongs to ap->pflags but is kept in 182 /* The following flag belongs to ap->pflags but is kept in
182 * ap->flags because it's referenced in many LLDs and will be 183 * ap->flags because it's referenced in many LLDs and will be
@@ -612,11 +613,11 @@ struct ata_port_operations {
612 void (*dev_select)(struct ata_port *ap, unsigned int device); 613 void (*dev_select)(struct ata_port *ap, unsigned int device);
613 614
614 void (*phy_reset) (struct ata_port *ap); /* obsolete */ 615 void (*phy_reset) (struct ata_port *ap); /* obsolete */
615 void (*set_mode) (struct ata_port *ap); 616 int (*set_mode) (struct ata_port *ap, struct ata_device **r_failed_dev);
616 617
617 void (*post_set_mode) (struct ata_port *ap); 618 void (*post_set_mode) (struct ata_port *ap);
618 619
619 int (*check_atapi_dma) (struct ata_queued_cmd *qc); 620 int (*check_atapi_dma) (struct ata_queued_cmd *qc);
620 621
621 void (*bmdma_setup) (struct ata_queued_cmd *qc); 622 void (*bmdma_setup) (struct ata_queued_cmd *qc);
622 void (*bmdma_start) (struct ata_queued_cmd *qc); 623 void (*bmdma_start) (struct ata_queued_cmd *qc);
@@ -1053,6 +1054,8 @@ static inline void ata_pause(struct ata_port *ap)
1053/** 1054/**
1054 * ata_busy_wait - Wait for a port status register 1055 * ata_busy_wait - Wait for a port status register
1055 * @ap: Port to wait for. 1056 * @ap: Port to wait for.
1057 * @bits: bits that must be clear
1058 * @max: number of 10uS waits to perform
1056 * 1059 *
1057 * Waits up to max*10 microseconds for the selected bits in the port's 1060 * Waits up to max*10 microseconds for the selected bits in the port's
1058 * status register to be cleared. 1061 * status register to be cleared.
@@ -1143,12 +1146,15 @@ static inline void ata_tf_init(struct ata_device *dev, struct ata_taskfile *tf)
1143 1146
1144static inline void ata_qc_reinit(struct ata_queued_cmd *qc) 1147static inline void ata_qc_reinit(struct ata_queued_cmd *qc)
1145{ 1148{
1149 qc->dma_dir = DMA_NONE;
1146 qc->__sg = NULL; 1150 qc->__sg = NULL;
1147 qc->flags = 0; 1151 qc->flags = 0;
1148 qc->cursect = qc->cursg = qc->cursg_ofs = 0; 1152 qc->cursect = qc->cursg = qc->cursg_ofs = 0;
1149 qc->nsect = 0; 1153 qc->nsect = 0;
1150 qc->nbytes = qc->curbytes = 0; 1154 qc->nbytes = qc->curbytes = 0;
1155 qc->n_elem = 0;
1151 qc->err_mask = 0; 1156 qc->err_mask = 0;
1157 qc->pad_len = 0;
1152 1158
1153 ata_tf_init(qc->dev, &qc->tf); 1159 ata_tf_init(qc->dev, &qc->tf);
1154 1160