diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2012-04-01 16:38:52 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2012-04-01 16:38:52 +0000 |
commit | 6312bdd86128eeb6257a229551801502bf5f8a1d (patch) | |
tree | fb971469f28f1fb8f28cc4ac5a15d2441a8dda1b /sys | |
parent | b37b0d3ea9a2d7a051ba9aa226552386322c6b88 (diff) |
Fix merge botch when porting this from NetBSD; we don't need to disable the
TX interrupts since the TX interrupt handler now correctly acknowledges it.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/arch/sgi/hpc/z8530tty.c | 19 |
1 files changed, 3 insertions, 16 deletions
diff --git a/sys/arch/sgi/hpc/z8530tty.c b/sys/arch/sgi/hpc/z8530tty.c index 4108ed6ea10..2886b6e7c74 100644 --- a/sys/arch/sgi/hpc/z8530tty.c +++ b/sys/arch/sgi/hpc/z8530tty.c @@ -1,4 +1,4 @@ -/* $OpenBSD: z8530tty.c,v 1.1 2012/03/28 20:44:23 miod Exp $ */ +/* $OpenBSD: z8530tty.c,v 1.2 2012/04/01 16:38:51 miod Exp $ */ /* $NetBSD: z8530tty.c,v 1.128 2011/04/24 16:27:00 rmind Exp $ */ /*- @@ -407,7 +407,7 @@ zstty_attach(struct device *parent, struct device *self, void *aux) * but we must make sure status interrupts are turned on by * the time zsparam() reads the initial rr0 state. */ - SET(cs->cs_preg[1], ZSWR1_RIE | ZSWR1_SIE); + SET(cs->cs_preg[1], ZSWR1_RIE | ZSWR1_TIE | ZSWR1_SIE); splx(s); @@ -560,7 +560,7 @@ zsopen(dev_t dev, int flags, int mode, struct proc *p) * but we must make sure status interrupts are turned on by * the time zsparam() reads the initial rr0 state. */ - SET(cs->cs_preg[1], ZSWR1_RIE | ZSWR1_SIE); + SET(cs->cs_preg[1], ZSWR1_RIE | ZSWR1_TIE | ZSWR1_SIE); /* Clear PPS capture state on first open. */ zst->zst_ppsmask = 0; @@ -862,13 +862,6 @@ zsstart(struct tty *tp) SET(tp->t_state, TS_BUSY); zst->zst_tx_busy = 1; - /* Enable transmit completion interrupts if necessary. */ - if (!ISSET(cs->cs_preg[1], ZSWR1_TIE)) { - SET(cs->cs_preg[1], ZSWR1_TIE); - cs->cs_creg[1] = cs->cs_preg[1]; - zs_write_reg(cs, 1, cs->cs_creg[1]); - } - /* Output the first character of the contiguous buffer. */ zs_write_data(cs, *zst->zst_tba); zst->zst_tbc--; @@ -1381,12 +1374,6 @@ zstty_txint(struct zs_chanstate *cs) zst->zst_tbc--; zst->zst_tba++; } else { - /* Disable transmit completion interrupts if necessary. */ - if (ISSET(cs->cs_preg[1], ZSWR1_TIE)) { - CLR(cs->cs_preg[1], ZSWR1_TIE); - cs->cs_creg[1] = cs->cs_preg[1]; - zs_write_reg(cs, 1, cs->cs_creg[1]); - } if (zst->zst_tx_busy) { zst->zst_tx_busy = 0; zst->zst_tx_done = 1; |