Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/mpi3mr/mpi/mpi30_targ.h
/* | /* | ||||
* SPDX-License-Identifier: BSD-2-Clause | * SPDX-License-Identifier: BSD-2-Clause-FreeBSD | ||||
* | * | ||||
* Copyright (c) 2016-2023, Broadcom Inc. All rights reserved. | * Copyright (c) 2016-2024, Broadcom Inc. All rights reserved. | ||||
* Support: <fbsd-storage-driver.pdl@broadcom.com> | * Support: <fbsd-storage-driver.pdl@broadcom.com> | ||||
* | * | ||||
* Redistribution and use in source and binary forms, with or without | * Redistribution and use in source and binary forms, with or without | ||||
* modification, are permitted provided that the following conditions are | * modification, are permitted provided that the following conditions are | ||||
* met: | * met: | ||||
* | * | ||||
* 1. Redistributions of source code must retain the above copyright notice, | * 1. Redistributions of source code must retain the above copyright notice, | ||||
* this list of conditions and the following disclaimer. | * this list of conditions and the following disclaimer. | ||||
Show All 20 Lines | |||||
* those of the authors and should not be interpreted as representing | * those of the authors and should not be interpreted as representing | ||||
* official policies,either expressed or implied, of the FreeBSD Project. | * official policies,either expressed or implied, of the FreeBSD Project. | ||||
* | * | ||||
* Mail to: Broadcom Inc 1320 Ridder Park Dr, San Jose, CA 95131 | * Mail to: Broadcom Inc 1320 Ridder Park Dr, San Jose, CA 95131 | ||||
* | * | ||||
* Broadcom Inc. (Broadcom) MPI3MR Adapter FreeBSD | * Broadcom Inc. (Broadcom) MPI3MR Adapter FreeBSD | ||||
* | * | ||||
*/ | */ | ||||
#ifndef MPI30_TARG_H | #ifndef MPI30_TARG_H | ||||
#define MPI30_TARG_H 1 | #define MPI30_TARG_H 1 | ||||
/***************************************************************************** | /***************************************************************************** | ||||
* Command Buffer Formats * | * Command Buffer Formats * | ||||
****************************************************************************/ | ****************************************************************************/ | ||||
typedef struct _MPI3_TARGET_SSP_CMD_BUFFER | typedef struct _MPI3_TARGET_SSP_CMD_BUFFER | ||||
{ | { | ||||
▲ Show 20 Lines • Show All 136 Lines • ▼ Show 20 Lines | typedef struct _MPI3_TARGET_ASSIST_REQUEST | ||||
U8 MsgFlags; /* 0x07 */ | U8 MsgFlags; /* 0x07 */ | ||||
U16 ChangeCount; /* 0x08 */ | U16 ChangeCount; /* 0x08 */ | ||||
U16 DevHandle; /* 0x0A */ | U16 DevHandle; /* 0x0A */ | ||||
U32 Flags; /* 0x0C */ | U32 Flags; /* 0x0C */ | ||||
U16 Reserved10; /* 0x10 */ | U16 Reserved10; /* 0x10 */ | ||||
U16 QueueTag; /* 0x12 */ | U16 QueueTag; /* 0x12 */ | ||||
U16 IoIndex; /* 0x14 */ | U16 IoIndex; /* 0x14 */ | ||||
U16 InitiatorConnectionTag; /* 0x16 */ | U16 InitiatorConnectionTag; /* 0x16 */ | ||||
U32 SkipCount; /* 0x18 */ | U32 IOCUseOnly18; /* 0x18 */ | ||||
U32 DataLength; /* 0x1C */ | U32 DataLength; /* 0x1C */ | ||||
U32 PortTransferLength; /* 0x20 */ | U32 PortTransferLength; /* 0x20 */ | ||||
U32 PrimaryReferenceTag; /* 0x24 */ | U32 PrimaryReferenceTag; /* 0x24 */ | ||||
U16 PrimaryApplicationTag; /* 0x28 */ | U16 PrimaryApplicationTag; /* 0x28 */ | ||||
U16 PrimaryApplicationTagMask; /* 0x2A */ | U16 PrimaryApplicationTagMask; /* 0x2A */ | ||||
U32 RelativeOffset; /* 0x2C */ | U32 RelativeOffset; /* 0x2C */ | ||||
MPI3_SGE_UNION SGL[5]; /* 0x30 */ | MPI3_SGE_UNION SGL[5]; /* 0x30 */ | ||||
} MPI3_TARGET_ASSIST_REQUEST, MPI3_POINTER PTR_MPI3_TARGET_ASSIST_REQUEST, | } MPI3_TARGET_ASSIST_REQUEST, MPI3_POINTER PTR_MPI3_TARGET_ASSIST_REQUEST, | ||||
Mpi3TargetAssistRequest_t, MPI3_POINTER pMpi3TargetAssistRequest_t; | Mpi3TargetAssistRequest_t, MPI3_POINTER pMpi3TargetAssistRequest_t; | ||||
/**** Defines for the MsgFlags field ****/ | /**** Defines for the MsgFlags field ****/ | ||||
#define MPI3_TARGET_ASSIST_MSGFLAGS_METASGL_VALID (0x80) | #define MPI3_TARGET_ASSIST_MSGFLAGS_METASGL_VALID (0x80) | ||||
/**** Defines for the Flags field ****/ | /**** Defines for the Flags field ****/ | ||||
#define MPI3_TARGET_ASSIST_FLAGS_IOC_USE_ONLY_23_MASK (0x00800000) | |||||
#define MPI3_TARGET_ASSIST_FLAGS_IOC_USE_ONLY_22_MASK (0x00400000) | |||||
#define MPI3_TARGET_ASSIST_FLAGS_REPOST_CMD_BUFFER (0x00200000) | #define MPI3_TARGET_ASSIST_FLAGS_REPOST_CMD_BUFFER (0x00200000) | ||||
#define MPI3_TARGET_ASSIST_FLAGS_AUTO_STATUS (0x00100000) | #define MPI3_TARGET_ASSIST_FLAGS_AUTO_STATUS (0x00100000) | ||||
#define MPI3_TARGET_ASSIST_FLAGS_DATADIRECTION_MASK (0x000C0000) | #define MPI3_TARGET_ASSIST_FLAGS_DATADIRECTION_MASK (0x000C0000) | ||||
#define MPI3_TARGET_ASSIST_FLAGS_DATADIRECTION_WRITE (0x00040000) | #define MPI3_TARGET_ASSIST_FLAGS_DATADIRECTION_WRITE (0x00040000) | ||||
#define MPI3_TARGET_ASSIST_FLAGS_DATADIRECTION_READ (0x00080000) | #define MPI3_TARGET_ASSIST_FLAGS_DATADIRECTION_READ (0x00080000) | ||||
#define MPI3_TARGET_ASSIST_FLAGS_DMAOPERATION_MASK (0x00030000) | #define MPI3_TARGET_ASSIST_FLAGS_DMAOPERATION_MASK (0x00030000) | ||||
#define MPI3_TARGET_ASSIST_FLAGS_DMAOPERATION_HOST_PI (0x00010000) | #define MPI3_TARGET_ASSIST_FLAGS_DMAOPERATION_HOST_PI (0x00010000) | ||||
Show All 21 Lines | typedef struct _MPI3_TARGET_STATUS_SEND_REQUEST | ||||
U16 InitiatorConnectionTag; /* 0x16 */ | U16 InitiatorConnectionTag; /* 0x16 */ | ||||
U32 IOCUseOnly18[6]; /* 0x18 */ | U32 IOCUseOnly18[6]; /* 0x18 */ | ||||
U32 IOCUseOnly30[4]; /* 0x30 */ | U32 IOCUseOnly30[4]; /* 0x30 */ | ||||
MPI3_SGE_UNION SGL; /* 0x40 */ | MPI3_SGE_UNION SGL; /* 0x40 */ | ||||
} MPI3_TARGET_STATUS_SEND_REQUEST, MPI3_POINTER PTR_MPI3_TARGET_STATUS_SEND_REQUEST, | } MPI3_TARGET_STATUS_SEND_REQUEST, MPI3_POINTER PTR_MPI3_TARGET_STATUS_SEND_REQUEST, | ||||
Mpi3TargetStatusSendRequest_t, MPI3_POINTER pMpi3TargetStatusSendRequest_t; | Mpi3TargetStatusSendRequest_t, MPI3_POINTER pMpi3TargetStatusSendRequest_t; | ||||
/**** Defines for the Flags field ****/ | /**** Defines for the Flags field ****/ | ||||
#define MPI3_TSS_FLAGS_IOC_USE_ONLY_6_MASK (0x0040) | |||||
#define MPI3_TSS_FLAGS_REPOST_CMD_BUFFER (0x0020) | #define MPI3_TSS_FLAGS_REPOST_CMD_BUFFER (0x0020) | ||||
#define MPI3_TSS_FLAGS_AUTO_SEND_GOOD_STATUS (0x0010) | #define MPI3_TSS_FLAGS_AUTO_SEND_GOOD_STATUS (0x0010) | ||||
/***************************************************************************** | /***************************************************************************** | ||||
* Standard Target Mode Reply Message * | * Standard Target Mode Reply Message * | ||||
****************************************************************************/ | ****************************************************************************/ | ||||
typedef struct _MPI3_TARGET_STANDARD_REPLY | typedef struct _MPI3_TARGET_STANDARD_REPLY | ||||
▲ Show 20 Lines • Show All 63 Lines • Show Last 20 Lines |