Lines Matching refs:request

442 	socal_req *request;  in socal_hw_enque()  local
470 request = sw_cq->pool + sw_cq->in; in socal_hw_enque()
471 fch = &request->fchdr; in socal_hw_enque()
475 request->shdr.token = TOKEN(TYPE_SCSI_FCP, port->mask, fcmd->token); in socal_hw_enque()
476 request->data[0].base = fc->dma_scsi_cmd + fcmd->token * sizeof(fcp_cmd); in socal_hw_enque()
477 request->data[0].count = sizeof(fcp_cmd); in socal_hw_enque()
478 request->data[1].base = fc->dma_scsi_rsp + fcmd->token * fc->rsp_size; in socal_hw_enque()
479 request->data[1].count = fc->rsp_size; in socal_hw_enque()
481 request->shdr.segcnt = 3; in socal_hw_enque()
483 request->shdr.bytecnt = i; in socal_hw_enque()
484 request->data[2].base = fcmd->data; in socal_hw_enque()
485 request->data[2].count = i; in socal_hw_enque()
486 request->type = (fc->scsi_cmd_pool[fcmd->token].fcp_cntl & FCP_CNTL_WRITE) ? in socal_hw_enque()
489 request->shdr.segcnt = 2; in socal_hw_enque()
490 request->shdr.bytecnt = 0; in socal_hw_enque()
491 request->data[2].base = 0; in socal_hw_enque()
492 request->data[2].count = 0; in socal_hw_enque()
493 request->type = SOCAL_CQTYPE_SIMPLE; in socal_hw_enque()
501 request->shdr.flags = port->flags; in socal_hw_enque()
502 request->shdr.class = fc->posmap ? 3 : 2; in socal_hw_enque()
506 memset (request, 0, sizeof(*request)); in socal_hw_enque()
507 request->shdr.token = TOKEN(PROTO_OFFLINE, port->mask, fcmd->token); in socal_hw_enque()
508 request->type = SOCAL_CQTYPE_OFFLINE; in socal_hw_enque()
514 request->shdr.flags = port->flags; in socal_hw_enque()
518 memset (request, 0, sizeof(*request)); in socal_hw_enque()
519 request->shdr.token = TOKEN(PROTO_REPORT_AL_MAP, port->mask, fcmd->token); in socal_hw_enque()
520 request->type = SOCAL_CQTYPE_REPORT_MAP; in socal_hw_enque()
521 request->shdr.flags = port->flags; in socal_hw_enque()
522 request->shdr.segcnt = 1; in socal_hw_enque()
523 request->shdr.bytecnt = sizeof(fc_al_posmap); in socal_hw_enque()
524 request->data[0].base = fcmd->cmd; in socal_hw_enque()
525 request->data[0].count = sizeof(fc_al_posmap); in socal_hw_enque()
529 request->shdr.token = TOKEN(fcmd->proto, port->mask, fcmd->token); in socal_hw_enque()
530 request->shdr.class = fc->posmap ? 3 : 2; in socal_hw_enque()
531 request->shdr.flags = port->flags; in socal_hw_enque()
533 request->data[0].count = fcmd->cmdlen; in socal_hw_enque()
534 request->data[1].count = fcmd->rsplen; in socal_hw_enque()
535 request->type = fcmd->class; in socal_hw_enque()
538 request->data[0].base = fcmd->cmd; in socal_hw_enque()
539 request->data[0].count = fcmd->cmdlen; in socal_hw_enque()
540 request->type = SOCAL_CQTYPE_OUTBOUND; in socal_hw_enque()
541 request->shdr.bytecnt = fcmd->cmdlen; in socal_hw_enque()
542 request->shdr.segcnt = 1; in socal_hw_enque()
545 request->data[0].base = fcmd->rsp; in socal_hw_enque()
546 request->data[0].count = fcmd->rsplen; in socal_hw_enque()
547 request->type = SOCAL_CQTYPE_INBOUND; in socal_hw_enque()
548 request->shdr.bytecnt = 0; in socal_hw_enque()
549 request->shdr.segcnt = 1; in socal_hw_enque()
552 request->data[0].base = fcmd->cmd; in socal_hw_enque()
553 request->data[1].base = fcmd->rsp; in socal_hw_enque()
554 request->data[0].count = fcmd->cmdlen; in socal_hw_enque()
555 request->data[1].count = fcmd->rsplen; in socal_hw_enque()
556 request->type = SOCAL_CQTYPE_SIMPLE; in socal_hw_enque()
557 request->shdr.bytecnt = fcmd->cmdlen; in socal_hw_enque()
558 request->shdr.segcnt = 2; in socal_hw_enque()
562 request->data[0].base = fcmd->cmd; in socal_hw_enque()
563 request->data[1].base = fcmd->rsp; in socal_hw_enque()
564 request->data[0].count = fcmd->cmdlen; in socal_hw_enque()
565 request->data[1].count = fcmd->rsplen; in socal_hw_enque()
566 request->type = (fcmd->class == FC_CLASS_IO_READ) ? SOCAL_CQTYPE_IO_READ : SOCAL_CQTYPE_IO_WRITE; in socal_hw_enque()
568 request->data[2].base = fcmd->data; in socal_hw_enque()
569 request->data[2].count = fcmd->datalen; in socal_hw_enque()
570 request->shdr.bytecnt = fcmd->datalen; in socal_hw_enque()
571 request->shdr.segcnt = 3; in socal_hw_enque()
573 request->shdr.bytecnt = 0; in socal_hw_enque()
574 request->shdr.segcnt = 2; in socal_hw_enque()
581 request->count = 1; in socal_hw_enque()
582 request->flags = 0; in socal_hw_enque()
583 request->seqno = sw_cq->seqno; in socal_hw_enque()
585 SOD(("queueing token %08x\n", request->shdr.token)) in socal_hw_enque()