Lines Matching defs:crq

54 				    struct viosrp_crq *crq);
102 struct viosrp_crq *crq;
107 /* create a PING crq */
108 crq = (struct viosrp_crq *)&buffer;
109 crq->valid = VALID_CMD_RESP_EL;
110 crq->format = MESSAGE_IN_CRQ;
111 crq->status = PING;
333 struct viosrp_crq *crq;
337 crq = (struct viosrp_crq *)&buffer;
338 crq->valid = VALID_INIT_MSG;
339 crq->format = format;
360 struct viosrp_crq *crq;
363 crq = ibmvscsis_cmd_q_dequeue(vscsi->cmd_q.mask, &vscsi->cmd_q.index,
365 if (!crq) {
367 } else if (crq->valid == VALID_INIT_MSG && crq->format == INIT_MSG) {
369 crq->valid = INVALIDATE_CMD_RESP_EL;
377 crq = ibmvscsis_cmd_q_dequeue(vscsi->cmd_q.mask,
380 if (crq) {
381 *format = (uint)(crq->format);
383 crq->valid = INVALIDATE_CMD_RESP_EL;
387 *format = (uint)(crq->format);
389 crq->valid = INVALIDATE_CMD_RESP_EL;
756 * @crq: Pointer to CRQ element containing the Init Message
761 static long ibmvscsis_init_msg(struct scsi_info *vscsi, struct viosrp_crq *crq)
780 if (crq->format == INIT_MSG) {
782 } else if (crq->format == INIT_COMPLETE_MSG) {
787 (uint)crq->format);
979 struct viosrp_crq *crq;
982 crq = vscsi->cmd_q.base_addr + vscsi->cmd_q.index;
985 vscsi->flags, vscsi->state, (int)crq->valid);
987 if (!(vscsi->flags & PREP_FOR_SUSPEND_ABORTED) && !(crq->valid)) {
997 ((crq->valid) && ((crq->valid != VALID_TRANS_EVENT) ||
998 (crq->format != RESUME_FROM_SUSP)))) {
1010 if ((crq->valid) && ((crq->valid != VALID_TRANS_EVENT) ||
1011 (crq->format != RESUME_FROM_SUSP)))
1023 * @crq: Pointer to CRQ entry containing the Transport Event
1032 struct viosrp_crq *crq)
1037 (int)crq->format, vscsi->flags, vscsi->state);
1039 switch (crq->format) {
1044 if (crq->format == MIGRATED)
1097 dev_dbg(&vscsi->dev, "Prep for Suspend, crq status = 0x%x\n",
1098 (int)crq->status);
1108 if (crq->status == CRQ_ENTRY_OVERWRITTEN)
1126 dev_dbg(&vscsi->dev, "Resume from Suspend, crq status = 0x%x\n",
1127 (int)crq->status);
1131 if ((crq->status == CRQ_ENTRY_OVERWRITTEN) ||
1144 (uint)crq->format);
1170 struct viosrp_crq *crq;
1179 crq = vscsi->cmd_q.base_addr + vscsi->cmd_q.index;
1180 valid = crq->valid;
1189 rc = ibmvscsis_parse_command(vscsi, crq);
1191 if ((uint)crq->valid == VALID_TRANS_EVENT) {
1198 rc = ibmvscsis_trans_event(vscsi, crq);
1222 crq->valid = INVALIDATE_CMD_RESP_EL;
1224 crq = vscsi->cmd_q.base_addr + vscsi->cmd_q.index;
1225 valid = crq->valid;
1235 valid = crq->valid;
1433 * @crq: Pointer to CRQ entry containing the request
1443 struct viosrp_crq *crq)
1449 len = be16_to_cpu(crq->IU_length);
1457 be64_to_cpu(crq->IU_data_ptr),
1463 iue->remote_token = crq->IU_data_ptr;
1466 be64_to_cpu(crq->IU_data_ptr), cmd->init_time);
1854 dev_err(&vscsi->dev, "client crq full too long\n");
1876 struct viosrp_crq *crq = &empty_crq;
1931 crq->valid = VALID_CMD_RESP_EL;
1932 crq->format = cmd->rsp.format;
1935 crq->status = VIOSRP_ADAPTER_FAIL;
1937 crq->IU_length = cpu_to_be16(cmd->rsp.len);
1940 be64_to_cpu(crq->high),
1981 struct viosrp_crq *crq)
1992 be64_to_cpu(crq->IU_data_ptr));
2018 * @crq: Pointer to the CRQ entry containing the MAD request
2023 static long ibmvscsis_mad(struct scsi_info *vscsi, struct viosrp_crq *crq)
2069 rc = ibmvscsis_copy_crq_packet(vscsi, cmd, crq);
2081 ibmvscsis_send_mad_resp(vscsi, cmd, crq);
2267 * @crq: Pointer to CRQ entry containing the SRP Login request
2274 struct viosrp_crq *crq)
2338 * @crq: Pointer to CRQ entry containing the Implicit Logout request
2348 struct viosrp_crq *crq)
2371 static void ibmvscsis_srp_cmd(struct scsi_info *vscsi, struct viosrp_crq *crq)
2397 rc = ibmvscsis_copy_crq_packet(vscsi, cmd, crq);
2406 rc = ibmvscsis_srp_login(vscsi, cmd, crq);
2435 rc = ibmvscsis_srp_i_logout(vscsi, cmd, crq);
2449 rc = ibmvscsis_srp_login(vscsi, cmd, crq);
2473 struct viosrp_crq *crq;
2477 crq = (struct viosrp_crq *)&buffer;
2478 crq->valid = VALID_CMD_RESP_EL;
2479 crq->format = (u8)MESSAGE_IN_CRQ;
2480 crq->status = PING_RESPONSE;
2512 * @crq: Pointer to CRQ element containing the SRP request
2522 struct viosrp_crq *crq)
2526 switch (crq->valid) {
2528 switch (crq->format) {
2541 rc = ibmvscsis_mad(vscsi, crq);
2546 ibmvscsis_srp_cmd(vscsi, crq);
2550 if (crq->status == PING)
2556 (uint)crq->format);
2564 rc = ibmvscsis_trans_event(vscsi, crq);
2568 rc = ibmvscsis_init_msg(vscsi, crq);
2573 (uint)crq->valid);
3323 struct viosrp_crq *crq;
3347 crq = vscsi->cmd_q.base_addr + vscsi->cmd_q.index;
3348 valid = crq->valid;
3363 rc = ibmvscsis_parse_command(vscsi, crq);
3365 if ((uint)crq->valid == VALID_TRANS_EVENT) {
3372 rc = ibmvscsis_trans_event(vscsi, crq);
3393 crq->valid = INVALIDATE_CMD_RESP_EL;
3395 crq = vscsi->cmd_q.base_addr + vscsi->cmd_q.index;
3396 valid = crq->valid;
3406 valid = crq->valid;
3411 dev_dbg(&vscsi->dev, "handle_crq, error: flags 0x%x, state 0x%hx, crq index 0x%x\n",