FreeBSD kernel pms device code
agdef.h
Go to the documentation of this file.
1
/*******************************************************************************
2
**
3
**
4
*Copyright (c) 2014 PMC-Sierra, Inc. All rights reserved.
5
*
6
*Redistribution and use in source and binary forms, with or without modification, are permitted provided
7
*that the following conditions are met:
8
*1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
9
*2. Redistributions in binary form must reproduce the above copyright notice,
10
*this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
11
*
12
*THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
13
*
14
*INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
15
*ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
16
*SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
17
*OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
18
*WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
19
*THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
20
*
21
* $FreeBSD$
22
*
23
**
24
*******************************************************************************/
25
/******************************************************************************
26
Note:
27
*******************************************************************************
28
Module Name:
29
agdef.h
30
Abstract:
31
Linux iSCSI/FC Initiator driver module constant define header file
32
Authors:
33
EW - Yiding(Eddie) Wang
34
Environment:
35
Kernel or loadable module
36
37
Version Control Information:
38
$ver. 1.0.0
39
40
Revision History:
41
$Revision: 115514 $0.1.0
42
$Date: 2012-01-06 17:12:27 -0800 (Fri, 06 Jan 2012) $09-27-2001
43
$Modtime: 11/12/01 11:15a $15:56:00
44
45
Notes:
46
**************************** MODIFICATION HISTORY *****************************
47
NAME DATE Rev. DESCRIPTION
48
---- ---- ---- -----------
49
EW 09-17-2004 1.0.0 Constant definitions
50
******************************************************************************/
51
52
53
#ifndef __AGTIAPI_DEF_H__
54
#define __AGTIAPI_DEF_H__
55
56
/*
57
** Max device supported
58
*/
59
#define AGTIAPI_HW_LIMIT_DEVICE 4096
60
#define AGTIAPI_MAX_LUN 256
/* Max # luns per target */
61
#define AGTIAPI_MAX_DEVICE 128
//64 //2048//1024 /* Max # device per channel */
62
#define AGTIAPI_MAX_DEVICE_7H 256
/*Max devices per channel in 7H */
63
#define AGTIAPI_MAX_DEVICE_8H 512
/*Max devices per channel in 8H*/
64
#define AGTIAPI_MAX_CAM_Q_DEPTH 1024
65
#define AGTIAPI_NSEGS (MIN(btoc(maxphys), 64) + 1)
66
/*
67
** Adapter specific defines
68
*/
69
#define AGTIAPI_IO_RANGE 256
/* IO mapped address range */
70
71
/*
72
** Scatter/Gather DMA Segment Descriptor
73
** Note, MAX_Q_DEPTH could be set larger for iscsi "AcceptQueueSize"
74
** parameter matching. One thing to do is to make it to be an adjustable
75
** parameter. Currently suggest this value set to be same as
76
** "AcceptQueueSize" but not required.
77
*/
78
79
#define AGTIAPI_MAX_DMA_SEGS 128
//256
80
#define AGTIAPI_DEFAULT_Q_DEPTH 4
81
#define AGTIAPI_MAX_Q_DEPTH AGSA_MAX_INBOUND_Q * 512
// *INBOUND_DEPTH_SIZE
82
83
/*
84
** CCB and device flags defines
85
*/
86
#define ACTIVE 0x00000001
87
#define TIMEDOUT 0x00000002
88
#define REQ_DONE 0x00000004
89
#define AGTIAPI_INQUIRY 0x00000008
90
#define AGTIAPI_ABORT 0x00000010
91
#define AGTIAPI_RETRY 0x00000020
92
#define TASK_SUCCESS 0x00000040
93
/* reserved for card flag
94
#define AGTIAPI_RESERVED 0x00000080
95
*/
96
#define AGTIAPI_CNX_UP 0x00000100
97
#define DEV_RESET 0x00000400
/* device reset */
98
#define DEV_SHIFT 0x00000800
/* device shift physical position */
99
#define AGTIAPI_YAM 0x00001000
100
#define TASK_TIMEOUT 0x00002000
101
#define ENCRYPTED_IO 0x00010000
/* encrypted IO */
102
#define SATA_DIF 0x00020000
/* SATA DIF */
103
#define EDC_DATA 0x00040000
104
#define EDC_DATA_CRC 0x00080000
105
#define TAG_SMP 0x40000000
106
#define TASK_MANAGEMENT 0x80000000
107
108
#define AGTIAPI_CCB_PER_DEVICE 64
109
#define AGTIAPI_CMD_PER_LUN 512
110
111
/*
112
** Max time to call agtiapi_GetDevHandle
113
** to make sure that no devices are attached
114
*/
115
#define AGTIAPI_GET_DEV_MAX 2
116
117
/*
118
** Device address mode
119
*/
120
#define AGTIAPI_ADDRMODE_SHIFT 6
121
#define AGTIAPI_PERIPHERAL 0x00
122
#define AGTIAPI_VOLUME_SET 0x01
123
#define AGTIAPI_LUN_ADDR 0x02
124
125
/*
126
** Device mapping method
127
*/
128
#define SOFT_MAPPED 0x0001
129
#define HARD_MAPPED 0x0002
130
131
/*
132
** bd_dev_type definitions
133
*/
134
#define DIRECT_DEVICE 0x00
135
#define TAPE_DEVICE 0x01
136
#define SLOW_DEVICE 0x02
137
#define ARRAY_DEVICE 0x04
138
139
/*
140
** SCSI CDB
141
*/
142
#define SCSI_CDB_SIZE 16
143
144
/*
145
** SCSI status
146
*/
147
#define SCSI_GOOD 0x00
148
#define SCSI_CHECK_CONDITION 0x02
149
#define SCSI_CONDITION_MET 0x04
150
#define SCSI_BUSY 0x08
151
#define SCSI_INTERMEDIATE 0x10
152
#define SCSI_INTERMEDIATE_COND_MET 0x14
153
#define SCSI_RESERVATION_CONFLICT 0x18
154
#define SCSI_TASK_ABORTED 0x40
155
#define SCSI_TASK_SET_FULL 0x28
156
#define SCSI_ACA_ACTIVE 0x30
157
158
/*
159
** Peripheral device types
160
*/
161
#define DTYPE_DIRECT 0x00
162
#define DTYPE_SEQUENTIAL 0x01
163
#define DTYPE_PRINTER 0x02
164
#define DTYPE_PROCESSOR 0x03
165
#define DTYPE_WORM 0x04
166
#define DTYPE_RODIRECT 0x05
167
#define DTYPE_SCANNER 0x06
168
#define DTYPE_OPTICAL 0x07
169
#define DTYPE_CHANGER 0x08
170
#define DTYPE_COMM 0x09
171
#define DTYPE_ARRAY_CTRL 0x0C
172
#define DTYPE_ESI 0x0D
173
/*
174
** Device types 0x0E-0x1E are reserved
175
*/
176
#define DTYPE_MASK 0x1F
177
178
/*
179
** Driver capability defines
180
*/
181
#define AGTIAPI_TIMEOUT_SECS 10
/* Default timer interval */
182
#define AGTIAPI_RESET_MAX 0x7FFFFFFF
/* Default max. reset */
183
#define AGTIAPI_DEV_RESET_MAX 0x10
/* Default max. reset */
184
#define AGTIAPI_RETRY_MAX 10
/* Default ccb retry cnt */
185
#define AGTIAPI_MAX_CHANNEL_NUM 0
/* Max channel # per card */
186
#define AGTIAPI_PERIPHERAL_CHANNEL 0
187
#define AGTIAPI_VOLUMESET_CHANNEL 1
188
#define AGTIAPI_LUNADDR_CHANNEL 2
189
#define AGTIAPI_EXTRA_DELAY 10000
/* extra 10 seconds delay */
190
191
/*
192
** Scsi ioctl test case only
193
*/
194
#define AGTIAPI_TEST_ABORT 0xabcd
195
#define AGTIAPI_TEST_ABORT_DONE 0xabce
196
#define AGTIAPI_IOCTL_SIGNATURE "AGTIAPI_IOCTL"
197
198
#define AGTIAPI_HBA_SCSI_ID (AGTIAPI_MAX_DEVICE - 1)
199
#define AGTIAPI_NO_RESEND 0x01
/* Don't resend command */
200
#define AGTIAPI_RESEND 0x02
/* Resend command */
201
//#define AGTIAPI_UPPER 0x04 /* Call from upper layer */
202
#define AGTIAPI_CALLBACK 0x08
/* CMD call back required */
203
204
#endif
/* __AGTIAPI_DEF_H__ */
dev
pms
freebsd
driver
ini
src
agdef.h
Generated by
1.9.3