Lines Matching refs:request_block
110 static void *ms_usb_find_data_location(stCmd_scsi *request_block) in ms_usb_find_data_location() argument
112 return (void *) request_block->req_buf; in ms_usb_find_data_location()
115 static void ms_usb_invoke_and_inquiry(stCmd_scsi *request_block, struct ms_usdata *ms_us) in ms_usb_invoke_and_inquiry() argument
119 ms_usb_invoke_transport(request_block, ms_us); in ms_usb_invoke_and_inquiry()
120 if (request_block->result == MS_STAT_GOOD) in ms_usb_invoke_and_inquiry()
122 if (request_block->cmnd[0] != INQUIRY) in ms_usb_invoke_and_inquiry()
125 if (request_block->req_buf_len < 3) in ms_usb_invoke_and_inquiry()
128 data_ptr = (unsigned char*) ms_usb_find_data_location(request_block); in ms_usb_invoke_and_inquiry()
140 void ms_usb_qic157_command(stCmd_scsi *request_block, struct ms_usdata *ms_us) in ms_usb_qic157_command() argument
142 for (; request_block->cmd_len<12; request_block->cmd_len++) in ms_usb_qic157_command()
143 request_block->cmnd[request_block->cmd_len] = 0; in ms_usb_qic157_command()
145 request_block->cmd_len = 12; in ms_usb_qic157_command()
146 ms_usb_invoke_and_inquiry(request_block, ms_us); in ms_usb_qic157_command()
149 void ms_usb_ufi_command(stCmd_scsi *request_block, struct ms_usdata *ms_us) in ms_usb_ufi_command() argument
151 for (; request_block->cmd_len<12; request_block->cmd_len++) in ms_usb_ufi_command()
152 request_block->cmnd[request_block->cmd_len] = 0; in ms_usb_ufi_command()
154 request_block->cmd_len = 12; in ms_usb_ufi_command()
156 switch (request_block->cmnd[0]) in ms_usb_ufi_command()
159 request_block->cmnd[4] = 36; in ms_usb_ufi_command()
164 request_block->cmnd[7] = 0; in ms_usb_ufi_command()
165 request_block->cmnd[8] = 8; in ms_usb_ufi_command()
169 request_block->cmnd[4] = 18; in ms_usb_ufi_command()
173 ms_usb_invoke_and_inquiry(request_block, ms_us); in ms_usb_ufi_command()
177 void ms_usb_transparent_scsi_command(stCmd_scsi *request_block, struct ms_usdata *ms_us) in ms_usb_transparent_scsi_command() argument
182 ms_usb_invoke_and_inquiry(request_block, ms_us); in ms_usb_transparent_scsi_command()
183 if (request_block->result == MS_STAT_GOOD) in ms_usb_transparent_scsi_command()
187 if (request_block->cmnd[0] != READ_CAPACITY) in ms_usb_transparent_scsi_command()
190 dp = (unsigned char*) ms_usb_find_data_location(request_block); in ms_usb_transparent_scsi_command()
203 void ms_usb_set_dma_buf(struct urb *request_block) in ms_usb_set_dma_buf() argument
205 if (request_block->SetDMABuf != NULL) in ms_usb_set_dma_buf()
207 Usb_FreeNonCachedMemory(request_block->SetDMABuf); in ms_usb_set_dma_buf()
208 request_block->SetDMABuf = NULL; in ms_usb_set_dma_buf()
212 void ms_usb_set_tx_dma_buf(struct urb *request_block) in ms_usb_set_tx_dma_buf() argument
217 if (request_block->TxDMABuf != NULL) in ms_usb_set_tx_dma_buf()
219 if (usb_pipein(request_block->u32Pipe)) in ms_usb_set_tx_dma_buf()
222 if (request_block->u32TransferBufferLength >= max_packet_size) in ms_usb_set_tx_dma_buf()
223 … ms_usbhost_msg("Blocking Completion (len: 0x%lx)\n", request_block->u32TransferBufferLength); in ms_usb_set_tx_dma_buf()
226 … MsOS_Dcache_Invalidate((U32) request_block->TxDMABuf, request_block->u32TransferBufferLength); in ms_usb_set_tx_dma_buf()
228 …memcpy(request_block->pTransferBuffer, request_block->TxDMABuf, request_block->u32TransferBufferLe… in ms_usb_set_tx_dma_buf()
230 Usb_FreeNonCachedMemory(request_block->TxDMABuf); in ms_usb_set_tx_dma_buf()
231 request_block->TxDMABuf = NULL; in ms_usb_set_tx_dma_buf()
235 static void ms_usb_blocking_completion(struct urb *request_block, struct stPtRegs *registers) in ms_usb_blocking_completion() argument
237 struct stCompletion *request_block_done = (struct stCompletion *)request_block->pContext; in ms_usb_blocking_completion()
244 /*err = */MsOS_SetEvent(request_block->WaitFlag_storage, BLK_COMPLETE); in ms_usb_blocking_completion()
733 static int ms_usb_stor_data_transfer(stCmd_scsi *request_block, struct ms_usdata *ptr, U32 trans_le… in ms_usb_stor_data_transfer() argument
737 if(request_block->sc_data_direction == SCSI_DATA_READ) in ms_usb_stor_data_transfer()
742 return ms_usb_bulk_transfer(ptr, pipe, request_block->req_buf, trans_len, in ms_usb_stor_data_transfer()
743 &request_block->resid); in ms_usb_stor_data_transfer()
746 int ms_usb_CB_transport(stCmd_scsi *request_block, struct ms_usdata *ptr) in ms_usb_CB_transport() argument
748 U32 trans_len = request_block->req_buf_len; in ms_usb_CB_transport()
755 ptr->cr->wLength = request_block->cmd_len; in ms_usb_CB_transport()
758 (unsigned char*) ptr->cr, request_block->cmnd, request_block->cmd_len, in ms_usb_CB_transport()
763 request_block->cmd_len, result, ptr->current_urb->u32ActualLength); in ms_usb_CB_transport()
777 regval = ms_usb_stor_data_transfer(request_block,ptr,trans_len); in ms_usb_CB_transport()
786 static int ms_usb_tranCB(struct stBulk_cb *bulk_cb, stCmd_scsi *request_block, struct ms_usdata *pt… in ms_usb_tranCB() argument
790 if(request_block->sc_data_direction == SCSI_DATA_READ) in ms_usb_tranCB()
794 bulk_cb->Label = request_block->serial_number; in ms_usb_tranCB()
795 bulk_cb->Lun = request_block->lun; in ms_usb_tranCB()
796 bulk_cb->Len = request_block->cmd_len; in ms_usb_tranCB()
799 memcpy(bulk_cb->CDB, request_block->cmnd, bulk_cb->Len); in ms_usb_tranCB()
824 int ms_usb_bulk_transport(stCmd_scsi *request_block, struct ms_usdata *ptr) in ms_usb_bulk_transport() argument
829 U32 trans_len = request_block->req_buf_len; in ms_usb_bulk_transport()
832 regval = ms_usb_tranCB(bulk_cb,request_block,ptr,trans_len); in ms_usb_bulk_transport()
842 regval = ms_usb_stor_data_transfer(request_block,ptr,trans_len); in ms_usb_bulk_transport()
872 bulk_cs->Label != request_block->serial_number || bulk_cs->Class > BULK_STAT_PHASE) in ms_usb_bulk_transport()
881 memcpy(request_block->sense_buffer, invalid_CDB, sizeof(invalid_CDB)); in ms_usb_bulk_transport()
888 if (request_block->cmnd[0]) in ms_usb_bulk_transport()
889 ms_usbhost_err("CSW Bulk transfer fail, command %x\n", request_block->cmnd[0]); in ms_usb_bulk_transport()