aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/megaraid/mega_common.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/megaraid/mega_common.h')
-rw-r--r--drivers/scsi/megaraid/mega_common.h120
1 files changed, 60 insertions, 60 deletions
diff --git a/drivers/scsi/megaraid/mega_common.h b/drivers/scsi/megaraid/mega_common.h
index b50e27e66024..ab45e7a27d8c 100644
--- a/drivers/scsi/megaraid/mega_common.h
+++ b/drivers/scsi/megaraid/mega_common.h
@@ -46,17 +46,17 @@
46 46
47/** 47/**
48 * scb_t - scsi command control block 48 * scb_t - scsi command control block
49 * @param ccb : command control block for individual driver 49 * @ccb : command control block for individual driver
50 * @param list : list of control blocks 50 * @list : list of control blocks
51 * @param gp : general purpose field for LLDs 51 * @gp : general purpose field for LLDs
52 * @param sno : all SCBs have a serial number 52 * @sno : all SCBs have a serial number
53 * @param scp : associated scsi command 53 * @scp : associated scsi command
54 * @param state : current state of scb 54 * @state : current state of scb
55 * @param dma_dir : direction of data transfer 55 * @dma_dir : direction of data transfer
56 * @param dma_type : transfer with sg list, buffer, or no data transfer 56 * @dma_type : transfer with sg list, buffer, or no data transfer
57 * @param dev_channel : actual channel on the device 57 * @dev_channel : actual channel on the device
58 * @param dev_target : actual target on the device 58 * @dev_target : actual target on the device
59 * @param status : completion status 59 * @status : completion status
60 * 60 *
61 * This is our central data structure to issue commands the each driver. 61 * This is our central data structure to issue commands the each driver.
62 * Driver specific data structures are maintained in the ccb field. 62 * Driver specific data structures are maintained in the ccb field.
@@ -99,42 +99,42 @@ typedef struct {
99 99
100/** 100/**
101 * struct adapter_t - driver's initialization structure 101 * struct adapter_t - driver's initialization structure
102 * @param dpc_h : tasklet handle 102 * @aram dpc_h : tasklet handle
103 * @param pdev : pci configuration pointer for kernel 103 * @pdev : pci configuration pointer for kernel
104 * @param host : pointer to host structure of mid-layer 104 * @host : pointer to host structure of mid-layer
105 * @param lock : synchronization lock for mid-layer and driver 105 * @lock : synchronization lock for mid-layer and driver
106 * @param quiescent : driver is quiescent for now. 106 * @quiescent : driver is quiescent for now.
107 * @param outstanding_cmds : number of commands pending in the driver 107 * @outstanding_cmds : number of commands pending in the driver
108 * @param kscb_list : pointer to the bulk of SCBs pointers for IO 108 * @kscb_list : pointer to the bulk of SCBs pointers for IO
109 * @param kscb_pool : pool of free scbs for IO 109 * @kscb_pool : pool of free scbs for IO
110 * @param kscb_pool_lock : lock for pool of free scbs 110 * @kscb_pool_lock : lock for pool of free scbs
111 * @param pend_list : pending commands list 111 * @pend_list : pending commands list
112 * @param pend_list_lock : exlusion lock for pending commands list 112 * @pend_list_lock : exclusion lock for pending commands list
113 * @param completed_list : list of completed commands 113 * @completed_list : list of completed commands
114 * @param completed_list_lock : exclusion lock for list of completed commands 114 * @completed_list_lock : exclusion lock for list of completed commands
115 * @param sglen : max sg elements supported 115 * @sglen : max sg elements supported
116 * @param device_ids : to convert kernel device addr to our devices. 116 * @device_ids : to convert kernel device addr to our devices.
117 * @param raid_device : raid adapter specific pointer 117 * @raid_device : raid adapter specific pointer
118 * @param max_channel : maximum channel number supported - inclusive 118 * @max_channel : maximum channel number supported - inclusive
119 * @param max_target : max target supported - inclusive 119 * @max_target : max target supported - inclusive
120 * @param max_lun : max lun supported - inclusive 120 * @max_lun : max lun supported - inclusive
121 * @param unique_id : unique identifier for each adapter 121 * @unique_id : unique identifier for each adapter
122 * @param irq : IRQ for this adapter 122 * @irq : IRQ for this adapter
123 * @param ito : internal timeout value, (-1) means no timeout 123 * @ito : internal timeout value, (-1) means no timeout
124 * @param ibuf : buffer to issue internal commands 124 * @ibuf : buffer to issue internal commands
125 * @param ibuf_dma_h : dma handle for the above buffer 125 * @ibuf_dma_h : dma handle for the above buffer
126 * @param uscb_list : SCB pointers for user cmds, common mgmt module 126 * @uscb_list : SCB pointers for user cmds, common mgmt module
127 * @param uscb_pool : pool of SCBs for user commands 127 * @uscb_pool : pool of SCBs for user commands
128 * @param uscb_pool_lock : exclusion lock for these SCBs 128 * @uscb_pool_lock : exclusion lock for these SCBs
129 * @param max_cmds : max outstanding commands 129 * @max_cmds : max outstanding commands
130 * @param fw_version : firmware version 130 * @fw_version : firmware version
131 * @param bios_version : bios version 131 * @bios_version : bios version
132 * @param max_cdb_sz : biggest CDB size supported. 132 * @max_cdb_sz : biggest CDB size supported.
133 * @param ha : is high availability present - clustering 133 * @ha : is high availability present - clustering
134 * @param init_id : initiator ID, the default value should be 7 134 * @init_id : initiator ID, the default value should be 7
135 * @param max_sectors : max sectors per request 135 * @max_sectors : max sectors per request
136 * @param cmd_per_lun : max outstanding commands per LUN 136 * @cmd_per_lun : max outstanding commands per LUN
137 * @param being_detached : set when unloading, no more mgmt calls 137 * @being_detached : set when unloading, no more mgmt calls
138 * 138 *
139 * 139 *
140 * mraid_setup_device_map() can be called anytime after the device map is 140 * mraid_setup_device_map() can be called anytime after the device map is
@@ -211,23 +211,23 @@ typedef struct {
211#define SCP2ADAPTER(scp) (adapter_t *)SCSIHOST2ADAP(SCP2HOST(scp)) 211#define SCP2ADAPTER(scp) (adapter_t *)SCSIHOST2ADAP(SCP2HOST(scp))
212 212
213 213
214/**
215 * MRAID_GET_DEVICE_MAP - device ids
216 * @param adp - Adapter's soft state
217 * @param scp - mid-layer scsi command pointer
218 * @param p_chan - physical channel on the controller
219 * @param target - target id of the device or logical drive number
220 * @param islogical - set if the command is for the logical drive
221 *
222 * Macro to retrieve information about device class, logical or physical and
223 * the corresponding physical channel and target or logical drive number
224 **/
225#define MRAID_IS_LOGICAL(adp, scp) \ 214#define MRAID_IS_LOGICAL(adp, scp) \
226 (SCP2CHANNEL(scp) == (adp)->max_channel) ? 1 : 0 215 (SCP2CHANNEL(scp) == (adp)->max_channel) ? 1 : 0
227 216
228#define MRAID_IS_LOGICAL_SDEV(adp, sdev) \ 217#define MRAID_IS_LOGICAL_SDEV(adp, sdev) \
229 (sdev->channel == (adp)->max_channel) ? 1 : 0 218 (sdev->channel == (adp)->max_channel) ? 1 : 0
230 219
220/**
221 * MRAID_GET_DEVICE_MAP - device ids
222 * @adp : adapter's soft state
223 * @scp : mid-layer scsi command pointer
224 * @p_chan : physical channel on the controller
225 * @target : target id of the device or logical drive number
226 * @islogical : set if the command is for the logical drive
227 *
228 * Macro to retrieve information about device class, logical or physical and
229 * the corresponding physical channel and target or logical drive number
230 */
231#define MRAID_GET_DEVICE_MAP(adp, scp, p_chan, target, islogical) \ 231#define MRAID_GET_DEVICE_MAP(adp, scp, p_chan, target, islogical) \
232 /* \ 232 /* \
233 * Is the request coming for the virtual channel \ 233 * Is the request coming for the virtual channel \
@@ -273,8 +273,8 @@ typedef struct {
273 273
274/* 274/*
275 * struct mraid_pci_blk - structure holds DMA memory block info 275 * struct mraid_pci_blk - structure holds DMA memory block info
276 * @param vaddr : virtual address to a memory block 276 * @vaddr : virtual address to a memory block
277 * @param dma_addr : DMA handle to a memory block 277 * @dma_addr : DMA handle to a memory block
278 * 278 *
279 * This structure is filled up for the caller. It is the responsibilty of the 279 * This structure is filled up for the caller. It is the responsibilty of the
280 * caller to allocate this array big enough to store addresses for all 280 * caller to allocate this array big enough to store addresses for all