mfivar.h (170284) | mfivar.h (171821) |
---|---|
1/*- 2 * Copyright (c) 2006 IronPort Systems 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 14 unchanged lines hidden (view full) --- 23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 * SUCH DAMAGE. 25 */ 26 27#ifndef _MFIVAR_H 28#define _MFIVAR_H 29 30#include <sys/cdefs.h> | 1/*- 2 * Copyright (c) 2006 IronPort Systems 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 14 unchanged lines hidden (view full) --- 23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 * SUCH DAMAGE. 25 */ 26 27#ifndef _MFIVAR_H 28#define _MFIVAR_H 29 30#include <sys/cdefs.h> |
31__FBSDID("$FreeBSD: head/sys/dev/mfi/mfivar.h 170284 2007-06-04 16:39:22Z ambrisko $"); | 31__FBSDID("$FreeBSD: head/sys/dev/mfi/mfivar.h 171821 2007-08-13 19:29:17Z jhb $"); |
32 | 32 |
33#include <sys/lock.h> 34#include <sys/sx.h> 35 |
|
33/* 34 * SCSI structures and definitions are used from here, but no linking 35 * requirements are made to CAM. 36 */ 37#include <cam/scsi/scsi_all.h> 38 39struct mfi_hwcomms { 40 uint32_t hw_pi; --- 41 unchanged lines hidden (view full) --- 82 device_t ld_dev; 83 int ld_id; 84 int ld_unit; 85 struct mfi_softc *ld_controller; 86 struct mfi_ld_info *ld_info; 87 struct disk *ld_disk; 88 int ld_flags; 89#define MFI_DISK_FLAGS_OPEN 0x01 | 36/* 37 * SCSI structures and definitions are used from here, but no linking 38 * requirements are made to CAM. 39 */ 40#include <cam/scsi/scsi_all.h> 41 42struct mfi_hwcomms { 43 uint32_t hw_pi; --- 41 unchanged lines hidden (view full) --- 85 device_t ld_dev; 86 int ld_id; 87 int ld_unit; 88 struct mfi_softc *ld_controller; 89 struct mfi_ld_info *ld_info; 90 struct disk *ld_disk; 91 int ld_flags; 92#define MFI_DISK_FLAGS_OPEN 0x01 |
93#define MFI_DISK_FLAGS_DISABLED 0x02 |
|
90}; 91 92struct mfi_aen { 93 TAILQ_ENTRY(mfi_aen) aen_link; 94 struct proc *p; 95}; 96 97struct mfi_softc { --- 28 unchanged lines hidden (view full) --- 126 uint32_t mfi_frames_busaddr; 127 union mfi_frame *mfi_frames; 128 129 TAILQ_HEAD(,mfi_aen) mfi_aen_pids; 130 struct mfi_command *mfi_aen_cm; 131 uint32_t mfi_aen_triggered; 132 uint32_t mfi_poll_waiting; 133 struct selinfo mfi_select; | 94}; 95 96struct mfi_aen { 97 TAILQ_ENTRY(mfi_aen) aen_link; 98 struct proc *p; 99}; 100 101struct mfi_softc { --- 28 unchanged lines hidden (view full) --- 130 uint32_t mfi_frames_busaddr; 131 union mfi_frame *mfi_frames; 132 133 TAILQ_HEAD(,mfi_aen) mfi_aen_pids; 134 struct mfi_command *mfi_aen_cm; 135 uint32_t mfi_aen_triggered; 136 uint32_t mfi_poll_waiting; 137 struct selinfo mfi_select; |
138 int mfi_delete_busy_volumes; 139 int mfi_keep_deleted_volumes; 140 int mfi_detaching; |
|
134 135 bus_dma_tag_t mfi_sense_dmat; 136 bus_dmamap_t mfi_sense_dmamap; 137 uint32_t mfi_sense_busaddr; 138 struct mfi_sense *mfi_sense; 139 140 struct resource *mfi_irq; 141 void *mfi_intr; --- 38 unchanged lines hidden (view full) --- 180 TAILQ_HEAD(,mfi_disk) mfi_ld_tqh; 181 eventhandler_tag mfi_eh; 182 struct cdev *mfi_cdev; 183 184 TAILQ_HEAD(, ccb_hdr) mfi_cam_ccbq; 185 struct mfi_command * (* mfi_cam_start)(void *); 186 struct callout mfi_watchdog_callout; 187 struct mtx mfi_io_lock; | 141 142 bus_dma_tag_t mfi_sense_dmat; 143 bus_dmamap_t mfi_sense_dmamap; 144 uint32_t mfi_sense_busaddr; 145 struct mfi_sense *mfi_sense; 146 147 struct resource *mfi_irq; 148 void *mfi_intr; --- 38 unchanged lines hidden (view full) --- 187 TAILQ_HEAD(,mfi_disk) mfi_ld_tqh; 188 eventhandler_tag mfi_eh; 189 struct cdev *mfi_cdev; 190 191 TAILQ_HEAD(, ccb_hdr) mfi_cam_ccbq; 192 struct mfi_command * (* mfi_cam_start)(void *); 193 struct callout mfi_watchdog_callout; 194 struct mtx mfi_io_lock; |
195 struct sx mfi_config_lock; |
|
188}; 189 190extern int mfi_attach(struct mfi_softc *); 191extern void mfi_free(struct mfi_softc *); 192extern int mfi_shutdown(struct mfi_softc *); 193extern void mfi_startio(struct mfi_softc *); 194extern void mfi_disk_complete(struct bio *); | 196}; 197 198extern int mfi_attach(struct mfi_softc *); 199extern void mfi_free(struct mfi_softc *); 200extern int mfi_shutdown(struct mfi_softc *); 201extern void mfi_startio(struct mfi_softc *); 202extern void mfi_disk_complete(struct bio *); |
203extern int mfi_disk_disable(struct mfi_disk *); 204extern void mfi_disk_enable(struct mfi_disk *); |
|
195extern int mfi_dump_blocks(struct mfi_softc *, int id, uint64_t, void *, int); 196 197#define MFIQ_ADD(sc, qname) \ 198 do { \ 199 struct mfi_qstat *qs; \ 200 \ 201 qs = &(sc)->mfi_qstat[qname]; \ 202 qs->q_length++; \ --- 151 unchanged lines hidden --- | 205extern int mfi_dump_blocks(struct mfi_softc *, int id, uint64_t, void *, int); 206 207#define MFIQ_ADD(sc, qname) \ 208 do { \ 209 struct mfi_qstat *qs; \ 210 \ 211 qs = &(sc)->mfi_qstat[qname]; \ 212 qs->q_length++; \ --- 151 unchanged lines hidden --- |