Lines Matching refs:cmdinfo

88 	struct uas_cmd_info *cmdinfo;  in uas_do_work()  local
103 cmdinfo = (void *)&cmnd->SCp; in uas_do_work()
105 if (!(cmdinfo->state & IS_IN_WORK_LIST)) in uas_do_work()
110 cmdinfo->state &= ~IS_IN_WORK_LIST; in uas_do_work()
118 static void uas_add_work(struct uas_cmd_info *cmdinfo) in uas_add_work() argument
120 struct scsi_pointer *scp = (void *)cmdinfo; in uas_add_work()
125 cmdinfo->state |= IS_IN_WORK_LIST; in uas_add_work()
131 struct uas_cmd_info *cmdinfo; in uas_zap_pending() local
142 cmdinfo = (void *)&cmnd->SCp; in uas_zap_pending()
145 cmdinfo->state &= ~COMMAND_INFLIGHT; in uas_zap_pending()
180 struct uas_cmd_info *cmdinfo = (void *)&cmnd->SCp; in uas_log_cmd_state() local
184 prefix, status, cmdinfo->uas_tag, in uas_log_cmd_state()
202 struct uas_cmd_info *cmdinfo; in uas_free_unsubmitted_urbs() local
207 cmdinfo = (void *)&cmnd->SCp; in uas_free_unsubmitted_urbs()
209 if (cmdinfo->state & SUBMIT_CMD_URB) in uas_free_unsubmitted_urbs()
210 usb_free_urb(cmdinfo->cmd_urb); in uas_free_unsubmitted_urbs()
213 if (!(cmdinfo->state & DATA_IN_URB_INFLIGHT)) in uas_free_unsubmitted_urbs()
214 usb_free_urb(cmdinfo->data_in_urb); in uas_free_unsubmitted_urbs()
215 if (!(cmdinfo->state & DATA_OUT_URB_INFLIGHT)) in uas_free_unsubmitted_urbs()
216 usb_free_urb(cmdinfo->data_out_urb); in uas_free_unsubmitted_urbs()
221 struct uas_cmd_info *cmdinfo = (void *)&cmnd->SCp; in uas_try_complete() local
225 if (cmdinfo->state & (COMMAND_INFLIGHT | in uas_try_complete()
230 devinfo->cmnd[cmdinfo->uas_tag - 1] = NULL; in uas_try_complete()
239 struct uas_cmd_info *cmdinfo = (void *)&cmnd->SCp; in uas_xfer_data() local
242 cmdinfo->state |= direction | SUBMIT_STATUS_URB; in uas_xfer_data()
245 uas_add_work(cmdinfo); in uas_xfer_data()
257 struct uas_cmd_info *cmdinfo; in uas_stat_cmplt() local
281 cmdinfo = (void *)&cmnd->SCp; in uas_stat_cmplt()
283 if (!(cmdinfo->state & COMMAND_INFLIGHT)) { in uas_stat_cmplt()
293 data_in_urb = usb_get_urb(cmdinfo->data_in_urb); in uas_stat_cmplt()
294 data_out_urb = usb_get_urb(cmdinfo->data_out_urb); in uas_stat_cmplt()
296 cmdinfo->state &= ~COMMAND_INFLIGHT; in uas_stat_cmplt()
300 if (!cmdinfo->data_in_urb || in uas_stat_cmplt()
301 (cmdinfo->state & DATA_IN_URB_INFLIGHT)) { in uas_stat_cmplt()
308 if (!cmdinfo->data_out_urb || in uas_stat_cmplt()
309 (cmdinfo->state & DATA_OUT_URB_INFLIGHT)) { in uas_stat_cmplt()
319 data_in_urb = usb_get_urb(cmdinfo->data_in_urb); in uas_stat_cmplt()
320 data_out_urb = usb_get_urb(cmdinfo->data_out_urb); in uas_stat_cmplt()
321 cmdinfo->state &= ~COMMAND_INFLIGHT; in uas_stat_cmplt()
346 struct uas_cmd_info *cmdinfo = (void *)&cmnd->SCp; in uas_data_cmplt() local
354 if (cmdinfo->data_in_urb == urb) { in uas_data_cmplt()
356 cmdinfo->state &= ~DATA_IN_URB_INFLIGHT; in uas_data_cmplt()
357 cmdinfo->data_in_urb = NULL; in uas_data_cmplt()
358 } else if (cmdinfo->data_out_urb == urb) { in uas_data_cmplt()
360 cmdinfo->state &= ~DATA_OUT_URB_INFLIGHT; in uas_data_cmplt()
361 cmdinfo->data_out_urb = NULL; in uas_data_cmplt()
372 if (cmdinfo->state & SUBMIT_CMD_URB) { in uas_data_cmplt()
404 struct uas_cmd_info *cmdinfo = (void *)&cmnd->SCp; in uas_alloc_data_urb() local
416 urb->stream_id = cmdinfo->uas_tag; in uas_alloc_data_urb()
427 struct uas_cmd_info *cmdinfo = (void *)&cmnd->SCp; in uas_alloc_sense_urb() local
441 urb->stream_id = cmdinfo->uas_tag; in uas_alloc_sense_urb()
455 struct uas_cmd_info *cmdinfo = (void *)&cmnd->SCp; in uas_alloc_cmd_urb() local
472 iu->tag = cpu_to_be16(cmdinfo->uas_tag); in uas_alloc_cmd_urb()
517 struct uas_cmd_info *cmdinfo = (void *)&cmnd->SCp; in uas_submit_urbs() local
522 if (cmdinfo->state & SUBMIT_STATUS_URB) { in uas_submit_urbs()
526 cmdinfo->state &= ~SUBMIT_STATUS_URB; in uas_submit_urbs()
529 if (cmdinfo->state & ALLOC_DATA_IN_URB) { in uas_submit_urbs()
530 cmdinfo->data_in_urb = uas_alloc_data_urb(devinfo, gfp, in uas_submit_urbs()
532 if (!cmdinfo->data_in_urb) in uas_submit_urbs()
534 cmdinfo->state &= ~ALLOC_DATA_IN_URB; in uas_submit_urbs()
537 if (cmdinfo->state & SUBMIT_DATA_IN_URB) { in uas_submit_urbs()
538 usb_anchor_urb(cmdinfo->data_in_urb, &devinfo->data_urbs); in uas_submit_urbs()
539 err = usb_submit_urb(cmdinfo->data_in_urb, gfp); in uas_submit_urbs()
541 usb_unanchor_urb(cmdinfo->data_in_urb); in uas_submit_urbs()
545 cmdinfo->state &= ~SUBMIT_DATA_IN_URB; in uas_submit_urbs()
546 cmdinfo->state |= DATA_IN_URB_INFLIGHT; in uas_submit_urbs()
549 if (cmdinfo->state & ALLOC_DATA_OUT_URB) { in uas_submit_urbs()
550 cmdinfo->data_out_urb = uas_alloc_data_urb(devinfo, gfp, in uas_submit_urbs()
552 if (!cmdinfo->data_out_urb) in uas_submit_urbs()
554 cmdinfo->state &= ~ALLOC_DATA_OUT_URB; in uas_submit_urbs()
557 if (cmdinfo->state & SUBMIT_DATA_OUT_URB) { in uas_submit_urbs()
558 usb_anchor_urb(cmdinfo->data_out_urb, &devinfo->data_urbs); in uas_submit_urbs()
559 err = usb_submit_urb(cmdinfo->data_out_urb, gfp); in uas_submit_urbs()
561 usb_unanchor_urb(cmdinfo->data_out_urb); in uas_submit_urbs()
565 cmdinfo->state &= ~SUBMIT_DATA_OUT_URB; in uas_submit_urbs()
566 cmdinfo->state |= DATA_OUT_URB_INFLIGHT; in uas_submit_urbs()
569 if (cmdinfo->state & ALLOC_CMD_URB) { in uas_submit_urbs()
570 cmdinfo->cmd_urb = uas_alloc_cmd_urb(devinfo, gfp, cmnd); in uas_submit_urbs()
571 if (!cmdinfo->cmd_urb) in uas_submit_urbs()
573 cmdinfo->state &= ~ALLOC_CMD_URB; in uas_submit_urbs()
576 if (cmdinfo->state & SUBMIT_CMD_URB) { in uas_submit_urbs()
577 usb_anchor_urb(cmdinfo->cmd_urb, &devinfo->cmd_urbs); in uas_submit_urbs()
578 err = usb_submit_urb(cmdinfo->cmd_urb, gfp); in uas_submit_urbs()
580 usb_unanchor_urb(cmdinfo->cmd_urb); in uas_submit_urbs()
584 cmdinfo->cmd_urb = NULL; in uas_submit_urbs()
585 cmdinfo->state &= ~SUBMIT_CMD_URB; in uas_submit_urbs()
586 cmdinfo->state |= COMMAND_INFLIGHT; in uas_submit_urbs()
597 struct uas_cmd_info *cmdinfo = (void *)&cmnd->SCp; in uas_queuecommand_lck() local
637 memset(cmdinfo, 0, sizeof(*cmdinfo)); in uas_queuecommand_lck()
638 cmdinfo->uas_tag = idx + 1; /* uas-tag == usb-stream-id, so 1 based */ in uas_queuecommand_lck()
639 cmdinfo->state = SUBMIT_STATUS_URB | ALLOC_CMD_URB | SUBMIT_CMD_URB; in uas_queuecommand_lck()
643 cmdinfo->state |= ALLOC_DATA_IN_URB | SUBMIT_DATA_IN_URB; in uas_queuecommand_lck()
646 cmdinfo->state |= ALLOC_DATA_IN_URB | SUBMIT_DATA_IN_URB; in uas_queuecommand_lck()
648 cmdinfo->state |= ALLOC_DATA_OUT_URB | SUBMIT_DATA_OUT_URB; in uas_queuecommand_lck()
654 cmdinfo->state &= ~(SUBMIT_DATA_IN_URB | SUBMIT_DATA_OUT_URB); in uas_queuecommand_lck()
659 if (cmdinfo->state & SUBMIT_STATUS_URB) { in uas_queuecommand_lck()
663 uas_add_work(cmdinfo); in uas_queuecommand_lck()
680 struct uas_cmd_info *cmdinfo = (void *)&cmnd->SCp; in DEF_SCSI_QCMD() local
691 cmdinfo->state |= COMMAND_ABORTED; in DEF_SCSI_QCMD()
694 devinfo->cmnd[cmdinfo->uas_tag - 1] = NULL; in DEF_SCSI_QCMD()
695 if (cmdinfo->state & DATA_IN_URB_INFLIGHT) in DEF_SCSI_QCMD()
696 data_in_urb = usb_get_urb(cmdinfo->data_in_urb); in DEF_SCSI_QCMD()
697 if (cmdinfo->state & DATA_OUT_URB_INFLIGHT) in DEF_SCSI_QCMD()
698 data_out_urb = usb_get_urb(cmdinfo->data_out_urb); in DEF_SCSI_QCMD()