Lines Matching refs:cmdinfo

87 	struct uas_cmd_info *cmdinfo;  in uas_do_work()  local
102 cmdinfo = (void *)&cmnd->SCp; in uas_do_work()
104 if (!(cmdinfo->state & IS_IN_WORK_LIST)) in uas_do_work()
109 cmdinfo->state &= ~IS_IN_WORK_LIST; in uas_do_work()
117 static void uas_add_work(struct uas_cmd_info *cmdinfo) in uas_add_work() argument
119 struct scsi_pointer *scp = (void *)cmdinfo; in uas_add_work()
124 cmdinfo->state |= IS_IN_WORK_LIST; in uas_add_work()
130 struct uas_cmd_info *cmdinfo; in uas_zap_pending() local
141 cmdinfo = (void *)&cmnd->SCp; in uas_zap_pending()
144 cmdinfo->state &= ~COMMAND_INFLIGHT; in uas_zap_pending()
179 struct uas_cmd_info *cmdinfo = (void *)&cmnd->SCp; in uas_log_cmd_state() local
183 prefix, status, cmdinfo->uas_tag, in uas_log_cmd_state()
201 struct uas_cmd_info *cmdinfo; in uas_free_unsubmitted_urbs() local
206 cmdinfo = (void *)&cmnd->SCp; in uas_free_unsubmitted_urbs()
208 if (cmdinfo->state & SUBMIT_CMD_URB) in uas_free_unsubmitted_urbs()
209 usb_free_urb(cmdinfo->cmd_urb); in uas_free_unsubmitted_urbs()
212 if (!(cmdinfo->state & DATA_IN_URB_INFLIGHT)) in uas_free_unsubmitted_urbs()
213 usb_free_urb(cmdinfo->data_in_urb); in uas_free_unsubmitted_urbs()
214 if (!(cmdinfo->state & DATA_OUT_URB_INFLIGHT)) in uas_free_unsubmitted_urbs()
215 usb_free_urb(cmdinfo->data_out_urb); in uas_free_unsubmitted_urbs()
220 struct uas_cmd_info *cmdinfo = (void *)&cmnd->SCp; in uas_try_complete() local
224 if (cmdinfo->state & (COMMAND_INFLIGHT | in uas_try_complete()
229 devinfo->cmnd[cmdinfo->uas_tag - 1] = NULL; in uas_try_complete()
238 struct uas_cmd_info *cmdinfo = (void *)&cmnd->SCp; in uas_xfer_data() local
241 cmdinfo->state |= direction | SUBMIT_STATUS_URB; in uas_xfer_data()
244 uas_add_work(cmdinfo); in uas_xfer_data()
279 struct uas_cmd_info *cmdinfo; in uas_stat_cmplt() local
304 cmdinfo = (void *)&cmnd->SCp; in uas_stat_cmplt()
306 if (!(cmdinfo->state & COMMAND_INFLIGHT)) { in uas_stat_cmplt()
316 data_in_urb = usb_get_urb(cmdinfo->data_in_urb); in uas_stat_cmplt()
317 data_out_urb = usb_get_urb(cmdinfo->data_out_urb); in uas_stat_cmplt()
319 cmdinfo->state &= ~COMMAND_INFLIGHT; in uas_stat_cmplt()
323 if (!cmdinfo->data_in_urb || in uas_stat_cmplt()
324 (cmdinfo->state & DATA_IN_URB_INFLIGHT)) { in uas_stat_cmplt()
331 if (!cmdinfo->data_out_urb || in uas_stat_cmplt()
332 (cmdinfo->state & DATA_OUT_URB_INFLIGHT)) { in uas_stat_cmplt()
339 cmdinfo->state &= ~COMMAND_INFLIGHT; in uas_stat_cmplt()
343 data_in_urb = usb_get_urb(cmdinfo->data_in_urb); in uas_stat_cmplt()
344 data_out_urb = usb_get_urb(cmdinfo->data_out_urb); in uas_stat_cmplt()
369 struct uas_cmd_info *cmdinfo = (void *)&cmnd->SCp; in uas_data_cmplt() local
377 if (cmdinfo->data_in_urb == urb) { in uas_data_cmplt()
379 cmdinfo->state &= ~DATA_IN_URB_INFLIGHT; in uas_data_cmplt()
380 cmdinfo->data_in_urb = NULL; in uas_data_cmplt()
381 } else if (cmdinfo->data_out_urb == urb) { in uas_data_cmplt()
383 cmdinfo->state &= ~DATA_OUT_URB_INFLIGHT; in uas_data_cmplt()
384 cmdinfo->data_out_urb = NULL; in uas_data_cmplt()
395 if (cmdinfo->state & SUBMIT_CMD_URB) { in uas_data_cmplt()
427 struct uas_cmd_info *cmdinfo = (void *)&cmnd->SCp; in uas_alloc_data_urb() local
439 urb->stream_id = cmdinfo->uas_tag; in uas_alloc_data_urb()
450 struct uas_cmd_info *cmdinfo = (void *)&cmnd->SCp; in uas_alloc_sense_urb() local
464 urb->stream_id = cmdinfo->uas_tag; in uas_alloc_sense_urb()
478 struct uas_cmd_info *cmdinfo = (void *)&cmnd->SCp; in uas_alloc_cmd_urb() local
495 iu->tag = cpu_to_be16(cmdinfo->uas_tag); in uas_alloc_cmd_urb()
540 struct uas_cmd_info *cmdinfo = (void *)&cmnd->SCp; in uas_submit_urbs() local
545 if (cmdinfo->state & SUBMIT_STATUS_URB) { in uas_submit_urbs()
549 cmdinfo->state &= ~SUBMIT_STATUS_URB; in uas_submit_urbs()
552 if (cmdinfo->state & ALLOC_DATA_IN_URB) { in uas_submit_urbs()
553 cmdinfo->data_in_urb = uas_alloc_data_urb(devinfo, GFP_ATOMIC, in uas_submit_urbs()
555 if (!cmdinfo->data_in_urb) in uas_submit_urbs()
557 cmdinfo->state &= ~ALLOC_DATA_IN_URB; in uas_submit_urbs()
560 if (cmdinfo->state & SUBMIT_DATA_IN_URB) { in uas_submit_urbs()
561 usb_anchor_urb(cmdinfo->data_in_urb, &devinfo->data_urbs); in uas_submit_urbs()
562 err = usb_submit_urb(cmdinfo->data_in_urb, GFP_ATOMIC); in uas_submit_urbs()
564 usb_unanchor_urb(cmdinfo->data_in_urb); in uas_submit_urbs()
568 cmdinfo->state &= ~SUBMIT_DATA_IN_URB; in uas_submit_urbs()
569 cmdinfo->state |= DATA_IN_URB_INFLIGHT; in uas_submit_urbs()
572 if (cmdinfo->state & ALLOC_DATA_OUT_URB) { in uas_submit_urbs()
573 cmdinfo->data_out_urb = uas_alloc_data_urb(devinfo, GFP_ATOMIC, in uas_submit_urbs()
575 if (!cmdinfo->data_out_urb) in uas_submit_urbs()
577 cmdinfo->state &= ~ALLOC_DATA_OUT_URB; in uas_submit_urbs()
580 if (cmdinfo->state & SUBMIT_DATA_OUT_URB) { in uas_submit_urbs()
581 usb_anchor_urb(cmdinfo->data_out_urb, &devinfo->data_urbs); in uas_submit_urbs()
582 err = usb_submit_urb(cmdinfo->data_out_urb, GFP_ATOMIC); in uas_submit_urbs()
584 usb_unanchor_urb(cmdinfo->data_out_urb); in uas_submit_urbs()
588 cmdinfo->state &= ~SUBMIT_DATA_OUT_URB; in uas_submit_urbs()
589 cmdinfo->state |= DATA_OUT_URB_INFLIGHT; in uas_submit_urbs()
592 if (cmdinfo->state & ALLOC_CMD_URB) { in uas_submit_urbs()
593 cmdinfo->cmd_urb = uas_alloc_cmd_urb(devinfo, GFP_ATOMIC, cmnd); in uas_submit_urbs()
594 if (!cmdinfo->cmd_urb) in uas_submit_urbs()
596 cmdinfo->state &= ~ALLOC_CMD_URB; in uas_submit_urbs()
599 if (cmdinfo->state & SUBMIT_CMD_URB) { in uas_submit_urbs()
600 usb_anchor_urb(cmdinfo->cmd_urb, &devinfo->cmd_urbs); in uas_submit_urbs()
601 err = usb_submit_urb(cmdinfo->cmd_urb, GFP_ATOMIC); in uas_submit_urbs()
603 usb_unanchor_urb(cmdinfo->cmd_urb); in uas_submit_urbs()
607 cmdinfo->cmd_urb = NULL; in uas_submit_urbs()
608 cmdinfo->state &= ~SUBMIT_CMD_URB; in uas_submit_urbs()
609 cmdinfo->state |= COMMAND_INFLIGHT; in uas_submit_urbs()
620 struct uas_cmd_info *cmdinfo = (void *)&cmnd->SCp; in uas_queuecommand_lck() local
660 memset(cmdinfo, 0, sizeof(*cmdinfo)); in uas_queuecommand_lck()
661 cmdinfo->uas_tag = idx + 1; /* uas-tag == usb-stream-id, so 1 based */ in uas_queuecommand_lck()
662 cmdinfo->state = SUBMIT_STATUS_URB | ALLOC_CMD_URB | SUBMIT_CMD_URB; in uas_queuecommand_lck()
666 cmdinfo->state |= ALLOC_DATA_IN_URB | SUBMIT_DATA_IN_URB; in uas_queuecommand_lck()
669 cmdinfo->state |= ALLOC_DATA_IN_URB | SUBMIT_DATA_IN_URB; in uas_queuecommand_lck()
672 cmdinfo->state |= ALLOC_DATA_OUT_URB | SUBMIT_DATA_OUT_URB; in uas_queuecommand_lck()
678 cmdinfo->state &= ~(SUBMIT_DATA_IN_URB | SUBMIT_DATA_OUT_URB); in uas_queuecommand_lck()
683 if (cmdinfo->state & SUBMIT_STATUS_URB) { in uas_queuecommand_lck()
687 uas_add_work(cmdinfo); in uas_queuecommand_lck()
704 struct uas_cmd_info *cmdinfo = (void *)&cmnd->SCp; in DEF_SCSI_QCMD() local
715 cmdinfo->state |= COMMAND_ABORTED; in DEF_SCSI_QCMD()
718 devinfo->cmnd[cmdinfo->uas_tag - 1] = NULL; in DEF_SCSI_QCMD()
719 if (cmdinfo->state & DATA_IN_URB_INFLIGHT) in DEF_SCSI_QCMD()
720 data_in_urb = usb_get_urb(cmdinfo->data_in_urb); in DEF_SCSI_QCMD()
721 if (cmdinfo->state & DATA_OUT_URB_INFLIGHT) in DEF_SCSI_QCMD()
722 data_out_urb = usb_get_urb(cmdinfo->data_out_urb); in DEF_SCSI_QCMD()