summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2012-04-01 16:38:52 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2012-04-01 16:38:52 +0000
commit6312bdd86128eeb6257a229551801502bf5f8a1d (patch)
treefb971469f28f1fb8f28cc4ac5a15d2441a8dda1b /sys
parentb37b0d3ea9a2d7a051ba9aa226552386322c6b88 (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.c19
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;