1/*-
2 * Copyright (c) 2002 Adaptec Inc.
3 * All rights reserved.
4 *
5 * Written by: David Jeffery
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
--- 11 unchanged lines hidden (view full) ---
20 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26 * SUCH DAMAGE.
27 *
28 * $FreeBSD: head/sys/dev/ips/ipsreg.h 152919 2005-11-29 09:39:41Z scottl $
29 */
30
31#include <sys/param.h>
32
33/*
34 * IPS CONSTANTS
35 */
36#define IPS_VENDOR_ID 0x1014
--- 20 unchanged lines hidden (view full) ---
57#define IPS_STATIC_BUSY 0x08
58
59/* max number of commands set to something low for now */
60#define IPS_MAX_CMD_NUM 128
61#define IPS_MAX_NUM_DRIVES 8
62#define IPS_MAX_SG_ELEMENTS 32
63#define IPS_MAX_IOBUF_SIZE (64 * 1024)
64#define IPS_BLKSIZE 512
65
66/* logical drive states */
67
68#define IPS_LD_OFFLINE 0x02
69#define IPS_LD_OKAY 0x03
70#define IPS_LD_DEGRADED 0x04
71#define IPS_LD_FREE 0x00
72#define IPS_LD_SYS 0x06
--- 43 unchanged lines hidden (view full) ---
116/* command op codes */
117#define IPS_READ_CMD 0x02
118#define IPS_WRITE_CMD 0x03
119#define IPS_ADAPTER_INFO_CMD 0x05
120#define IPS_CACHE_FLUSH_CMD 0x0A
121#define IPS_REBUILD_STATUS_CMD 0x0C
122#define IPS_ERROR_TABLE_CMD 0x17
123#define IPS_DRIVE_INFO_CMD 0x19
124#define IPS_SUBSYS_PARAM_CMD 0x40
125#define IPS_CONFIG_SYNC_CMD 0x58
126#define IPS_SG_READ_CMD 0x82
127#define IPS_SG_WRITE_CMD 0x83
128#define IPS_RW_NVRAM_CMD 0xBC
129#define IPS_FFDC_CMD 0xD7
130
131/* basic_status information returned by the adapter */
--- 185 unchanged lines hidden (view full) ---
317 u_int16_t flash_prog_count;
318 u_int8_t defunct_disks;
319 u_int8_t rebuildflags;
320 u_int8_t offline_drivecount;
321 u_int8_t critical_drivecount;
322 u_int16_t config_update_count;
323 u_int8_t blockedflags;
324 u_int8_t psdn_error;
325 u_int16_t addr_dead_disk[4*16];/* ugly, max # channels * max # scsi devices per channel */
326}__attribute__((packed)) ips_adapter_info_t;
327
328typedef union {
329 struct {
330 u_int8_t reserved;
331 u_int8_t command_id;
332 u_int8_t basic_status;
333 u_int8_t extended_status;
334 } fields;
335 volatile u_int32_t value;
336} ips_cmd_status_t;
337
2 * Copyright (c) 2002 Adaptec Inc.
3 * All rights reserved.
4 *
5 * Written by: David Jeffery
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
--- 11 unchanged lines hidden (view full) ---
20 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26 * SUCH DAMAGE.
27 *
28 * $FreeBSD: head/sys/dev/ips/ipsreg.h 152919 2005-11-29 09:39:41Z scottl $
29 */
30
31#include <sys/param.h>
32
33/*
34 * IPS CONSTANTS
35 */
36#define IPS_VENDOR_ID 0x1014
--- 20 unchanged lines hidden (view full) ---
57#define IPS_STATIC_BUSY 0x08
58
59/* max number of commands set to something low for now */
60#define IPS_MAX_CMD_NUM 128
61#define IPS_MAX_NUM_DRIVES 8
62#define IPS_MAX_SG_ELEMENTS 32
63#define IPS_MAX_IOBUF_SIZE (64 * 1024)
64#define IPS_BLKSIZE 512
65
66/* logical drive states */
67
68#define IPS_LD_OFFLINE 0x02
69#define IPS_LD_OKAY 0x03
70#define IPS_LD_DEGRADED 0x04
71#define IPS_LD_FREE 0x00
72#define IPS_LD_SYS 0x06
--- 43 unchanged lines hidden (view full) ---
116/* command op codes */
117#define IPS_READ_CMD 0x02
118#define IPS_WRITE_CMD 0x03
119#define IPS_ADAPTER_INFO_CMD 0x05
120#define IPS_CACHE_FLUSH_CMD 0x0A
121#define IPS_REBUILD_STATUS_CMD 0x0C
122#define IPS_ERROR_TABLE_CMD 0x17
123#define IPS_DRIVE_INFO_CMD 0x19
124#define IPS_SUBSYS_PARAM_CMD 0x40
125#define IPS_CONFIG_SYNC_CMD 0x58
126#define IPS_SG_READ_CMD 0x82
127#define IPS_SG_WRITE_CMD 0x83
128#define IPS_RW_NVRAM_CMD 0xBC
129#define IPS_FFDC_CMD 0xD7
130
131/* basic_status information returned by the adapter */
--- 185 unchanged lines hidden (view full) ---
317 u_int16_t flash_prog_count;
318 u_int8_t defunct_disks;
319 u_int8_t rebuildflags;
320 u_int8_t offline_drivecount;
321 u_int8_t critical_drivecount;
322 u_int16_t config_update_count;
323 u_int8_t blockedflags;
324 u_int8_t psdn_error;
325 u_int16_t addr_dead_disk[4*16];/* ugly, max # channels * max # scsi devices per channel */
326}__attribute__((packed)) ips_adapter_info_t;
327
328typedef union {
329 struct {
330 u_int8_t reserved;
331 u_int8_t command_id;
332 u_int8_t basic_status;
333 u_int8_t extended_status;
334 } fields;
335 volatile u_int32_t value;
336} ips_cmd_status_t;
337