FreeBSD/Linux Kernel Cross Reference
sys/dev/nsp/nspvar.h
1 /* $FreeBSD: releng/9.0/sys/dev/nsp/nspvar.h 139749 2005-01-06 01:43:34Z imp $ */
2 /* $NecBSD: nspvar.h,v 1.7.14.5 2001/06/29 06:27:54 honda Exp $ */
3 /* $NetBSD$ */
4
5 /*-
6 * [NetBSD for NEC PC-98 series]
7 * Copyright (c) 1998, 1999, 2000, 2001
8 * NetBSD/pc98 porting staff. All rights reserved.
9 *
10 * Copyright (c) 1998, 1999, 2000, 2001
11 * Naofumi HONDA. All rights reserved.
12 *
13 * Redistribution and use in source and binary forms, with or without
14 * modification, are permitted provided that the following conditions
15 * are met:
16 * 1. Redistributions of source code must retain the above copyright
17 * notice, this list of conditions and the following disclaimer.
18 * 2. Redistributions in binary form must reproduce the above copyright
19 * notice, this list of conditions and the following disclaimer in the
20 * documentation and/or other materials provided with the distribution.
21 * 3. The name of the author may not be used to endorse or promote products
22 * derived from this software without specific prior written permission.
23 *
24 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
25 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
26 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
27 * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
28 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
29 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
31 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
32 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
33 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34 * POSSIBILITY OF SUCH DAMAGE.
35 */
36
37 #ifndef _NSPVAR_H_
38 #define _NSPVAR_H_
39
40 /*****************************************************************
41 * Host adapter structure
42 *****************************************************************/
43 struct nsp_softc {
44 struct scsi_low_softc sc_sclow; /* generic data */
45
46 #ifdef __NetBSD__
47 bus_space_tag_t sc_iot;
48 bus_space_handle_t sc_ioh;
49 bus_space_tag_t sc_memt;
50 bus_space_handle_t sc_memh;
51
52 void *sc_ih;
53 #endif /* __NetBSD__ */
54
55 #ifdef __FreeBSD__
56 bus_space_tag_t sc_iot;
57 bus_space_handle_t sc_ioh;
58 bus_space_tag_t sc_memt;
59 bus_space_handle_t sc_memh;
60
61 int port_rid;
62 int irq_rid;
63 int mem_rid;
64 struct resource *port_res;
65 struct resource *irq_res;
66 struct resource *mem_res;
67
68 void *nsp_intrhand;
69 #endif /* __FreeBSD__ */
70
71 int sc_tmaxcnt; /* timeout count */
72 int sc_seltout; /* selection timeout counter */
73 int sc_timer; /* timer start */
74
75 int sc_suspendio; /* SMIT: data suspendio bytes */
76 u_int8_t sc_xfermr; /* SMIT: fifo control reg */
77 int sc_dataout_timeout; /* data out timeout counter */
78
79 u_int sc_idbit; /* host id bit pattern */
80 u_int sc_cnt; /* fifo R/W count (host) */
81
82 u_int8_t sc_iclkdiv; /* scsi chip clock divisor */
83 u_int8_t sc_clkdiv; /* asic chip clock divisor */
84 u_int8_t sc_icr; /* interrupt control reg */
85
86 u_int8_t sc_busc; /* busc registers */
87 u_int8_t sc_parr; /* parity control register */
88 };
89
90 /*****************************************************************
91 * Lun information
92 *****************************************************************/
93 struct nsp_targ_info {
94 struct targ_info nti_ti; /* generic lun info */
95
96 u_int8_t nti_reg_syncr; /* sync registers per devices */
97 u_int8_t nti_reg_ackwidth; /* ackwidth per devices */
98 };
99
100 /*****************************************************************
101 * Proto
102 *****************************************************************/
103 int nspprobesubr(bus_space_tag_t, bus_space_handle_t, u_int);
104 void nspattachsubr(struct nsp_softc *);
105 int nspprint(void *, const char *);
106 int nspintr(void *);
107
108 #if defined(__i386__) && 0
109 #define SOFT_INTR_REQUIRED(slp) (softintr((slp)->sl_irq))
110 #else /* !__i386__ */
111 #define SOFT_INTR_REQUIRED(slp)
112 #endif /* !__i386__ */
113 #endif /* !_NSPVAR_H_ */
Cache object: 93ece49508ad6065c1f100ccad95884f
|