Lines Matching refs:cmdinfo

101 	struct uas_cmd_info *cmdinfo;  in uas_do_work()  local
116 cmdinfo = (void *)&cmnd->SCp; in uas_do_work()
118 if (!(cmdinfo->state & IS_IN_WORK_LIST)) in uas_do_work()
123 cmdinfo->state &= ~IS_IN_WORK_LIST; in uas_do_work()
142 static void uas_add_work(struct uas_cmd_info *cmdinfo) in uas_add_work() argument
144 struct scsi_pointer *scp = (void *)cmdinfo; in uas_add_work()
149 cmdinfo->state |= IS_IN_WORK_LIST; in uas_add_work()
155 struct uas_cmd_info *cmdinfo; in uas_zap_pending() local
166 cmdinfo = (void *)&cmnd->SCp; in uas_zap_pending()
169 cmdinfo->state &= ~COMMAND_INFLIGHT; in uas_zap_pending()
204 struct uas_cmd_info *cmdinfo = (void *)&cmnd->SCp; in uas_log_cmd_state() local
211 prefix, status, cmdinfo->uas_tag, in uas_log_cmd_state()
229 struct uas_cmd_info *cmdinfo; in uas_free_unsubmitted_urbs() local
234 cmdinfo = (void *)&cmnd->SCp; in uas_free_unsubmitted_urbs()
236 if (cmdinfo->state & SUBMIT_CMD_URB) in uas_free_unsubmitted_urbs()
237 usb_free_urb(cmdinfo->cmd_urb); in uas_free_unsubmitted_urbs()
240 if (!(cmdinfo->state & DATA_IN_URB_INFLIGHT)) in uas_free_unsubmitted_urbs()
241 usb_free_urb(cmdinfo->data_in_urb); in uas_free_unsubmitted_urbs()
242 if (!(cmdinfo->state & DATA_OUT_URB_INFLIGHT)) in uas_free_unsubmitted_urbs()
243 usb_free_urb(cmdinfo->data_out_urb); in uas_free_unsubmitted_urbs()
248 struct uas_cmd_info *cmdinfo = (void *)&cmnd->SCp; in uas_try_complete() local
252 if (cmdinfo->state & (COMMAND_INFLIGHT | in uas_try_complete()
257 devinfo->cmnd[cmdinfo->uas_tag - 1] = NULL; in uas_try_complete()
266 struct uas_cmd_info *cmdinfo = (void *)&cmnd->SCp; in uas_xfer_data() local
269 cmdinfo->state |= direction | SUBMIT_STATUS_URB; in uas_xfer_data()
272 uas_add_work(cmdinfo); in uas_xfer_data()
307 struct uas_cmd_info *cmdinfo; in uas_stat_cmplt() local
332 cmdinfo = (void *)&cmnd->SCp; in uas_stat_cmplt()
334 if (!(cmdinfo->state & COMMAND_INFLIGHT)) { in uas_stat_cmplt()
344 data_in_urb = usb_get_urb(cmdinfo->data_in_urb); in uas_stat_cmplt()
345 data_out_urb = usb_get_urb(cmdinfo->data_out_urb); in uas_stat_cmplt()
347 cmdinfo->state &= ~COMMAND_INFLIGHT; in uas_stat_cmplt()
351 if (!cmdinfo->data_in_urb || in uas_stat_cmplt()
352 (cmdinfo->state & DATA_IN_URB_INFLIGHT)) { in uas_stat_cmplt()
359 if (!cmdinfo->data_out_urb || in uas_stat_cmplt()
360 (cmdinfo->state & DATA_OUT_URB_INFLIGHT)) { in uas_stat_cmplt()
367 cmdinfo->state &= ~COMMAND_INFLIGHT; in uas_stat_cmplt()
371 data_in_urb = usb_get_urb(cmdinfo->data_in_urb); in uas_stat_cmplt()
372 data_out_urb = usb_get_urb(cmdinfo->data_out_urb); in uas_stat_cmplt()
397 struct uas_cmd_info *cmdinfo = (void *)&cmnd->SCp; in uas_data_cmplt() local
405 if (cmdinfo->data_in_urb == urb) { in uas_data_cmplt()
406 cmdinfo->state &= ~DATA_IN_URB_INFLIGHT; in uas_data_cmplt()
407 cmdinfo->data_in_urb = NULL; in uas_data_cmplt()
408 } else if (cmdinfo->data_out_urb == urb) { in uas_data_cmplt()
409 cmdinfo->state &= ~DATA_OUT_URB_INFLIGHT; in uas_data_cmplt()
410 cmdinfo->data_out_urb = NULL; in uas_data_cmplt()
417 if (cmdinfo->state & SUBMIT_CMD_URB) { in uas_data_cmplt()
449 struct uas_cmd_info *cmdinfo = (void *)&cmnd->SCp; in uas_alloc_data_urb() local
460 urb->stream_id = cmdinfo->uas_tag; in uas_alloc_data_urb()
471 struct uas_cmd_info *cmdinfo = (void *)&cmnd->SCp; in uas_alloc_sense_urb() local
485 urb->stream_id = cmdinfo->uas_tag; in uas_alloc_sense_urb()
499 struct uas_cmd_info *cmdinfo = (void *)&cmnd->SCp; in uas_alloc_cmd_urb() local
516 iu->tag = cpu_to_be16(cmdinfo->uas_tag); in uas_alloc_cmd_urb()
561 struct uas_cmd_info *cmdinfo = (void *)&cmnd->SCp; in uas_submit_urbs() local
566 if (cmdinfo->state & SUBMIT_STATUS_URB) { in uas_submit_urbs()
570 cmdinfo->state &= ~SUBMIT_STATUS_URB; in uas_submit_urbs()
573 if (cmdinfo->state & ALLOC_DATA_IN_URB) { in uas_submit_urbs()
574 cmdinfo->data_in_urb = uas_alloc_data_urb(devinfo, GFP_ATOMIC, in uas_submit_urbs()
576 if (!cmdinfo->data_in_urb) in uas_submit_urbs()
578 cmdinfo->state &= ~ALLOC_DATA_IN_URB; in uas_submit_urbs()
581 if (cmdinfo->state & SUBMIT_DATA_IN_URB) { in uas_submit_urbs()
582 usb_anchor_urb(cmdinfo->data_in_urb, &devinfo->data_urbs); in uas_submit_urbs()
583 err = usb_submit_urb(cmdinfo->data_in_urb, GFP_ATOMIC); in uas_submit_urbs()
585 usb_unanchor_urb(cmdinfo->data_in_urb); in uas_submit_urbs()
589 cmdinfo->state &= ~SUBMIT_DATA_IN_URB; in uas_submit_urbs()
590 cmdinfo->state |= DATA_IN_URB_INFLIGHT; in uas_submit_urbs()
593 if (cmdinfo->state & ALLOC_DATA_OUT_URB) { in uas_submit_urbs()
594 cmdinfo->data_out_urb = uas_alloc_data_urb(devinfo, GFP_ATOMIC, in uas_submit_urbs()
596 if (!cmdinfo->data_out_urb) in uas_submit_urbs()
598 cmdinfo->state &= ~ALLOC_DATA_OUT_URB; in uas_submit_urbs()
601 if (cmdinfo->state & SUBMIT_DATA_OUT_URB) { in uas_submit_urbs()
602 usb_anchor_urb(cmdinfo->data_out_urb, &devinfo->data_urbs); in uas_submit_urbs()
603 err = usb_submit_urb(cmdinfo->data_out_urb, GFP_ATOMIC); in uas_submit_urbs()
605 usb_unanchor_urb(cmdinfo->data_out_urb); in uas_submit_urbs()
609 cmdinfo->state &= ~SUBMIT_DATA_OUT_URB; in uas_submit_urbs()
610 cmdinfo->state |= DATA_OUT_URB_INFLIGHT; in uas_submit_urbs()
613 if (cmdinfo->state & ALLOC_CMD_URB) { in uas_submit_urbs()
614 cmdinfo->cmd_urb = uas_alloc_cmd_urb(devinfo, GFP_ATOMIC, cmnd); in uas_submit_urbs()
615 if (!cmdinfo->cmd_urb) in uas_submit_urbs()
617 cmdinfo->state &= ~ALLOC_CMD_URB; in uas_submit_urbs()
620 if (cmdinfo->state & SUBMIT_CMD_URB) { in uas_submit_urbs()
621 usb_anchor_urb(cmdinfo->cmd_urb, &devinfo->cmd_urbs); in uas_submit_urbs()
622 err = usb_submit_urb(cmdinfo->cmd_urb, GFP_ATOMIC); in uas_submit_urbs()
624 usb_unanchor_urb(cmdinfo->cmd_urb); in uas_submit_urbs()
628 cmdinfo->cmd_urb = NULL; in uas_submit_urbs()
629 cmdinfo->state &= ~SUBMIT_CMD_URB; in uas_submit_urbs()
630 cmdinfo->state |= COMMAND_INFLIGHT; in uas_submit_urbs()
641 struct uas_cmd_info *cmdinfo = (void *)&cmnd->SCp; in uas_queuecommand_lck() local
680 memset(cmdinfo, 0, sizeof(*cmdinfo)); in uas_queuecommand_lck()
681 cmdinfo->uas_tag = idx + 1; /* uas-tag == usb-stream-id, so 1 based */ in uas_queuecommand_lck()
682 cmdinfo->state = SUBMIT_STATUS_URB | ALLOC_CMD_URB | SUBMIT_CMD_URB; in uas_queuecommand_lck()
686 cmdinfo->state |= ALLOC_DATA_IN_URB | SUBMIT_DATA_IN_URB; in uas_queuecommand_lck()
689 cmdinfo->state |= ALLOC_DATA_IN_URB | SUBMIT_DATA_IN_URB; in uas_queuecommand_lck()
692 cmdinfo->state |= ALLOC_DATA_OUT_URB | SUBMIT_DATA_OUT_URB; in uas_queuecommand_lck()
698 cmdinfo->state &= ~(SUBMIT_DATA_IN_URB | SUBMIT_DATA_OUT_URB); in uas_queuecommand_lck()
713 if (cmdinfo->state & SUBMIT_STATUS_URB) { in uas_queuecommand_lck()
717 uas_add_work(cmdinfo); in uas_queuecommand_lck()
735 struct uas_cmd_info *cmdinfo = (void *)&cmnd->SCp; in DEF_SCSI_QCMD() local
746 cmdinfo->state |= COMMAND_ABORTED; in DEF_SCSI_QCMD()
749 devinfo->cmnd[cmdinfo->uas_tag - 1] = NULL; in DEF_SCSI_QCMD()
750 if (cmdinfo->state & DATA_IN_URB_INFLIGHT) in DEF_SCSI_QCMD()
751 data_in_urb = usb_get_urb(cmdinfo->data_in_urb); in DEF_SCSI_QCMD()
752 if (cmdinfo->state & DATA_OUT_URB_INFLIGHT) in DEF_SCSI_QCMD()
753 data_out_urb = usb_get_urb(cmdinfo->data_out_urb); in DEF_SCSI_QCMD()