1/*-
2 * cyclades cyclom-y serial driver
3 * Andrew Herbert <andrew@werple.apana.org.au>, 17 August 1993
4 *
5 * Copyright (c) 1993 Andrew Herbert.
6 * All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
--- 13 unchanged lines hidden (view full) ---
22 * NO EVENT SHALL I BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
25 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
26 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
27 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 *
30 * $Id: cy.c,v 1.8 1995/07/05 12:15:52 bde Exp $
31 */
32
33#include "cy.h"
34#if NCY > 0
35/*
36 * TODO:
37 * Check that cy16's work.
38 * Implement BREAK.
--- 111 unchanged lines hidden (view full) ---
150/* We encode the cyclom unit number (cyu) in spare bits in the IVR's. */
151#define CD1400_xIVR_CHAN_SHIFT 3
152#define CD1400_xIVR_CHAN 0x0F /* XXX reduce to pack Cyclom-8Ys */
153
154/*
155 * XXX temporary kludges for 2.0 (XXX TK2.0).
156 */
157#define TSA_CARR_ON(tp) ((void *)&(tp)->t_rawq)
158#define TSA_OCOMPLETE(tp) ((void *)&(tp)->t_outq)
159#define TSA_OLOWAT(tp) ((void *)&(tp)->t_outq)
160
161#define LOTS_OF_EVENTS 64 /* helps separate urgent events from input */
162#define RB_I_HIGH_WATER (TTYHOG - 2 * RS_IBUFSIZE)
163#define RS_IBUFSIZE 256
164
165#define CALLOUT_MASK 0x80
166#define CONTROL_MASK 0x60
167#define CONTROL_INIT_STATE 0x20
--- 1964 unchanged lines hidden (view full) ---
2132 ++com->start_real;
2133#endif
2134#if 0
2135 disable_intr();
2136 if (com->state >= (CS_BUSY | CS_TTGO)) {
2137 siointr1(com); /* fake interrupt to start output */
2138 enable_intr();
2139#endif
2140
2141#if 0 /* XXX TK2.0 */
2142 if (tp->t_state & (TS_SO_OCOMPLETE | TS_SO_OLOWAT) || tp->t_wsel)
2143 ttwwakeup(tp);
2144#else
2145 if (tp->t_outq.c_cc <= tp->t_lowat) {
2146 if (tp->t_state & TS_ASLEEP) {
2147 tp->t_state &= ~TS_ASLEEP;
2148 wakeup(TSA_OLOWAT(tp));
2149 }
2150 selwakeup(&tp->t_wsel);
2151 }
2152#endif
2153
2154 splx(s);
2155}
2156
2157void
2158siostop(tp, rw)
2159 struct tty *tp;
2160 int rw;
2161{
--- 430 unchanged lines hidden ---
2 * cyclades cyclom-y serial driver
3 * Andrew Herbert <andrew@werple.apana.org.au>, 17 August 1993
4 *
5 * Copyright (c) 1993 Andrew Herbert.
6 * All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
--- 13 unchanged lines hidden (view full) ---
22 * NO EVENT SHALL I BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
25 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
26 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
27 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 *
30 * $Id: cy.c,v 1.8 1995/07/05 12:15:52 bde Exp $
31 */
32
33#include "cy.h"
34#if NCY > 0
35/*
36 * TODO:
37 * Check that cy16's work.
38 * Implement BREAK.
--- 111 unchanged lines hidden (view full) ---
150/* We encode the cyclom unit number (cyu) in spare bits in the IVR's. */
151#define CD1400_xIVR_CHAN_SHIFT 3
152#define CD1400_xIVR_CHAN 0x0F /* XXX reduce to pack Cyclom-8Ys */
153
154/*
155 * XXX temporary kludges for 2.0 (XXX TK2.0).
156 */
157#define TSA_CARR_ON(tp) ((void *)&(tp)->t_rawq)
158#define TSA_OCOMPLETE(tp) ((void *)&(tp)->t_outq)
159#define TSA_OLOWAT(tp) ((void *)&(tp)->t_outq)
160
161#define LOTS_OF_EVENTS 64 /* helps separate urgent events from input */
162#define RB_I_HIGH_WATER (TTYHOG - 2 * RS_IBUFSIZE)
163#define RS_IBUFSIZE 256
164
165#define CALLOUT_MASK 0x80
166#define CONTROL_MASK 0x60
167#define CONTROL_INIT_STATE 0x20
--- 1964 unchanged lines hidden (view full) ---
2132 ++com->start_real;
2133#endif
2134#if 0
2135 disable_intr();
2136 if (com->state >= (CS_BUSY | CS_TTGO)) {
2137 siointr1(com); /* fake interrupt to start output */
2138 enable_intr();
2139#endif
2140
2141#if 0 /* XXX TK2.0 */
2142 if (tp->t_state & (TS_SO_OCOMPLETE | TS_SO_OLOWAT) || tp->t_wsel)
2143 ttwwakeup(tp);
2144#else
2145 if (tp->t_outq.c_cc <= tp->t_lowat) {
2146 if (tp->t_state & TS_ASLEEP) {
2147 tp->t_state &= ~TS_ASLEEP;
2148 wakeup(TSA_OLOWAT(tp));
2149 }
2150 selwakeup(&tp->t_wsel);
2151 }
2152#endif
2153
2154 splx(s);
2155}
2156
2157void
2158siostop(tp, rw)
2159 struct tty *tp;
2160 int rw;
2161{
--- 430 unchanged lines hidden ---