tws.h (228443) | tws.h (241753) |
---|---|
1/* 2 * Copyright (c) 2010, LSI Corp. 3 * All rights reserved. 4 * Author : Manjunath Ranganathaiah 5 * Support: freebsdraid@lsi.com 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions --- 17 unchanged lines hidden (view full) --- 26 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 27 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 29 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 30 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 31 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 32 * POSSIBILITY OF SUCH DAMAGE. 33 * | 1/* 2 * Copyright (c) 2010, LSI Corp. 3 * All rights reserved. 4 * Author : Manjunath Ranganathaiah 5 * Support: freebsdraid@lsi.com 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions --- 17 unchanged lines hidden (view full) --- 26 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 27 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 29 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 30 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 31 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 32 * POSSIBILITY OF SUCH DAMAGE. 33 * |
34 * $FreeBSD: head/sys/dev/tws/tws.h 228443 2011-12-12 18:43:24Z mdf $ | 34 * $FreeBSD: head/sys/dev/tws/tws.h 241753 2012-10-19 22:07:40Z delphij $ |
35 */ 36 37#include <sys/param.h> /* defines used in kernel.h */ 38#include <sys/module.h> 39#include <sys/systm.h> 40#include <sys/proc.h> 41#include <sys/errno.h> 42#include <sys/kernel.h> /* types used in module initialization */ --- 17 unchanged lines hidden (view full) --- 60 61#define TWS_PULL_MODE_ENABLE 1 62 63MALLOC_DECLARE(M_TWS); 64/* externs */ 65extern int tws_queue_depth; 66 67 | 35 */ 36 37#include <sys/param.h> /* defines used in kernel.h */ 38#include <sys/module.h> 39#include <sys/systm.h> 40#include <sys/proc.h> 41#include <sys/errno.h> 42#include <sys/kernel.h> /* types used in module initialization */ --- 17 unchanged lines hidden (view full) --- 60 61#define TWS_PULL_MODE_ENABLE 1 62 63MALLOC_DECLARE(M_TWS); 64/* externs */ 65extern int tws_queue_depth; 66 67 |
68#define TWS_DRIVER_VERSION_STRING "10.80.00.003" | 68#define TWS_DRIVER_VERSION_STRING "10.80.00.005" |
69#define TWS_MAX_NUM_UNITS 65 70#define TWS_MAX_NUM_LUNS 16 71#define TWS_MAX_IRQS 2 72#define TWS_SCSI_INITIATOR_ID 66 73#define TWS_MAX_IO_SIZE 0x20000 /* 128kB */ 74#define TWS_SECTOR_SIZE 0x200 75#define TWS_POLL_TIMEOUT 60 76#define TWS_IO_TIMEOUT 60 --- 165 unchanged lines hidden (view full) --- 242 struct cam_sim *sim; /* sim for this controller */ 243 struct cam_path *path; /* Ctlr path to CAM */ 244 struct mtx q_lock; /* queue lock */ 245 struct mtx sim_lock; /* sim lock */ 246 struct mtx gen_lock; /* general driver lock */ 247 struct mtx io_lock; /* IO lock */ 248 struct tws_ioctl_lock ioctl_lock; /* ioctl lock */ 249 u_int32_t seq_id; /* Sequence id */ | 69#define TWS_MAX_NUM_UNITS 65 70#define TWS_MAX_NUM_LUNS 16 71#define TWS_MAX_IRQS 2 72#define TWS_SCSI_INITIATOR_ID 66 73#define TWS_MAX_IO_SIZE 0x20000 /* 128kB */ 74#define TWS_SECTOR_SIZE 0x200 75#define TWS_POLL_TIMEOUT 60 76#define TWS_IO_TIMEOUT 60 --- 165 unchanged lines hidden (view full) --- 242 struct cam_sim *sim; /* sim for this controller */ 243 struct cam_path *path; /* Ctlr path to CAM */ 244 struct mtx q_lock; /* queue lock */ 245 struct mtx sim_lock; /* sim lock */ 246 struct mtx gen_lock; /* general driver lock */ 247 struct mtx io_lock; /* IO lock */ 248 struct tws_ioctl_lock ioctl_lock; /* ioctl lock */ 249 u_int32_t seq_id; /* Sequence id */ |
250 int chan; /* wait channel */ | 250 void *chan; /* IOCTL req wait channel */ |
251 struct tws_circular_q aen_q; /* aen q */ 252 struct tws_circular_q trace_q; /* trace q */ 253 struct tws_stats stats; /* I/O stats */ 254 struct tws_init_connect_info cinfo; /* compatibility info */ 255 boolean is64bit; /* True - 64bit else 32bit */ 256 u_int8_t intr_type; /* Interrupt type used */ 257 bus_dma_tag_t parent_tag; /* parent DMA tag */ 258 bus_dma_tag_t cmd_tag; /* command DMA tag */ 259 bus_dmamap_t cmd_map; /* command map */ 260 void *dma_mem; /* pointer to dmable memory */ 261 u_int64_t dma_mem_phys; /* phy addr */ 262 bus_dma_tag_t data_tag; /* data DMA tag */ | 251 struct tws_circular_q aen_q; /* aen q */ 252 struct tws_circular_q trace_q; /* trace q */ 253 struct tws_stats stats; /* I/O stats */ 254 struct tws_init_connect_info cinfo; /* compatibility info */ 255 boolean is64bit; /* True - 64bit else 32bit */ 256 u_int8_t intr_type; /* Interrupt type used */ 257 bus_dma_tag_t parent_tag; /* parent DMA tag */ 258 bus_dma_tag_t cmd_tag; /* command DMA tag */ 259 bus_dmamap_t cmd_map; /* command map */ 260 void *dma_mem; /* pointer to dmable memory */ 261 u_int64_t dma_mem_phys; /* phy addr */ 262 bus_dma_tag_t data_tag; /* data DMA tag */ |
263 void *ioctl_data_mem; /* ioctl dmable memory */ 264 bus_dmamap_t ioctl_data_map; /* ioctl data map */ |
|
263 struct tws_request *reqs; /* pointer to requests */ 264 struct tws_sense *sense_bufs; /* pointer to sense buffers */ 265 boolean obfl_q_overrun; /* OBFL overrun flag */ 266 union ccb *scan_ccb; /* pointer to a ccb */ 267 struct tws_request *q_head[TWS_MAX_QS]; /* head pointers to q's */ 268 struct tws_request *q_tail[TWS_MAX_QS]; /* tail pointers to q's */ 269}; | 265 struct tws_request *reqs; /* pointer to requests */ 266 struct tws_sense *sense_bufs; /* pointer to sense buffers */ 267 boolean obfl_q_overrun; /* OBFL overrun flag */ 268 union ccb *scan_ccb; /* pointer to a ccb */ 269 struct tws_request *q_head[TWS_MAX_QS]; /* head pointers to q's */ 270 struct tws_request *q_tail[TWS_MAX_QS]; /* tail pointers to q's */ 271}; |