Lines Matching refs:cmd

63     struct mfi_cmd_tbolt *cmd);
65 *sc, struct mfi_command *cmd);
71 struct mfi_cmd_tbolt *cmd);
73 *mfi_cmd, pMpi25IeeeSgeChain64_t sgl_ptr, struct mfi_cmd_tbolt *cmd);
418 mfi_init->header.cmd = MFI_CMD_INIT;
453 struct mfi_cmd_tbolt *cmd;
504 * The first 256 bytes (SMID 0) is not used. Don't add to the cmd
518 cmd = sc->mfi_cmd_pool_tbolt[i];
520 cmd->index = i + 1;
521 cmd->request_desc = (union mfi_mpi2_request_descriptor *)
523 cmd->io_request = (struct mfi_mpi2_request_raid_scsi_io *)
525 cmd->io_request_phys_addr = io_req_base_phys + offset;
526 cmd->sg_frame = (MPI2_SGE_IO_UNION *)(sc->reply_pool_limit
528 cmd->sg_frame_phys_addr = sc->sg_frame_busaddr + i
530 cmd->sync_cmd_idx = sc->mfi_max_fw_cmds;
532 TAILQ_INSERT_TAIL(&(sc->mfi_cmd_tbolt_tqh), cmd, next);
593 * map_cmd_status - Maps FW cmd status to OS cmd status
594 * @cmd : Pointer to cmd
595 * @status : status of cmd returned by FW
596 * @ext_status : ext status of cmd returned by FW
638 * mfi_tbolt_return_cmd - Return a cmd to free command pool
771 struct mfi_cmd_tbolt *cmd = NULL;
775 if ((cmd = TAILQ_FIRST(&sc->mfi_cmd_tbolt_tqh)) == NULL)
777 TAILQ_REMOVE(&sc->mfi_cmd_tbolt_tqh, cmd, next);
778 memset((uint8_t *)cmd->sg_frame, 0, MEGASAS_MAX_SZ_CHAIN_FRAME);
779 memset((uint8_t *)cmd->io_request, 0,
782 cmd->sync_cmd_idx = mfi_cmd->cm_index;
783 mfi_cmd->cm_extra_frames = cmd->index; /* Frame count used as SMID */
786 return cmd;
806 /* Used to build IOCTL cmd */
812 struct mfi_cmd_tbolt *cmd;
814 cmd = mfi_tbolt_get_cmd(sc, mfi_cmd);
815 if (!cmd)
817 io_req = cmd->io_request;
842 struct mfi_cmd_tbolt *cmd)
849 io_request = cmd->io_request;
870 cmd->request_desc->header.RequestFlags
881 struct mfi_cmd_tbolt *cmd)
889 io_request = cmd->io_request;
890 if (!(mfi_cmd->cm_frame->header.cmd == MFI_CMD_LD_READ
891 || mfi_cmd->cm_frame->header.cmd == MFI_CMD_LD_WRITE))
894 mfi_tbolt_build_ldio(sc, mfi_cmd, cmd);
898 if (mfi_cmd->cm_frame->header.cmd == MFI_CMD_LD_WRITE)
915 (pMpi25IeeeSgeChain64_t) &io_request->SGL, cmd);
924 if (mfi_cmd->cm_frame->header.cmd == MFI_CMD_LD_WRITE)
943 pMpi25IeeeSgeChain64_t sgl_ptr, struct mfi_cmd_tbolt *cmd)
996 cmd->io_request->ChainOffset = 0;
1004 cmd->io_request->ChainOffset =
1016 sg_chain->Address = cmd->sg_frame_phys_addr;
1017 sgl_ptr = (pMpi25IeeeSgeChain64_t)cmd->sg_frame;
1042 struct mfi_cmd_tbolt *cmd;
1045 cmd = mfi_tbolt_get_cmd(sc, mfi_cmd);
1046 if (cmd == NULL)
1049 index = cmd->index;
1052 mfi_tbolt_return_cmd(sc, cmd, mfi_cmd);
1056 if (mfi_tbolt_build_io(sc, mfi_cmd, cmd) != 0) {
1057 mfi_tbolt_return_cmd(sc, cmd, mfi_cmd);
1065 mfi_tbolt_build_mpt_cmd(struct mfi_softc *sc, struct mfi_command *cmd)
1069 if (mfi_build_mpt_pass_thru(sc, cmd)) {
1071 "cmd\n");
1075 index = cmd->cm_extra_frames;
1108 if (hdr->cmd == MFI_CMD_PD_SCSI_IO) {
1120 } else if (hdr->cmd == MFI_CMD_LD_SCSI_IO ||
1121 hdr->cmd == MFI_CMD_LD_READ || hdr->cmd == MFI_CMD_LD_WRITE) {
1183 struct mfi_cmd_tbolt *cmd;
1208 cmd = sc->mfi_cmd_pool_tbolt[cm->cm_extra_frames - 1];
1209 mfi_tbolt_return_cmd(sc, cmd, cm);
1362 struct mfi_command *cmd = NULL;
1405 if ((cmd = mfi_dequeue_free(sc)) == NULL) {
1411 context = cmd->cm_frame->header.context;
1412 bzero(cmd->cm_frame, sizeof(union mfi_frame));
1413 cmd->cm_frame->header.context = context;
1415 dcmd = &cmd->cm_frame->dcmd;
1417 dcmd->header.cmd = MFI_CMD_DCMD;
1423 cmd->cm_sg = &dcmd->sgl;
1424 cmd->cm_total_frame_size = MFI_DCMD_FRAME_SIZE;
1425 cmd->cm_data = ld_sync;
1426 cmd->cm_private = ld_sync;
1428 cmd->cm_len = ld_size;
1429 cmd->cm_complete = mfi_sync_map_complete;
1430 sc->mfi_map_sync_cm = cmd;
1432 cmd->cm_flags = MFI_CMD_DATAOUT;
1433 cmd->cm_frame->dcmd.mbox[0] = list->ld_count;
1434 cmd->cm_frame->dcmd.mbox[1] = MFI_DCMD_MBOX_PEND_FLAG;
1436 if ((error = mfi_mapcmd(sc, cmd)) != 0) {
1440 mfi_release_command(cmd);