43#define atomic_set(p,v) (*(p) = (v))
44#define atomic_read(p) (*(p))
45#define atomic_inc(p) atomic_add_int(p,1)
46#define atomic_dec(p) atomic_subtract_int(p,1)
47#define atomic_add(n,p) atomic_add_int(p,n)
48#define atomic_sub(n,p) atomic_subtract_int(p,n)
50#define AGSCSI_INIT_XCHG_LEN sizeof(tiScsiInitiatorRequest_t)
51#define AGSMP_INIT_XCHG_LEN sizeof(tiSMPFrame_t)
52#define CMND_DMA_UNMAP( pCard, cmnd )
56#define DPMC_LEANFLAG_NOAGDEVYT 2
57#define DPMC_LEANFLAG_NOWWNLIST 4
58#define DPMC_LEANFLAG_AGDEVUSED 8
59#define DPMC_LEANFLAG_PDEVSUSED 16
63#define timer_list callout
90 struct scsi_cmnd *
cmd;
97#ifdef CCBUILD_TEST_EPL
102#ifdef CCBUILD_TEST_DPL
107#if defined (PERF_COUNT)
110#ifdef ENABLE_NONSTANDARD_SECTORS
114#ifdef ENABLE_SATA_DIF
120#ifdef SUPER_FAST_IO_TEST
135#define AGTIAPI_CCB_SIZE sizeof(struct _CCB)
163 #define KEK_TABLE_MAX_ENTRY 8
192#ifdef HOTPLUG_SUPPORT
193 struct scsi_device *sdev;
236#ifdef LINUX_PERBI_SUPPORT
240typedef struct _ag_mapping_s
242 struct _ag_mapping_s *next;
346#define CIPHER_MODE_INVALID 0xffffffffUL
347#define DEK_INDEX_INVALID 0xffffffffUL
348#define KEK_INDEX_INVALID 0xffffffffUL
359#define DEK_SIZE_PLAIN 72
360#define DEK_SIZE_ENCRYPT 80
361#define ENCRYPTION_MAP_MEMPOOL_SIZE 64
365#define ENCRYPTION_IO_ERR_MEMPOOL_SIZE 256
377#ifdef AGTIAPI_LOCAL_LOCK
380 struct mtx sendSMPLock;
381 struct mtx doneSMPLock;
384 unsigned long *STLockFlags;
386 struct mtx freezeLock;
403#ifndef LINUX_PERBI_SUPPORT
404#define INDEX(_pCard, _T) (_T)
406#define INDEX(_pCard, _T) (((_pCard)->pWWNList + (_T))->devListIndex)
struct _ag_device ag_device_t
struct ag_dek_kek_map_s ag_dek_kek_map_t
struct ag_encrypt_map_s ag_encrypt_map_t
struct _ag_slr_map ag_slr_map_t
struct _ag_portal_data ag_portal_data_t
struct ag_kek_table_s ag_kek_table_t
struct _ag_tgt_map ag_tgt_map_t
struct ccb_hdr_s ccb_hdr_t
int agtiapi_getCardInfo(struct agtiapi_softc *pCard, U32_64 size, void *buffer)
#define KEK_TABLE_MAX_ENTRY
int agtiapi_getdevlist(struct agtiapi_softc *pCard, tiIOCTLPayload_t *agIOCTLPayload)
#define DEK_MAX_TABLE_ITEMS
#define MAX_MSIX_NUM_VECTOR
struct agtiapi_softc * pCard
struct agtiapi_softc * pmcsc
tiSuperScsiInitiatorRequest_t tiSuperScsiRequest
tiDeviceHandle_t * devHandle
struct _CCB * pccbChainNext
tdIORequestBody_t tdIOReqBody
tiIORequest_t tiIORequest
ag_portal_info_t * pPortalInfo
tiDeviceHandle_t * pDevHandle
U08 targetName[AGTIAPI_MAX_NAME]
ag_portal_info_t portalInfo
U08 localeName[AGTIAPI_MIN_NAME]
U08 remoteName[AGTIAPI_MAX_NAME]
U08 targetName[AGTIAPI_MAX_NAME]
unsigned long long lbaMin
unsigned long long lbaMax
tiEncryptKekBlob_t kekBlob
data structure stores OS specific and LL specific context
struct kmem_cache * map_cache
char ioerr_cache_name[32]
ag_portal_data_t * pPortalData
ag_dek_kek_map_t dek_kek_map[DEK_MAX_TABLES][DEK_MAX_TABLE_ITEMS]
struct list_head * encrypt_map
struct timer_list tiTimerList
struct mtx ioerr_queue_lock
struct pci_pool * sglPool
struct callout devRmTimer
void * intrcookie[MAX_MSIX_NUM_VECTOR]
ag_card_info_t * pCardInfo
struct timer_list osTimerList
ag_kek_table_t kek_table[KEK_TABLE_MAX_ENTRY]
struct mtx devRmTimerLock
struct kmem_cache * ioerr_cache
bus_dma_tag_t buffer_dmat
struct resource * irq[MAX_MSIX_NUM_VECTOR]
int rscID[MAX_MSIX_NUM_VECTOR]
data structure for SAS SSP IO reuqest body This structure contains IO related fields....
union data structure specifies a request