Lines Matching defs:req

74 	struct tw_cli_req_context		*req;
96 if ((req = tw_cli_get_request(ctlr
103 req_handle->cl_req_ctxt = req;
104 req->req_handle = req_handle;
105 req->orig_req = req_pkt;
106 req->tw_cli_callback = tw_cli_complete_io;
108 req->flags |= TW_CLI_REQ_FLAGS_EXTERNAL;
109 req->flags |= TW_CLI_REQ_FLAGS_9K;
114 cmd = &(req->cmd_pkt->command.cmd_pkt_9k);
116 req->cmd_pkt->cmd_hdr.header_desc.size_header = 128;
121 BUILD_LUN_L4__REQ_ID(scsi_req->lun, req->request_id));
144 tw_cli_req_q_insert_tail(req, TW_CLI_PENDING_Q);
147 } else if ((error = tw_cli_submit_cmd(req))) {
150 req, error);
151 tw_cli_req_q_insert_tail(req, TW_CLI_FREE_Q);
162 * Input: req -- ptr to CL internal request context
168 tw_cli_submit_cmd(struct tw_cli_req_context *req)
170 struct tw_cli_ctlr_context *ctlr = req->ctlr;
185 (TW_UINT32)(req->cmd_pkt_phys + sizeof(struct tw_cl_command_header)), 4);
190 (struct tw_cl_req_packet *)(req->orig_req);
195 if ((req->flags & TW_CLI_REQ_FLAGS_INTERNAL)
199 if (req->state != TW_CLI_REQ_STATE_PENDING) {
203 req->state = TW_CLI_REQ_STATE_PENDING;
204 tw_cli_req_q_insert_tail(req, TW_CLI_PENDING_Q);
218 req->state = TW_CLI_REQ_STATE_BUSY;
219 tw_cli_req_q_insert_tail(req, TW_CLI_BUSY_Q);
226 (TW_UINT32)(((TW_UINT64)(req->cmd_pkt_phys + sizeof(struct tw_cl_command_header)))>>32), 4);
232 (TW_UINT32)(req->cmd_pkt_phys + sizeof(struct tw_cl_command_header)), 4);
235 (TW_UINT32)(((TW_UINT64)(req->cmd_pkt_phys + sizeof(struct tw_cl_command_header)))>>32), 4);
239 (TW_UINT32)(req->cmd_pkt_phys + sizeof(struct tw_cl_command_header)), 4);
266 struct tw_cli_req_context *req;
279 if ((req = tw_cli_get_request(ctlr
286 req_handle->cl_req_ctxt = req;
287 req->req_handle = req_handle;
288 req->orig_req = req_pkt;
289 req->tw_cli_callback = tw_cli_complete_io;
291 req->flags |= TW_CLI_REQ_FLAGS_PASSTHRU;
295 tw_osl_memcpy(req->cmd_pkt, pt_req->cmd_pkt,
305 req->flags |= TW_CLI_REQ_FLAGS_9K;
306 cmd_9k = &(req->cmd_pkt->command.cmd_pkt_9k);
310 BUILD_LUN_L4__REQ_ID(lun_l4, req->request_id));
320 cmd_7k = &(req->cmd_pkt->command.cmd_pkt_7k);
322 (TW_UINT8)(TW_CL_SWAP16(req->request_id));
340 tw_cli_req_q_insert_tail(req, TW_CLI_PENDING_Q);
343 } else if ((error = tw_cli_submit_cmd(req))) {
349 tw_cli_req_q_insert_tail(req, TW_CLI_FREE_Q);
719 TW_VOID (* callback)(struct tw_cli_req_context *req))
721 struct tw_cli_req_context *req;
729 if ((req = tw_cli_get_request(ctlr
739 req->data = ctlr->internal_req_data;
740 req->data_phys = ctlr->internal_req_data_phys;
741 req->length = TW_CLI_SECTOR_SIZE;
742 req->flags |= TW_CLI_REQ_FLAGS_INTERNAL;
745 param = (struct tw_cl_param_9k *)(req->data);
749 cmd = &(req->cmd_pkt->command.cmd_pkt_7k);
751 req->cmd_pkt->cmd_hdr.header_desc.size_header = 128;
755 cmd->param.request_id = (TW_UINT8)(TW_CL_SWAP16(req->request_id));
761 TW_CL_SWAP64(req->data_phys);
763 TW_CL_SWAP32(req->length);
767 TW_CL_SWAP32(req->data_phys);
769 TW_CL_SWAP32(req->length);
781 error = tw_cli_submit_and_poll_request(req,
789 &(req->cmd_pkt->cmd_hdr));
795 tw_cli_req_q_insert_tail(req, TW_CLI_FREE_Q);
798 req->tw_cli_callback = callback;
799 if ((error = tw_cli_submit_cmd(req)))
812 if (req)
813 tw_cli_req_q_insert_tail(req, TW_CLI_FREE_Q);
836 TW_VOID (* callback)(struct tw_cli_req_context *req))
838 struct tw_cli_req_context *req;
846 if ((req = tw_cli_get_request(ctlr
856 req->data = ctlr->internal_req_data;
857 req->data_phys = ctlr->internal_req_data_phys;
858 req->length = TW_CLI_SECTOR_SIZE;
859 req->flags |= TW_CLI_REQ_FLAGS_INTERNAL;
862 param = (struct tw_cl_param_9k *)(req->data);
866 cmd = &(req->cmd_pkt->command.cmd_pkt_7k);
868 req->cmd_pkt->cmd_hdr.header_desc.size_header = 128;
872 cmd->param.request_id = (TW_UINT8)(TW_CL_SWAP16(req->request_id));
878 TW_CL_SWAP64(req->data_phys);
880 TW_CL_SWAP32(req->length);
884 TW_CL_SWAP32(req->data_phys);
886 TW_CL_SWAP32(req->length);
899 error = tw_cli_submit_and_poll_request(req,
907 &(req->cmd_pkt->cmd_hdr));
912 tw_cli_req_q_insert_tail(req, TW_CLI_FREE_Q);
915 req->tw_cli_callback = callback;
916 if ((error = tw_cli_submit_cmd(req)))
929 if (req)
930 tw_cli_req_q_insert_tail(req, TW_CLI_FREE_Q);
941 * Input: req -- ptr to request pkt
948 tw_cli_submit_and_poll_request(struct tw_cli_req_context *req,
951 struct tw_cli_ctlr_context *ctlr = req->ctlr;
961 if ((error = tw_cli_submit_cmd(req))) {
976 if ((error = req->error_code))
987 if ((req->state != TW_CLI_REQ_STATE_BUSY) &&
988 (req->state != TW_CLI_REQ_STATE_PENDING))
989 return(req->state != TW_CLI_REQ_STATE_COMPLETE);
997 "request = %p", req);
1014 if (req->state == TW_CLI_REQ_STATE_PENDING) {
1023 tw_cli_req_q_remove_item(req, TW_CLI_PENDING_Q);
1027 if (req->data)
1029 tw_cli_req_q_insert_tail(req, TW_CLI_FREE_Q);
1054 struct tw_cli_req_context *req;
1113 while ((req = tw_cli_req_q_remove_head(ctlr, TW_CLI_RESET_Q)) != TW_CL_NULL) {
1114 tw_osl_timeout(req->req_handle);
1115 tw_cli_req_q_insert_tail(req, TW_CLI_PENDING_Q);
1284 * Input: req -- ptr to request pkt
1291 tw_cli_send_scsi_cmd(struct tw_cli_req_context *req, TW_INT32 cmd)
1298 ctlr = req->ctlr;
1305 req->data = ctlr->internal_req_data;
1306 req->data_phys = ctlr->internal_req_data_phys;
1307 tw_osl_memzero(req->data, TW_CLI_SECTOR_SIZE);
1308 req->length = TW_CLI_SECTOR_SIZE;
1311 cmdpkt = req->cmd_pkt;
1320 cmd9k->lun_l4__req_id = TW_CL_SWAP16(req->request_id);
1325 if (req->ctlr->flags & TW_CL_64BIT_ADDRESSES) {
1327 TW_CL_SWAP64(req->data_phys);
1329 TW_CL_SWAP32(req->length);
1332 TW_CL_SWAP32(req->data_phys);
1334 TW_CL_SWAP32(req->length);
1340 if ((error = tw_cli_submit_cmd(req)))
1345 "request = %p, error = %d", req, error);
1365 struct tw_cli_req_context *req;
1370 if ((req = tw_cli_get_request(ctlr
1374 req->flags |= TW_CLI_REQ_FLAGS_INTERNAL;
1375 req->flags |= TW_CLI_REQ_FLAGS_9K;
1376 req->tw_cli_callback = tw_cli_aen_callback;
1377 if ((error = tw_cli_send_scsi_cmd(req, 0x03 /* REQUEST_SENSE */))) {
1380 "request = %p, error = %d", req, error);
1381 if (req->data)
1383 tw_cli_req_q_insert_tail(req, TW_CLI_FREE_Q);