Skip to content

Commit c866513

Browse files
sreekanthbrcmmartinkpetersen
authored andcommitted
scsi: mpi3mr: Use TM response codes from MPI3 headers
Remove locally defined TM response codes and use codes from MPI3 headers. Link: https://lore.kernel.org/r/20211220141159.16117-23-sreekanth.reddy@broadcom.com Signed-off-by: Sreekanth Reddy <sreekanth.reddy@broadcom.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
1 parent afd3a57 commit c866513

2 files changed

Lines changed: 27 additions & 34 deletions

File tree

drivers/scsi/mpi3mr/mpi3mr.h

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -142,13 +142,6 @@ extern int prot_mask;
142142

143143
/* ResponseCode definitions */
144144
#define MPI3MR_RI_MASK_RESPCODE (0x000000FF)
145-
#define MPI3MR_RSP_TM_COMPLETE 0x00
146-
#define MPI3MR_RSP_INVALID_FRAME 0x02
147-
#define MPI3MR_RSP_TM_NOT_SUPPORTED 0x04
148-
#define MPI3MR_RSP_TM_FAILED 0x05
149-
#define MPI3MR_RSP_TM_SUCCEEDED 0x08
150-
#define MPI3MR_RSP_TM_INVALID_LUN 0x09
151-
#define MPI3MR_RSP_TM_OVERLAPPED_TAG 0x0A
152145
#define MPI3MR_RSP_IO_QUEUED_ON_IOC \
153146
MPI3_SCSITASKMGMT_RSPCODE_IO_QUEUED_ON_IOC
154147

drivers/scsi/mpi3mr/mpi3mr_os.c

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -2799,49 +2799,52 @@ static int mpi3mr_build_sg_scmd(struct mpi3mr_ioc *mrioc,
27992799
}
28002800

28012801
/**
2802-
* mpi3mr_print_response_code - print TM response as a string
2803-
* @mrioc: Adapter instance reference
2802+
* mpi3mr_tm_response_name - get TM response as a string
28042803
* @resp_code: TM response code
28052804
*
2806-
* Print TM response code as a readable string.
2805+
* Convert known task management response code as a readable
2806+
* string.
28072807
*
2808-
* Return: Nothing.
2808+
* Return: response code string.
28092809
*/
2810-
static void mpi3mr_print_response_code(struct mpi3mr_ioc *mrioc, u8 resp_code)
2810+
static const char *mpi3mr_tm_response_name(u8 resp_code)
28112811
{
28122812
char *desc;
28132813

28142814
switch (resp_code) {
2815-
case MPI3MR_RSP_TM_COMPLETE:
2815+
case MPI3_SCSITASKMGMT_RSPCODE_TM_COMPLETE:
28162816
desc = "task management request completed";
28172817
break;
2818-
case MPI3MR_RSP_INVALID_FRAME:
2818+
case MPI3_SCSITASKMGMT_RSPCODE_INVALID_FRAME:
28192819
desc = "invalid frame";
28202820
break;
2821-
case MPI3MR_RSP_TM_NOT_SUPPORTED:
2821+
case MPI3_SCSITASKMGMT_RSPCODE_TM_FUNCTION_NOT_SUPPORTED:
28222822
desc = "task management request not supported";
28232823
break;
2824-
case MPI3MR_RSP_TM_FAILED:
2824+
case MPI3_SCSITASKMGMT_RSPCODE_TM_FAILED:
28252825
desc = "task management request failed";
28262826
break;
2827-
case MPI3MR_RSP_TM_SUCCEEDED:
2827+
case MPI3_SCSITASKMGMT_RSPCODE_TM_SUCCEEDED:
28282828
desc = "task management request succeeded";
28292829
break;
2830-
case MPI3MR_RSP_TM_INVALID_LUN:
2831-
desc = "invalid lun";
2830+
case MPI3_SCSITASKMGMT_RSPCODE_TM_INVALID_LUN:
2831+
desc = "invalid LUN";
28322832
break;
2833-
case MPI3MR_RSP_TM_OVERLAPPED_TAG:
2833+
case MPI3_SCSITASKMGMT_RSPCODE_TM_OVERLAPPED_TAG:
28342834
desc = "overlapped tag attempted";
28352835
break;
2836-
case MPI3MR_RSP_IO_QUEUED_ON_IOC:
2836+
case MPI3_SCSITASKMGMT_RSPCODE_IO_QUEUED_ON_IOC:
28372837
desc = "task queued, however not sent to target";
28382838
break;
2839+
case MPI3_SCSITASKMGMT_RSPCODE_TM_NVME_DENIED:
2840+
desc = "task management request denied by NVMe device";
2841+
break;
28392842
default:
28402843
desc = "unknown";
28412844
break;
28422845
}
2843-
ioc_info(mrioc, "%s :response_code(0x%01x): %s\n", __func__,
2844-
resp_code, desc);
2846+
2847+
return desc;
28452848
}
28462849

28472850
/**
@@ -2965,10 +2968,10 @@ static int mpi3mr_issue_tm(struct mpi3mr_ioc *mrioc, u8 tm_type,
29652968
*resp_code = le32_to_cpu(tm_reply->response_data) &
29662969
MPI3MR_RI_MASK_RESPCODE;
29672970
switch (*resp_code) {
2968-
case MPI3MR_RSP_TM_SUCCEEDED:
2969-
case MPI3MR_RSP_TM_COMPLETE:
2971+
case MPI3_SCSITASKMGMT_RSPCODE_TM_SUCCEEDED:
2972+
case MPI3_SCSITASKMGMT_RSPCODE_TM_COMPLETE:
29702973
break;
2971-
case MPI3MR_RSP_IO_QUEUED_ON_IOC:
2974+
case MPI3_SCSITASKMGMT_RSPCODE_IO_QUEUED_ON_IOC:
29722975
if (tm_type != MPI3_SCSITASKMGMT_TASKTYPE_QUERY_TASK)
29732976
retval = -1;
29742977
break;
@@ -2977,14 +2980,11 @@ static int mpi3mr_issue_tm(struct mpi3mr_ioc *mrioc, u8 tm_type,
29772980
break;
29782981
}
29792982

2980-
ioc_info(mrioc,
2981-
"%s :Issue TM: Completed TM type (0x%x) handle(0x%04x) ",
2982-
__func__, tm_type, handle);
2983-
ioc_info(mrioc,
2984-
"with ioc_status(0x%04x), loginfo(0x%08x), term_count(0x%08x)\n",
2985-
drv_cmd->ioc_status, drv_cmd->ioc_loginfo,
2986-
le32_to_cpu(tm_reply->termination_count));
2987-
mpi3mr_print_response_code(mrioc, *resp_code);
2983+
dprint_tm(mrioc,
2984+
"task management request type(%d) completed for handle(0x%04x) with ioc_status(0x%04x), log_info(0x%08x), termination_count(%d), response:%s(0x%x)\n",
2985+
tm_type, handle, drv_cmd->ioc_status, drv_cmd->ioc_loginfo,
2986+
le32_to_cpu(tm_reply->termination_count),
2987+
mpi3mr_tm_response_name(*resp_code), *resp_code);
29882988

29892989
out_unlock:
29902990
drv_cmd->state = MPI3MR_CMD_NOTUSED;

0 commit comments

Comments
 (0)