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()
378 cmdinfo->state &= ~DATA_IN_URB_INFLIGHT; in uas_data_cmplt()
379 cmdinfo->data_in_urb = NULL; in uas_data_cmplt()
380 } else if (cmdinfo->data_out_urb == urb) { in uas_data_cmplt()
381 cmdinfo->state &= ~DATA_OUT_URB_INFLIGHT; in uas_data_cmplt()
382 cmdinfo->data_out_urb = NULL; in uas_data_cmplt()
389 if (cmdinfo->state & SUBMIT_CMD_URB) { in uas_data_cmplt()
421 struct uas_cmd_info *cmdinfo = (void *)&cmnd->SCp; in uas_alloc_data_urb() local
432 urb->stream_id = cmdinfo->uas_tag; in uas_alloc_data_urb()
443 struct uas_cmd_info *cmdinfo = (void *)&cmnd->SCp; in uas_alloc_sense_urb() local
457 urb->stream_id = cmdinfo->uas_tag; in uas_alloc_sense_urb()
471 struct uas_cmd_info *cmdinfo = (void *)&cmnd->SCp; in uas_alloc_cmd_urb() local
488 iu->tag = cpu_to_be16(cmdinfo->uas_tag); in uas_alloc_cmd_urb()
533 struct uas_cmd_info *cmdinfo = (void *)&cmnd->SCp; in uas_submit_urbs() local
538 if (cmdinfo->state & SUBMIT_STATUS_URB) { in uas_submit_urbs()
542 cmdinfo->state &= ~SUBMIT_STATUS_URB; in uas_submit_urbs()
545 if (cmdinfo->state & ALLOC_DATA_IN_URB) { in uas_submit_urbs()
546 cmdinfo->data_in_urb = uas_alloc_data_urb(devinfo, GFP_ATOMIC, in uas_submit_urbs()
548 if (!cmdinfo->data_in_urb) in uas_submit_urbs()
550 cmdinfo->state &= ~ALLOC_DATA_IN_URB; in uas_submit_urbs()
553 if (cmdinfo->state & SUBMIT_DATA_IN_URB) { in uas_submit_urbs()
554 usb_anchor_urb(cmdinfo->data_in_urb, &devinfo->data_urbs); in uas_submit_urbs()
555 err = usb_submit_urb(cmdinfo->data_in_urb, GFP_ATOMIC); in uas_submit_urbs()
557 usb_unanchor_urb(cmdinfo->data_in_urb); in uas_submit_urbs()
561 cmdinfo->state &= ~SUBMIT_DATA_IN_URB; in uas_submit_urbs()
562 cmdinfo->state |= DATA_IN_URB_INFLIGHT; in uas_submit_urbs()
565 if (cmdinfo->state & ALLOC_DATA_OUT_URB) { in uas_submit_urbs()
566 cmdinfo->data_out_urb = uas_alloc_data_urb(devinfo, GFP_ATOMIC, in uas_submit_urbs()
568 if (!cmdinfo->data_out_urb) in uas_submit_urbs()
570 cmdinfo->state &= ~ALLOC_DATA_OUT_URB; in uas_submit_urbs()
573 if (cmdinfo->state & SUBMIT_DATA_OUT_URB) { in uas_submit_urbs()
574 usb_anchor_urb(cmdinfo->data_out_urb, &devinfo->data_urbs); in uas_submit_urbs()
575 err = usb_submit_urb(cmdinfo->data_out_urb, GFP_ATOMIC); in uas_submit_urbs()
577 usb_unanchor_urb(cmdinfo->data_out_urb); in uas_submit_urbs()
581 cmdinfo->state &= ~SUBMIT_DATA_OUT_URB; in uas_submit_urbs()
582 cmdinfo->state |= DATA_OUT_URB_INFLIGHT; in uas_submit_urbs()
585 if (cmdinfo->state & ALLOC_CMD_URB) { in uas_submit_urbs()
586 cmdinfo->cmd_urb = uas_alloc_cmd_urb(devinfo, GFP_ATOMIC, cmnd); in uas_submit_urbs()
587 if (!cmdinfo->cmd_urb) in uas_submit_urbs()
589 cmdinfo->state &= ~ALLOC_CMD_URB; in uas_submit_urbs()
592 if (cmdinfo->state & SUBMIT_CMD_URB) { in uas_submit_urbs()
593 usb_anchor_urb(cmdinfo->cmd_urb, &devinfo->cmd_urbs); in uas_submit_urbs()
594 err = usb_submit_urb(cmdinfo->cmd_urb, GFP_ATOMIC); in uas_submit_urbs()
596 usb_unanchor_urb(cmdinfo->cmd_urb); in uas_submit_urbs()
600 cmdinfo->cmd_urb = NULL; in uas_submit_urbs()
601 cmdinfo->state &= ~SUBMIT_CMD_URB; in uas_submit_urbs()
602 cmdinfo->state |= COMMAND_INFLIGHT; in uas_submit_urbs()
613 struct uas_cmd_info *cmdinfo = (void *)&cmnd->SCp; in uas_queuecommand_lck() local
653 memset(cmdinfo, 0, sizeof(*cmdinfo)); in uas_queuecommand_lck()
654 cmdinfo->uas_tag = idx + 1; /* uas-tag == usb-stream-id, so 1 based */ in uas_queuecommand_lck()
655 cmdinfo->state = SUBMIT_STATUS_URB | ALLOC_CMD_URB | SUBMIT_CMD_URB; in uas_queuecommand_lck()
659 cmdinfo->state |= ALLOC_DATA_IN_URB | SUBMIT_DATA_IN_URB; in uas_queuecommand_lck()
662 cmdinfo->state |= ALLOC_DATA_IN_URB | SUBMIT_DATA_IN_URB; in uas_queuecommand_lck()
665 cmdinfo->state |= ALLOC_DATA_OUT_URB | SUBMIT_DATA_OUT_URB; in uas_queuecommand_lck()
671 cmdinfo->state &= ~(SUBMIT_DATA_IN_URB | SUBMIT_DATA_OUT_URB); in uas_queuecommand_lck()
676 if (cmdinfo->state & SUBMIT_STATUS_URB) { in uas_queuecommand_lck()
680 uas_add_work(cmdinfo); in uas_queuecommand_lck()
697 struct uas_cmd_info *cmdinfo = (void *)&cmnd->SCp; in DEF_SCSI_QCMD() local
708 cmdinfo->state |= COMMAND_ABORTED; in DEF_SCSI_QCMD()
711 devinfo->cmnd[cmdinfo->uas_tag - 1] = NULL; in DEF_SCSI_QCMD()
712 if (cmdinfo->state & DATA_IN_URB_INFLIGHT) in DEF_SCSI_QCMD()
713 data_in_urb = usb_get_urb(cmdinfo->data_in_urb); in DEF_SCSI_QCMD()
714 if (cmdinfo->state & DATA_OUT_URB_INFLIGHT) in DEF_SCSI_QCMD()
715 data_out_urb = usb_get_urb(cmdinfo->data_out_urb); in DEF_SCSI_QCMD()