Lines Matching refs:status
54 * ata_sff_check_status - Read device status reg & clear interrupt
57 * Reads ATA taskfile status register for currently-selected device
71 * ata_sff_altstatus - Read device alternate status reg
73 * @status: pointer to a status value
75 * Reads ATA alternate status register for currently-selected device
84 static bool ata_sff_altstatus(struct ata_port *ap, u8 *status)
99 if (status)
100 *status = tmp;
109 * if available in order to avoid clearing shared IRQ status
118 u8 status;
121 if (ata_sff_altstatus(ap, &status) && (status & ATA_BUSY))
122 return status;
124 status = ap->ops->sff_check_status(ap);
125 return status;
176 * messing up the IRQ status
189 u8 status = link->ap->ops->sff_check_status(link->ap);
191 return ata_check_ready(status);
196 * @link: SFF link to wait ready status for
282 * pauses and status polling, where needed.
387 * status method) then you will need to provide a replacement tf_read
396 tf->status = ata_sff_check_status(ap);
908 * @status: current device status
912 * 1 when poll next status needed, 0 otherwise.
915 u8 status, int in_wq)
932 trace_ata_sff_hsm_state(qc, status);
944 /* check device status */
945 if (unlikely((status & ATA_DRQ) == 0)) {
947 if (likely(status & (ATA_ERR | ATA_DF)))
967 if (unlikely(status & (ATA_ERR | ATA_DF))) {
976 "dev_stat 0x%X", status);
1007 if ((status & ATA_DRQ) == 0) {
1021 if (unlikely(status & (ATA_ERR | ATA_DF))) {
1024 "dev_stat 0x%X", status);
1038 if (unlikely((status & ATA_DRQ) == 0)) {
1040 if (likely(status & (ATA_ERR | ATA_DF))) {
1059 "dev_stat 0x%X", status);
1078 if (unlikely(status & (ATA_ERR | ATA_DF))) {
1084 status = ata_wait_idle(ap);
1087 if (status & (ATA_BUSY | ATA_DRQ)) {
1090 "dev_stat 0x%X", status);
1095 * status register stuck at 0x7f and
1101 if (status == 0x7f)
1117 status = ata_wait_idle(ap);
1126 if (unlikely(!ata_ok(status))) {
1127 qc->err_mask |= __ac_err_mask(status);
1133 trace_ata_sff_hsm_command_complete(qc, status);
1215 u8 status;
1234 * a chk-status or two. If not, the drive is probably seeking
1236 * chk-status again. If still busy, queue delayed work.
1238 status = ata_sff_busy_wait(ap, ATA_BUSY, 5);
1239 if (status & ATA_BUSY) {
1244 status = ata_sff_busy_wait(ap, ATA_BUSY, 10);
1245 if (status & ATA_BUSY) {
1257 poll_next = ata_sff_hsm_move(ap, qc, status, 1);
1397 u8 status;
1421 /* check main status, clearing INTRQ if needed */
1422 status = ata_sff_irq_status(ap);
1423 if (status & ATA_BUSY) {
1436 ata_sff_hsm_move(ap, qc, status, 0);
1491 * pending status if available and clear spurious IRQ.
1567 u8 status = 0;
1577 if (WARN_ON_ONCE(!ata_sff_altstatus(ap, &status)))
1579 if (status & ATA_BUSY)
1584 ata_port_warn(ap, "lost interrupt (Status 0x%x)\n", status);
1806 * status register too early.
1829 * and TF status is 0xff, bail out on it too.
2717 /* check status of DMA engine */
2852 * Clear interrupt and error flags in DMA status register.
2920 * Further, a read of the DMA status register _immediately_
2958 * ata_bmdma_status - Read PCI IDE BMDMA status
2961 * Read and return BMDMA status register.
3085 * even if DMA is not in use to clear IRQ status via