Lines Matching refs:request

190     struct ata_request *request;  in ata_reinit()  local
207 if ((request = ch->running)) in ata_reinit()
208 callout_cancel(&request->callout); in ata_reinit()
230 if (request && request->dev == children[i]) { in ata_reinit()
231 request->result = ENXIO; in ata_reinit()
232 device_printf(request->dev, "FAILURE - device detached\n"); in ata_reinit()
235 if (!(request->flags & ATA_R_TIMEOUT)) in ata_reinit()
236 ata_finish(request); in ata_reinit()
237 request = NULL; in ata_reinit()
247 if (request && !(request->flags & ATA_R_TIMEOUT)) { in ata_reinit()
248 device_printf(request->dev, in ata_reinit()
250 ata_cmd2str(request)); in ata_reinit()
251 if (!(request->flags & (ATA_R_ATAPI | ATA_R_CONTROL))) in ata_reinit()
252 kprintf(" LBA=%ju", request->u.ata.lba); in ata_reinit()
254 request->flags |= ATA_R_REQUEUE; in ata_reinit()
255 ata_queue_request(request); in ata_reinit()
317 struct ata_request *request; in ata_interrupt() local
333 if ((request = ch->running) == NULL) in ata_interrupt()
335 if ((request->flags & ATA_R_HWCMDQUEUED) == 0) { in ata_interrupt()
340 ATA_DEBUG_RQ(request, "interrupt"); in ata_interrupt()
344 device_printf(request->dev, "interrupt on idle channel ignored\n"); in ata_interrupt()
352 if (ch->hw.end_transaction(request) == ATA_OP_FINISHED) { in ata_interrupt()
358 ata_finish(request); in ata_interrupt()
456 struct ata_request *request; in ata_device_ioctl() local
465 if (!(request = ata_alloc_request())) { in ata_device_ioctl()
469 request->dev = atadev->dev; in ata_device_ioctl()
474 ata_free_request(request); in ata_device_ioctl()
479 request->flags = ATA_R_ATAPI; in ata_device_ioctl()
480 bcopy(ioc_request->u.atapi.ccb, request->u.atapi.ccb, 16); in ata_device_ioctl()
483 request->u.ata.command = ioc_request->u.ata.command; in ata_device_ioctl()
484 request->u.ata.feature = ioc_request->u.ata.feature; in ata_device_ioctl()
485 request->u.ata.lba = ioc_request->u.ata.lba; in ata_device_ioctl()
486 request->u.ata.count = ioc_request->u.ata.count; in ata_device_ioctl()
488 request->timeout = ioc_request->timeout; in ata_device_ioctl()
489 request->data = buf; in ata_device_ioctl()
490 request->bytecount = ioc_request->count; in ata_device_ioctl()
491 request->transfersize = request->bytecount; in ata_device_ioctl()
493 request->flags |= ATA_R_CONTROL; in ata_device_ioctl()
495 request->flags |= ATA_R_READ; in ata_device_ioctl()
497 request->flags |= ATA_R_WRITE; in ata_device_ioctl()
498 ata_queue_request(request); in ata_device_ioctl()
499 if (request->flags & ATA_R_ATAPI) { in ata_device_ioctl()
500 bcopy(&request->u.atapi.sense, &ioc_request->u.atapi.sense, in ata_device_ioctl()
504 ioc_request->u.ata.command = request->u.ata.command; in ata_device_ioctl()
505 ioc_request->u.ata.feature = request->u.ata.feature; in ata_device_ioctl()
506 ioc_request->u.ata.lba = request->u.ata.lba; in ata_device_ioctl()
507 ioc_request->u.ata.count = request->u.ata.count; in ata_device_ioctl()
509 ioc_request->error = request->result; in ata_device_ioctl()
515 ata_free_request(request); in ata_device_ioctl()
593 struct ata_request *request; in ata_getparam() local
605 if (!(request = ata_alloc_request())) in ata_getparam()
607 request->dev = atadev->dev; in ata_getparam()
608 request->timeout = 1; in ata_getparam()
609 request->retries = 0; in ata_getparam()
610 request->u.ata.command = command; in ata_getparam()
611 request->flags = (ATA_R_READ|ATA_R_AT_HEAD|ATA_R_DIRECT|ATA_R_QUIET); in ata_getparam()
612 request->data = (void *)&atadev->param; in ata_getparam()
613 request->bytecount = sizeof(struct ata_params); in ata_getparam()
614 request->donecount = 0; in ata_getparam()
615 request->transfersize = DEV_BSIZE; in ata_getparam()
616 ata_queue_request(request); in ata_getparam()
617 error = request->result; in ata_getparam()
618 ata_free_request(request); in ata_getparam()
739 ata_modify_if_48bit(struct ata_request *request) in ata_modify_if_48bit() argument
741 struct ata_channel *ch = device_get_softc(device_get_parent(request->dev)); in ata_modify_if_48bit()
742 struct ata_device *atadev = device_get_softc(request->dev); in ata_modify_if_48bit()
746 if (((request->u.ata.lba + request->u.ata.count) >= ATA_MAX_28BIT_LBA || in ata_modify_if_48bit()
747 request->u.ata.count > 256) && in ata_modify_if_48bit()
751 switch (request->u.ata.command) { in ata_modify_if_48bit()
753 request->u.ata.command = ATA_READ48; in ata_modify_if_48bit()
756 request->u.ata.command = ATA_READ_MUL48; in ata_modify_if_48bit()
760 if (request->transfersize > DEV_BSIZE) in ata_modify_if_48bit()
761 request->u.ata.command = ATA_READ_MUL48; in ata_modify_if_48bit()
763 request->u.ata.command = ATA_READ48; in ata_modify_if_48bit()
764 request->flags &= ~ATA_R_DMA; in ata_modify_if_48bit()
767 request->u.ata.command = ATA_READ_DMA48; in ata_modify_if_48bit()
771 if (request->transfersize > DEV_BSIZE) in ata_modify_if_48bit()
772 request->u.ata.command = ATA_READ_MUL48; in ata_modify_if_48bit()
774 request->u.ata.command = ATA_READ48; in ata_modify_if_48bit()
775 request->flags &= ~ATA_R_DMA; in ata_modify_if_48bit()
778 request->u.ata.command = ATA_READ_DMA_QUEUED48; in ata_modify_if_48bit()
781 request->u.ata.command = ATA_WRITE48; in ata_modify_if_48bit()
784 request->u.ata.command = ATA_WRITE_MUL48; in ata_modify_if_48bit()
788 if (request->transfersize > DEV_BSIZE) in ata_modify_if_48bit()
789 request->u.ata.command = ATA_WRITE_MUL48; in ata_modify_if_48bit()
791 request->u.ata.command = ATA_WRITE48; in ata_modify_if_48bit()
792 request->flags &= ~ATA_R_DMA; in ata_modify_if_48bit()
795 request->u.ata.command = ATA_WRITE_DMA48; in ata_modify_if_48bit()
799 if (request->transfersize > DEV_BSIZE) in ata_modify_if_48bit()
800 request->u.ata.command = ATA_WRITE_MUL48; in ata_modify_if_48bit()
802 request->u.ata.command = ATA_WRITE48; in ata_modify_if_48bit()
803 request->u.ata.command = ATA_WRITE48; in ata_modify_if_48bit()
804 request->flags &= ~ATA_R_DMA; in ata_modify_if_48bit()
807 request->u.ata.command = ATA_WRITE_DMA_QUEUED48; in ata_modify_if_48bit()
810 request->u.ata.command = ATA_FLUSHCACHE48; in ata_modify_if_48bit()
813 request->u.ata.command = ATA_READ_NATIVE_MAX_ADDRESS48; in ata_modify_if_48bit()
816 request->u.ata.command = ATA_SET_MAX_ADDRESS48; in ata_modify_if_48bit()