Commit Graph

69 Commits

Author SHA1 Message Date
toshii faf55ac40c Change tiocm_to_{com,zs}'s second argument to u_long to match with
the type in their caller.
2000-09-17 22:07:39 +00:00
thorpej cb450cc444 Use device_lookup(). 2000-07-06 01:47:34 +00:00
pk 321bc31690 Remove spurious splx() call. 2000-04-14 20:33:48 +00:00
hannken 43e3ea96f3 Fix typos from last commit (callout). 2000-03-24 11:46:46 +00:00
thorpej fc96443d15 New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
  resource allocation.
- Insertion and removal of callouts is constant time, important as
  this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.
2000-03-23 07:01:25 +00:00
pk 6d04005134 Check for console input and output separately.
XXX - split input/output for /dev/console is not yet supported.
2000-03-19 12:42:45 +00:00
jdc 797ac20035 Add power management hooks. 2000-03-14 21:20:51 +00:00
jonathan 0588cdfc88 Update user-level PPS-API to match -05 draft.
Change PPS_<xxx> ioctls to PPS_IOC_<xxx>.
1999-11-04 05:33:58 +00:00
jonathan b31080319e Fix nanosecond/microsecond botch in PPSAPI:
remove bogus TIMESPEC_TO_TIMEVAL() after applying any {assert,clear} offset.
1999-10-15 06:16:15 +00:00
pk c3f1aa0d3e Don't send any data upstream if we're not open yet. 1999-04-22 20:37:37 +00:00
wrstuden df93e67c02 PPS support. Copied off of com.c support, with changes as DCD interupts
are only enabled if needed and if ok'd by MD layer.
1999-03-27 01:22:36 +00:00
mycroft 568f4aa704 Minor changes to tiocm code. 1999-02-03 23:51:06 +00:00
mycroft b63b0fd80b Redo the N previous changes, plus a couple of other things:
* Move the printf() delay to just after the printf(), where it actually makes
  sense.
* Use zstty_stint() and zstty_softint() from zsparam(), to force an immediate
  update of the carrier and flow control status.  Abuse this in the attach and
  open functions to defer all of that work.  This insures that we don't lose
  any status updates.
* Don't screw with register 1 when closing the console.
* Fix bugs in TIOCM??? (stay semicolon, clearing DTR while transmitting).
* Add comments in a couple of places.
1999-02-03 20:15:51 +00:00
wrstuden 36c50aaa14 Add the patch I floated on tech-kern. Andreas Eltrich <elchy@dahoam.de>
says it got pppd working for him.
1999-01-31 21:41:00 +00:00
wrstuden ccf442a971 Fix thinko in part of rev 1.53.
Thanks to Scott for pointing this out to me (I got his mail and figured out
this change before seeing the discussion on tech-kern) and to Charles for
the initial explanation.
1999-01-25 17:53:13 +00:00
christos e79b8222a6 Put back modem control ioctl's 1999-01-13 11:55:20 +00:00
wrstuden f0559087e0 Changes to deal with mac serial ports having clock sources on DCD or CTS.
- When doing a first open, don't enable receive & status interupts before
	the MD layer has had a chance to set things up.
- Enable logic to only enable DCD/CTS interupts if we are looking for/
	expecting interupts on those pins. Disable otherwise.
- in zs_param, only pass up the state of ZSRR0_DCD if we have enabled
	interupts on that pin.

Henry Hotz (<hotz@jpl.nasa.gov>) and Greg walsh <gwalsh@artec.com> have
tried these changes to get certain printers from hanging at boot. They
work in a 1.3.2 kernel for Greg.
1998-11-23 22:10:09 +00:00
drochner 1693b8b4a6 minor changes to console handling in zstty_attach():
-wait 20ms between printf() and reconfiguring the hardware
-set cn_tab->cn_dev here because this is the place where the real minor
 number is known
1998-10-01 18:52:42 +00:00
cgd d58173741d kill the last remnants of __BROKEN_INDIRECT_CONFIG. (only the pica port
used it, and it's non-working and apparently slated for replacement.)
1998-08-31 22:28:04 +00:00
wrstuden b1bb9aa490 Oops. We do still need to set t_dev in the first open part of zsopen,
so we get ttyXX vs cuaXX right. Leave the initialization in attach.
1998-08-09 18:36:45 +00:00
wrstuden 26e55969e4 Initialize the struct tty's t_dev field at attach rather than first open.
The attach routine calls zsparam if we're setting up the console, and
zsparam needs this field to tell which zstty to set up. Otherwise, we
set up zstty0 even if it's not the console!
1998-08-09 06:17:07 +00:00
mycroft d4da63c6c3 Eliminate cs_heldchar. It is not necessary in my version of the driver. 1998-03-30 02:41:21 +00:00
mycroft 2bb5067e13 Move the code to wait for carrier on a tty into a common function, since it
depends only on device-independent state bits.
Implement SunOS-style `dialout' devices.
1998-03-22 00:55:37 +00:00
mycroft 834a8ac07a Fix pasto. 1998-03-21 04:31:10 +00:00
mycroft fd620ebb32 Replace TS_WOPEN with t_wopen, per mail on tech-kern. 1998-03-21 04:29:29 +00:00
mycroft 11b3fea04a Fix bonehead error in previous change. 1998-02-22 03:24:58 +00:00
mycroft 6ad2876b5a Similar changes to com driver:
Arrange to call com_break() and com_modem() at splserial().
It's simpler this way.  Really.
1998-02-19 21:26:10 +00:00
thorpej 095c4c092d Adjust for config changes. 1998-01-12 09:23:08 +00:00
pk 39879b883e Use a 1-character queue so polled console output can be deferred if
regular I/O has been scheduled.
1997-11-12 22:17:07 +00:00
mycroft 47c2d7502f Actually use TIOCFLAG_CDTRCTS. 1997-11-03 16:30:54 +00:00
mycroft 0e16ca013b Always leave DCD_IE and CTS_IE on for now. Needs more work in zsparam() to
make the optimization actually work right.
1997-11-03 16:15:47 +00:00
mycroft 37e260f4a6 Leave the console running with or without DDB. 1997-11-03 15:35:42 +00:00
mycroft 13e9b38191 Slight optimization in soft input routine. 1997-11-03 08:20:35 +00:00
mycroft ce29cdf2e7 Set the ring size back to 2k. 1997-11-03 06:56:28 +00:00
mycroft 7d7ecb9200 Bug fixes:
* Carrier detect (TS_CARR_ON) is based on the actual DCD bit, even if it's
  being ignored.
* Set TS_WOPEN early on in zsopen().
* Don't disable interrupts on the console during close if we have DDB.

Inert changes:
* Don't handle ZS_HWFLAG_NO_DCD here; the frontend does it.
* Deprecate `register'.
* Use SET(), CLR(), and ISSET().

More performance changes:
* Rototill receive handling; use a backpressure mechanism to prevent livelock.
* Output silo/ibuf overflow warnings at most once per minute, from a callout.
* When we exhaust the current transmit run, turn off transmit interrupts in
  zstty_txint(), so we're fairly sure we don't get another one.
1997-11-03 06:16:43 +00:00
gwr 762cc5a0fc Fix serial console support (did not turn on CLOCAL). 1997-11-03 04:34:18 +00:00
mycroft 5869b743c7 Rearrange *param() slightly to eliminate a spl.
Also fix another comment regarding DTR.
1997-11-02 09:15:41 +00:00
mycroft 76b7dd52df Add another splserial()/splzs(). 1997-11-02 08:55:52 +00:00
mycroft acd97c6676 Minimize some spl regions slightly. 1997-11-02 08:50:31 +00:00
mycroft 8914537568 If we lose HFC, assert RTS. 1997-11-02 08:29:51 +00:00
mycroft b000ee5105 Set the state of DCD_IE and CTS_IE based on what's in rr0_mask. 1997-11-02 08:02:40 +00:00
mycroft 74df2cee60 Correct a comment regarding our behaviour with DTR. 1997-11-01 20:40:36 +00:00
mycroft 8475e6c0ba Fix minor omission; write back reg 1 earlier in zsopen(). 1997-11-01 20:23:50 +00:00
mycroft 386d55a1ca Need some additional splzs() in zsopen(), and nuke one that's no longer
needed.
1997-11-01 20:15:10 +00:00
mycroft 8ffb1f6b84 Nuke the special case of heldchange for reg 5. We don't use it for flow
control any more, and the speed of changing DTR isn't really an issue.  Also,
the old code created a bug where zsparam() might have failed to set some
registers.
1997-11-01 18:15:12 +00:00
mycroft 75dc31c41d Yet more changes imported from com driver:
Change the interface to zs_hwiflow(); just have it use zst_rx_blocked.
Make zs_modem() a tiny bit faster.
Do RTS updates immediately; do not allow them to be held.
1997-11-01 17:57:14 +00:00
mycroft eb0f6686d2 Make zst_tba a u_char *. 1997-11-01 17:12:54 +00:00
mycroft 4377152a4b More changes taken from com driver:
Stop output as fast as possible when DCD is deasserted.
Do *not* automatically drop DTR when DCD is deasserted.
Only check for rr0 bits that we care about (DTR and DCD).
1997-11-01 17:09:06 +00:00
mycroft deb1d9f40a GC some unused bits.
Also, part of the previous was copied from the com driver, so DTRT.
1997-11-01 15:59:26 +00:00
mycroft 8008239563 Rearrange open sequence to make sure we catch all line status changes.
Make sure we turn on DTR and/or RTS as appropriate during open.
Rearrange close sequence so the tty is flushed before turning off interrupts.
Deal with `softcar' and the console device by silently asserting CLOCAL and
|HUPCL, as in com driver.
Do *not* fiddle with DTR when changing the line speed.
Make sure we update the tty's carrier status when CLOCAL or MDMBUF is changed.
Only change rr1 when we actually need to turn on or off TIE.
1997-11-01 15:51:23 +00:00