]> CyberLeo.Net >> Repos - FreeBSD/releng/9.2.git/blob - sys/dev/ncv/ncr53c500var.h
- Copy stable/9 to releng/9.2 as part of the 9.2-RELEASE cycle.
[FreeBSD/releng/9.2.git] / sys / dev / ncv / ncr53c500var.h
1 /*      $FreeBSD$       */
2 /*      $NecBSD: ncr53c500var.h,v 1.11.18.1 2001/06/08 06:27:45 honda Exp $     */
3 /*      $NetBSD$        */
4
5 /*-
6  * [NetBSD for NEC PC-98 series]
7  *  Copyright (c) 1995, 1996, 1997, 1998, 1999, 2000, 2001
8  *      NetBSD/pc98 porting staff. All rights reserved.
9  *  Copyright (c) 1995, 1996, 1997, 1998, 1999, 2000, 2001
10  *      Naofumi HONDA. All rights reserved.
11  * 
12  *  Redistribution and use in source and binary forms, with or without
13  *  modification, are permitted provided that the following conditions
14  *  are met:
15  *  1. Redistributions of source code must retain the above copyright
16  *     notice, this list of conditions and the following disclaimer.
17  *  2. Redistributions in binary form must reproduce the above copyright
18  *     notice, this list of conditions and the following disclaimer in the
19  *     documentation and/or other materials provided with the distribution.
20  *  3. The name of the author may not be used to endorse or promote products
21  *     derived from this software without specific prior written permission.
22  * 
23  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
24  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
25  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
26  * DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
27  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
28  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
29  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
31  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
32  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
33  * POSSIBILITY OF SUCH DAMAGE.
34  */
35
36 #ifndef _NCR53C500VAR_H_
37 #define _NCR53C500VAR_H_
38
39 /*****************************************************************
40  * Host adapter structure
41  *****************************************************************/
42 struct ncv_softc {
43         struct scsi_low_softc sc_sclow;         /* generic data */
44
45 #ifdef  __NetBSD__
46         bus_space_tag_t sc_iot;
47         bus_space_tag_t sc_memt;
48         bus_space_handle_t sc_ioh;
49
50         void *sc_ih;
51 #endif  /* __NetBSD__ */
52
53 #ifdef  __FreeBSD__
54         bus_space_tag_t sc_iot;
55         bus_space_tag_t sc_memt;
56         bus_space_handle_t sc_ioh;
57
58         int port_rid;
59         int port_rid_dmy;
60         int irq_rid;
61         int mem_rid;
62         struct resource *port_res;
63         struct resource *port_res_dmy;
64         struct resource *irq_res;
65         struct resource *mem_res;
66
67         void *ncv_intrhand;
68 #endif  /* __FreeBSD__ */
69
70         int sc_tmaxcnt;
71         int sc_selstop;                 /* sel atn stop asserted */
72         int sc_compseq;                 /* completion seq cmd asserted */
73         int sc_sdatalen;                /* start datalen */
74         int sc_tdatalen;                /* temp xfer data len */
75
76         struct ncv_hw sc_hw;            /* hardware register images */
77 };
78
79 /*****************************************************************
80  * Lun information 
81  *****************************************************************/
82 struct ncv_targ_info {
83         struct targ_info nti_ti;
84         
85         u_int8_t nti_reg_cfg3;          /* cfg3 images per lun */
86         u_int8_t nti_reg_offset;        /* synch offset register per lun */
87         u_int8_t nti_reg_period;        /* synch period register per lun */
88 };
89
90 /*****************************************************************
91  * Proto
92  *****************************************************************/
93 int ncvprobesubr(bus_space_tag_t, bus_space_handle_t ioh, u_int, int);
94 void ncvattachsubr(struct ncv_softc *);
95 int ncvprint(void *, const char *);
96 int ncvintr(void *);
97
98 #if     defined(__i386__) && 0
99 #define SOFT_INTR_REQUIRED(slp) (softintr((slp)->sl_irq))
100 #else   /* !__i386__ */
101 #define SOFT_INTR_REQUIRED(slp)
102 #endif  /* !__i386__ */
103 #endif  /* !_NCR53C500VAR_H_ */