aacvar.h (166901) | aacvar.h (174385) |
---|---|
1/*- 2 * Copyright (c) 2000 Michael Smith 3 * Copyright (c) 2001 Scott Long 4 * Copyright (c) 2000 BSDi 5 * Copyright (c) 2001 Adaptec, Inc. 6 * All rights reserved. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 12 unchanged lines hidden (view full) --- 21 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27 * SUCH DAMAGE. 28 * | 1/*- 2 * Copyright (c) 2000 Michael Smith 3 * Copyright (c) 2001 Scott Long 4 * Copyright (c) 2000 BSDi 5 * Copyright (c) 2001 Adaptec, Inc. 6 * All rights reserved. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 12 unchanged lines hidden (view full) --- 21 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27 * SUCH DAMAGE. 28 * |
29 * $FreeBSD: head/sys/dev/aac/aacvar.h 166901 2007-02-23 12:19:07Z piso $ | 29 * $FreeBSD: head/sys/dev/aac/aacvar.h 174385 2007-12-07 00:22:23Z emaste $ |
30 */ 31 32#include <sys/bio.h> 33#include <sys/lock.h> 34#include <sys/mutex.h> 35#include <sys/taskqueue.h> 36#include <sys/selinfo.h> 37#include <geom/geom_disk.h> --- 229 unchanged lines hidden (view full) --- 267 sc->aac_bhandle, reg, val) 268#define AAC_GETREG2(sc, reg) bus_space_read_2 (sc->aac_btag, \ 269 sc->aac_bhandle, reg) 270#define AAC_SETREG1(sc, reg, val) bus_space_write_1(sc->aac_btag, \ 271 sc->aac_bhandle, reg, val) 272#define AAC_GETREG1(sc, reg) bus_space_read_1 (sc->aac_btag, \ 273 sc->aac_bhandle, reg) 274 | 30 */ 31 32#include <sys/bio.h> 33#include <sys/lock.h> 34#include <sys/mutex.h> 35#include <sys/taskqueue.h> 36#include <sys/selinfo.h> 37#include <geom/geom_disk.h> --- 229 unchanged lines hidden (view full) --- 267 sc->aac_bhandle, reg, val) 268#define AAC_GETREG2(sc, reg) bus_space_read_2 (sc->aac_btag, \ 269 sc->aac_bhandle, reg) 270#define AAC_SETREG1(sc, reg, val) bus_space_write_1(sc->aac_btag, \ 271 sc->aac_bhandle, reg, val) 272#define AAC_GETREG1(sc, reg) bus_space_read_1 (sc->aac_btag, \ 273 sc->aac_bhandle, reg) 274 |
275/* fib context (IOCTL) */ 276struct aac_fib_context { 277 u_int32_t unique; 278 int ctx_idx; 279 int ctx_wrap; 280 struct aac_fib_context *next, *prev; 281}; 282 |
|
275/* 276 * Per-controller structure. 277 */ 278struct aac_softc 279{ 280 /* bus connections */ 281 device_t aac_dev; 282 struct resource *aac_regs_resource; /* register interface --- 10 unchanged lines hidden (view full) --- 293 eventhandler_tag eh; 294 295 /* controller features, limits and status */ 296 int aac_state; 297#define AAC_STATE_SUSPEND (1<<0) 298#define AAC_STATE_OPEN (1<<1) 299#define AAC_STATE_INTERRUPTS_ON (1<<2) 300#define AAC_STATE_AIF_SLEEPER (1<<3) | 283/* 284 * Per-controller structure. 285 */ 286struct aac_softc 287{ 288 /* bus connections */ 289 device_t aac_dev; 290 struct resource *aac_regs_resource; /* register interface --- 10 unchanged lines hidden (view full) --- 301 eventhandler_tag eh; 302 303 /* controller features, limits and status */ 304 int aac_state; 305#define AAC_STATE_SUSPEND (1<<0) 306#define AAC_STATE_OPEN (1<<1) 307#define AAC_STATE_INTERRUPTS_ON (1<<2) 308#define AAC_STATE_AIF_SLEEPER (1<<3) |
309 int aac_open_cnt; |
|
301 struct FsaRevision aac_revision; 302 303 /* controller hardware interface */ 304 int aac_hwif; 305#define AAC_HWIF_I960RX 0 306#define AAC_HWIF_STRONGARM 1 307#define AAC_HWIF_FALCON 2 308#define AAC_HWIF_RKT 3 --- 13 unchanged lines hidden (view full) --- 322 struct aac_command *aac_commands; 323 324 /* command management */ 325 TAILQ_HEAD(,aac_command) aac_free; /* command structures 326 * available for reuse */ 327 TAILQ_HEAD(,aac_command) aac_ready; /* commands on hold for 328 * controller resources */ 329 TAILQ_HEAD(,aac_command) aac_busy; | 310 struct FsaRevision aac_revision; 311 312 /* controller hardware interface */ 313 int aac_hwif; 314#define AAC_HWIF_I960RX 0 315#define AAC_HWIF_STRONGARM 1 316#define AAC_HWIF_FALCON 2 317#define AAC_HWIF_RKT 3 --- 13 unchanged lines hidden (view full) --- 331 struct aac_command *aac_commands; 332 333 /* command management */ 334 TAILQ_HEAD(,aac_command) aac_free; /* command structures 335 * available for reuse */ 336 TAILQ_HEAD(,aac_command) aac_ready; /* commands on hold for 337 * controller resources */ 338 TAILQ_HEAD(,aac_command) aac_busy; |
330 TAILQ_HEAD(,aac_command) aac_aif; 331#if 0 332 TAILQ_HEAD(,aac_command) aac_norm; 333#endif | |
334 TAILQ_HEAD(,aac_event) aac_ev_cmfree; 335 struct bio_queue_head aac_bioq; 336 struct aac_queue_table *aac_queues; 337 struct aac_queue_entry *aac_qentries[AAC_QUEUE_COUNT]; 338 339 struct aac_qstat aac_qstat[AACQ_COUNT]; /* queue statistics */ 340 341 /* connected containters */ --- 9 unchanged lines hidden (view full) --- 351 /* delayed activity infrastructure */ 352 struct task aac_task_complete; /* deferred-completion 353 * task */ 354 struct intr_config_hook aac_ich; 355 356 /* management interface */ 357 struct cdev *aac_dev_t; 358 struct mtx aac_aifq_lock; | 339 TAILQ_HEAD(,aac_event) aac_ev_cmfree; 340 struct bio_queue_head aac_bioq; 341 struct aac_queue_table *aac_queues; 342 struct aac_queue_entry *aac_qentries[AAC_QUEUE_COUNT]; 343 344 struct aac_qstat aac_qstat[AACQ_COUNT]; /* queue statistics */ 345 346 /* connected containters */ --- 9 unchanged lines hidden (view full) --- 356 /* delayed activity infrastructure */ 357 struct task aac_task_complete; /* deferred-completion 358 * task */ 359 struct intr_config_hook aac_ich; 360 361 /* management interface */ 362 struct cdev *aac_dev_t; 363 struct mtx aac_aifq_lock; |
359 struct aac_aif_command aac_aifq[AAC_AIFQ_LENGTH]; 360 int aac_aifq_head; 361 int aac_aifq_tail; | 364 struct aac_fib aac_aifq[AAC_AIFQ_LENGTH]; 365 int aifq_idx; 366 int aifq_filled; 367 struct aac_fib_context *fibctx; |
362 struct selinfo rcv_select; 363 struct proc *aifthread; 364 int aifflags; 365#define AAC_AIFFLAGS_RUNNING (1 << 0) 366#define AAC_AIFFLAGS_AIF (1 << 1) 367#define AAC_AIFFLAGS_EXIT (1 << 2) 368#define AAC_AIFFLAGS_EXITED (1 << 3) 369#define AAC_AIFFLAGS_PRINTF (1 << 4) --- 260 unchanged lines hidden --- | 368 struct selinfo rcv_select; 369 struct proc *aifthread; 370 int aifflags; 371#define AAC_AIFFLAGS_RUNNING (1 << 0) 372#define AAC_AIFFLAGS_AIF (1 << 1) 373#define AAC_AIFFLAGS_EXIT (1 << 2) 374#define AAC_AIFFLAGS_EXITED (1 << 3) 375#define AAC_AIFFLAGS_PRINTF (1 << 4) --- 260 unchanged lines hidden --- |