isavar.h (bea6af4d31e5d3cd38da885df2f7fbec57377d7a) isavar.h (cfa84f46316d500ad9b4a7d62b98b498134d2584)
1/*-
2 * Copyright (c) 1998 Doug Rabson
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

--- 9 unchanged lines hidden (view full) ---

18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 *
1/*-
2 * Copyright (c) 1998 Doug Rabson
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

--- 9 unchanged lines hidden (view full) ---

18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 *
26 * $Id: isavar.h,v 1.7 1999/05/22 15:18:28 dfr Exp $
26 * $Id: isavar.h,v 1.8 1999/05/28 09:25:02 dfr Exp $
27 */
28
27 */
28
29#ifndef _ISA_ISAVAR_H_
30#define _ISA_ISAVAR_H_
31
29#include "isa_if.h"
32#include "isa_if.h"
33#include <isa/pnp.h>
30
34
35#ifdef KERNEL
36
31/*
32 * ISA devices are partially ordered to ensure that devices which are
33 * sensitive to other driver probe routines are probed first. Plug and
34 * Play devices are added after devices with speculative probes so that
35 * the legacy hardware can claim resources allowing the Plug and Play
36 * hardware to choose different resources.
37 */
38#define ISA_ORDER_SENSITIVE 0 /* legacy sensitive hardware */
39#define ISA_ORDER_SPECULATIVE 1 /* legacy non-sensitive hardware */
40#define ISA_ORDER_PNP 2 /* plug-and-play hardware */
41
37/*
38 * ISA devices are partially ordered to ensure that devices which are
39 * sensitive to other driver probe routines are probed first. Plug and
40 * Play devices are added after devices with speculative probes so that
41 * the legacy hardware can claim resources allowing the Plug and Play
42 * hardware to choose different resources.
43 */
44#define ISA_ORDER_SENSITIVE 0 /* legacy sensitive hardware */
45#define ISA_ORDER_SPECULATIVE 1 /* legacy non-sensitive hardware */
46#define ISA_ORDER_PNP 2 /* plug-and-play hardware */
47
42#define ISA_NPORT_IVARS 2
43#define ISA_NMEM_IVARS 2
48#define ISA_NPORT_IVARS 8
49#define ISA_NMEM_IVARS 4
44#define ISA_NIRQ_IVARS 2
45#define ISA_NDRQ_IVARS 2
46
47enum isa_device_ivars {
48 ISA_IVAR_PORT,
49 ISA_IVAR_PORT_0 = ISA_IVAR_PORT,
50 ISA_IVAR_PORT_1,
51 ISA_IVAR_PORTSIZE,

--- 6 unchanged lines hidden (view full) ---

58 ISA_IVAR_MSIZE_0 = ISA_IVAR_MSIZE,
59 ISA_IVAR_MSIZE_1,
60 ISA_IVAR_FLAGS,
61 ISA_IVAR_IRQ,
62 ISA_IVAR_IRQ_0 = ISA_IVAR_IRQ,
63 ISA_IVAR_IRQ_1,
64 ISA_IVAR_DRQ,
65 ISA_IVAR_DRQ_0 = ISA_IVAR_DRQ,
50#define ISA_NIRQ_IVARS 2
51#define ISA_NDRQ_IVARS 2
52
53enum isa_device_ivars {
54 ISA_IVAR_PORT,
55 ISA_IVAR_PORT_0 = ISA_IVAR_PORT,
56 ISA_IVAR_PORT_1,
57 ISA_IVAR_PORTSIZE,

--- 6 unchanged lines hidden (view full) ---

64 ISA_IVAR_MSIZE_0 = ISA_IVAR_MSIZE,
65 ISA_IVAR_MSIZE_1,
66 ISA_IVAR_FLAGS,
67 ISA_IVAR_IRQ,
68 ISA_IVAR_IRQ_0 = ISA_IVAR_IRQ,
69 ISA_IVAR_IRQ_1,
70 ISA_IVAR_DRQ,
71 ISA_IVAR_DRQ_0 = ISA_IVAR_DRQ,
66 ISA_IVAR_DRQ_1
72 ISA_IVAR_DRQ_1,
73 ISA_IVAR_VENDORID,
74 ISA_IVAR_SERIAL,
75 ISA_IVAR_LOGICALID,
76 ISA_IVAR_COMPATID
67};
68
69extern intrmask_t isa_irq_pending(void);
70extern intrmask_t isa_irq_mask(void);
71#ifdef __i386__
72extern void isa_wrap_old_drivers(void);
73#endif
74

--- 17 unchanged lines hidden (view full) ---

92
93ISA_ACCESSOR(port, PORT, int)
94ISA_ACCESSOR(portsize, PORTSIZE, int)
95ISA_ACCESSOR(irq, IRQ, int)
96ISA_ACCESSOR(drq, DRQ, int)
97ISA_ACCESSOR(maddr, MADDR, int)
98ISA_ACCESSOR(msize, MSIZE, int)
99ISA_ACCESSOR(flags, FLAGS, int)
77};
78
79extern intrmask_t isa_irq_pending(void);
80extern intrmask_t isa_irq_mask(void);
81#ifdef __i386__
82extern void isa_wrap_old_drivers(void);
83#endif
84

--- 17 unchanged lines hidden (view full) ---

102
103ISA_ACCESSOR(port, PORT, int)
104ISA_ACCESSOR(portsize, PORTSIZE, int)
105ISA_ACCESSOR(irq, IRQ, int)
106ISA_ACCESSOR(drq, DRQ, int)
107ISA_ACCESSOR(maddr, MADDR, int)
108ISA_ACCESSOR(msize, MSIZE, int)
109ISA_ACCESSOR(flags, FLAGS, int)
110ISA_ACCESSOR(vendorid, VENDORID, int)
111ISA_ACCESSOR(serial, SERIAL, int)
112ISA_ACCESSOR(logicalid, LOGICALID, int)
113ISA_ACCESSOR(compatid, COMPATID, int)
114
115void isa_dmacascade __P((int chan));
116void isa_dmadone __P((int flags, caddr_t addr, int nbytes, int chan));
117void isa_dmainit __P((int chan, u_int bouncebufsize));
118void isa_dmastart __P((int flags, caddr_t addr, u_int nbytes, int chan));
119int isa_dma_acquire __P((int chan));
120void isa_dma_release __P((int chan));
121int isa_dmastatus __P((int chan));
122int isa_dmastop __P((int chan));
123
124#endif /* KERNEL */
125
126#endif /* !_ISA_ISAVAR_H_ */