Lines Matching refs:cmd

31 static void iscsit_dump_seq_list(struct iscsi_cmd *cmd)
37 cmd->init_task_tag);
39 for (i = 0; i < cmd->seq_count; i++) {
40 seq = &cmd->seq_list[i];
49 static void iscsit_dump_pdu_list(struct iscsi_cmd *cmd)
55 cmd->init_task_tag);
57 for (i = 0; i < cmd->pdu_count; i++) {
58 pdu = &cmd->pdu_list[i];
65 static void iscsit_dump_seq_list(struct iscsi_cmd *cmd) {}
66 static void iscsit_dump_pdu_list(struct iscsi_cmd *cmd) {}
70 struct iscsi_cmd *cmd,
75 for (i = 0; i < cmd->seq_count; i++) {
76 if (cmd->seq_list[i].type != SEQTYPE_NORMAL)
78 cmd->seq_list[i].seq_send_order = seq_count++;
83 struct iscsi_cmd *cmd,
88 for (i = 0; i < cmd->pdu_count; i++) {
90 if (cmd->pdu_list[i].seq_no == seq_no) {
91 cmd->pdu_list[i].pdu_send_order = pdu_send_order++;
130 struct iscsi_cmd *cmd,
136 for (pdu_count = 0; pdu_count < cmd->pdu_count; pdu_count++) {
138 if (cmd->pdu_list[pdu_count].seq_no == seq_no) {
151 cmd->pdu_list[seq_offset+i].pdu_send_order = array[i];
171 cmd->pdu_list[seq_offset+i].pdu_send_order = array[i];
180 struct iscsi_cmd *cmd,
184 u32 *array, seq_count = cmd->seq_count;
201 for (i = 0; i < cmd->seq_count; i++) {
202 if (cmd->seq_list[i].type != SEQTYPE_NORMAL)
204 cmd->seq_list[i].seq_send_order = array[j++];
212 struct iscsi_cmd *cmd,
221 struct iscsi_conn *conn = cmd->conn;
223 if (cmd->se_cmd.data_direction == DMA_TO_DEVICE)
224 mdsl = cmd->conn->conn_ops->MaxXmitDataSegmentLength;
226 mdsl = cmd->conn->conn_ops->MaxRecvDataSegmentLength;
234 unsolicited_data_length = min(cmd->se_cmd.data_length,
237 while (offset < cmd->se_cmd.data_length) {
250 if ((offset + mdsl) >= cmd->se_cmd.data_length) {
252 (cmd->se_cmd.data_length - offset);
253 offset += (cmd->se_cmd.data_length - offset);
272 if ((offset + mdsl) >= cmd->se_cmd.data_length) {
273 offset += (cmd->se_cmd.data_length - offset);
296 struct iscsi_cmd *cmd,
302 struct iscsi_conn *conn = cmd->conn;
303 struct iscsi_pdu *pdu = cmd->pdu_list;
304 struct iscsi_seq *seq = cmd->seq_list;
306 if (cmd->se_cmd.data_direction == DMA_TO_DEVICE)
307 mdsl = cmd->conn->conn_ops->MaxXmitDataSegmentLength;
309 mdsl = cmd->conn->conn_ops->MaxRecvDataSegmentLength;
320 unsolicited_data_length = min(cmd->se_cmd.data_length,
323 while (offset < cmd->se_cmd.data_length) {
357 if ((offset + mdsl) >= cmd->se_cmd.data_length) {
361 (cmd->se_cmd.data_length - offset);
367 (cmd->se_cmd.data_length - offset));
370 (cmd->se_cmd.data_length - offset);
371 offset += (cmd->se_cmd.data_length - offset);
409 if ((offset + mdsl) >= cmd->se_cmd.data_length) {
412 pdu[i].length = (cmd->se_cmd.data_length - offset);
418 (cmd->se_cmd.data_length - offset));
420 offset += (cmd->se_cmd.data_length - offset);
457 if (iscsit_randomize_seq_lists(cmd, bl->type)
461 iscsit_ordered_seq_lists(cmd, bl->type);
464 if (iscsit_randomize_seq_lists(cmd, bl->type)
468 iscsit_ordered_seq_lists(cmd, bl->type);
471 iscsit_dump_seq_list(cmd);
476 if (iscsit_randomize_pdu_lists(cmd, bl->type)
480 iscsit_ordered_pdu_lists(cmd, bl->type);
483 if (iscsit_randomize_pdu_lists(cmd, bl->type)
487 iscsit_ordered_pdu_lists(cmd, bl->type);
490 iscsit_dump_pdu_list(cmd);
497 struct iscsi_cmd *cmd,
502 struct iscsi_conn *conn = cmd->conn;
516 if (cmd->data_direction == DMA_NONE)
522 if (cmd->data_direction == DMA_FROM_DEVICE) {
535 if (!cmd->immediate_data && !cmd->unsolicited_data)
537 else if (cmd->immediate_data && !cmd->unsolicited_data)
539 else if (!cmd->immediate_data && cmd->unsolicited_data)
541 else if (cmd->immediate_data && cmd->unsolicited_data)
545 iscsit_determine_counts_for_list(cmd, &bl, &seq_count, &pdu_count);
553 cmd->seq_list = seq;
554 cmd->seq_count = seq_count;
564 cmd->pdu_list = pdu;
565 cmd->pdu_count = pdu_count;
568 return iscsit_do_build_pdu_and_seq_lists(cmd, &bl);
572 struct iscsi_cmd *cmd,
579 if (!cmd->pdu_list) {
584 pdu = &cmd->pdu_list[0];
586 for (i = 0; i < cmd->pdu_count; i++)
591 " %u, Length: %u\n", cmd->init_task_tag, offset, length);
596 struct iscsi_cmd *cmd,
600 struct iscsi_conn *conn = cmd->conn;
603 if (!cmd->pdu_list) {
610 pdu = &cmd->pdu_list[cmd->pdu_start];
612 for (i = 0; pdu[i].seq_no != cmd->seq_no; i++) {
619 if (pdu[i].pdu_send_order == cmd->pdu_send_order) {
620 cmd->pdu_send_order++;
625 cmd->pdu_start += cmd->pdu_send_order;
626 cmd->pdu_send_order = 0;
627 cmd->seq_no++;
629 if (cmd->pdu_start < cmd->pdu_count)
633 " struct iscsi_pdu for cmd->pdu_send_order: %u.\n",
634 cmd->init_task_tag, cmd->pdu_send_order);
646 pdu = &cmd->pdu_list[seq->pdu_start];
651 cmd->init_task_tag, seq->pdu_send_order,
665 cmd->init_task_tag, seq->pdu_send_order);
673 struct iscsi_cmd *cmd,
679 if (!cmd->seq_list) {
684 for (i = 0; i < cmd->seq_count; i++) {
687 cmd->seq_list[i].orig_offset, cmd->seq_list[i].xfer_len,
688 cmd->seq_list[i].seq_no);
690 if ((cmd->seq_list[i].orig_offset +
691 cmd->seq_list[i].xfer_len) >=
693 return &cmd->seq_list[i];
697 " Offset: %u, Length: %u\n", cmd->init_task_tag, offset,