summaryrefslogtreecommitdiffstats
path: root/sys/dev/sio
Commit message (Collapse)AuthorAgeFilesLines
* Register tty software interrupt handlers at run time using register_swi()bde1998-08-111-15/+10
| | | | | | | instead of at compile time using ifdefs. Use _swi_null instead of dummycamisr. CAM and dpt should call register_swi() instead of hacking on ihandlers[] directly.
* Changed %n to %r in devfs name format strings. %n has almost gone away.bde1998-07-151-7/+7
|
* Avoid some panics in sio_unload which gets called with various dirtphk1998-06-241-1/+9
| | | | if the attach of a modem card failed.
* Don't log "unexpected" events on never-opened devices. Events leftbde1998-06-161-11/+4
| | | | | | | | over from the probe are now expected for incompatible UARTs that deliver IRQs as a strobe (low) instead of a level (high). Discard events on going-away devices too. Endless loops may have been possible when an active pccard was removed.
* This commit fixes various 64bit portability problems required fordfr1998-06-071-2/+2
| | | | | | | | | | FreeBSD/alpha. The most significant item is to change the command argument to ioctl functions from int to u_long. This change brings us inline with various other BSD versions. Driver writers may like to use (__FreeBSD_version == 300003) to detect this change. The prototype FreeBSD/alpha machdep will follow in a couple of days time.
* Force success of the probe (after doing it as before except in onebde1998-06-031-4/+5
| | | | | | | | | | | | | | miscconfigured case) if the port is the console. This fixes several bugs: - if all sioprobe()s failed, then the console driver followed null pointers in cdevsw[]. - if the sioprobe() for the console failed but another sioprobe() succeeded, then init hung early when the console couldn't be opened. - it was silly for the console to not be there after printing boot messages on it. Bugs introduced by this are hopefully no worse than old ones caused by forcing the success of the `cn' level probe.
* Fixed a printf() arg botch in the previous commit.bde1998-06-031-7/+6
| | | | | | | | | Only complain about an irq mismatch in the probe if the configured irq doesn't become active, and then print the bitmap of irqs that became active (including clock irqs) instead of just the first (not including clock irqs). Bugs reported by: msmith
* Converted the ICU-level interrupt tests (3, 5 and 8) in sioprobe() intobde1998-05-311-22/+27
| | | | | | | | | a test of the irq number, and made failure of this test non-fatal. Removed related unused complications for the APIC_IO case. Removed the no-test3 flag. Deverbosified the failure messages for the other tests. Removed the per-port verbose flag - just use the general verbose flag.
* LoadSoftModem() routine at sio.c does not trap general serial I/Os.phk1998-05-201-2/+2
| | | | | | | | It fauls to probe eather DSI Modem or others. PR: 4657 Reviewed by: phk Submitted by: Kenji Saito <marukun@mx2.nisiq.net>
* The PnP code in 2.2.6 detects the Motorola ModemSurfer 56K,phk1998-05-131-1/+2
| | | | | | | | | but doesn't do much of anything with it. I added it to siopnp_ids[] and it was found and recognized as a serial port. PR: 6605 Reviewed by: phk Submitted by: Dave Marquardt <marquard@zilker.net>
* Detect USR PnP x2 modem.phk1998-05-041-1/+2
| | | | | | PR: 6496 Reviewed by: phk Submitted by: Kurt D. Zeilenga <Kurt@Boolean.NET>
* PCCARD-code related style nits, as requested.msmith1998-02-271-4/+4
| | | | Submitted by: bde
* Fix some style nits and remove an unused header.msmith1998-02-271-2/+1
| | | | Submitted by: bde
* - If a PCCARD serial device is removed from the system, let the serialnate1998-02-141-2/+2
| | | | | driver 'break out' of the infinite loop waiting for a response from it. This is a bad thing, but no worse than having the kernel hang.
* Implement the spirit but not the letter of Terrys hot-char patch.phk1998-02-131-11/+2
| | | | | | | The differences Terrys patch and this patch are: * Remove a lot of un-needed comments. * Don't put l_hotchar at the front of stuct linesw, there is no need to. * Use the #defines for the hotchar in the SLIP and PPP line disciplines
* Make all file-system (MFS, FFS, NFS, LFS, DEVFS) related option new-style.eivind1998-01-241-1/+2
| | | | | | | | This introduce an xxxFS_BOOT for each of the rootable filesystems. (Presently not required, but encouraged to allow a smooth move of option *FS to opt_dontuse.h later.) LFS is temporarily disabled, and will be re-enabled tomorrow.
* 1. Supporting a bogus 16550A compatible PCMCIA CARD stuffsamurai1998-01-081-4/+71
| | | | | | | | | | | | | | | | | | | - IIR_TXRDY is never off even if reading a IIR register. - Know as PIAFS "Palido 321S", "DC-*S" oemed by Sharp corp. 2. Omiting a restrict probing if it's already probed by pccardd. Note: Define a new id_flags as follows 0x40000 - NO PROBE (Already probed as serial) 0x80000 - Has a bogus IIR_TXRDY register Sato Junichi <junichi@astec.co.jp> Nrihiro Kumagai <kuma@slab.tnr.sharp.co.jp> Hirao Tetsuya <ai.cs.fujitsu.co.jp> Toshiharu Asai <asai@mbc.infoshere.or.jp> Shin'ya Kumabuchi <kumabu@t3.rim.or.jp> Freebsd-users-jp@jp.freebsd.org bsd-nomads@ai.cs.fujitsu.co.jp
* Fixed initialization of the divisor latch. We depended on siocnopen()bde1997-12-281-2/+21
| | | | | | initializing it for the (usual) (siocniobase != 0) case, but siocnopen() doesn't initialize it if the latch registers already have the correct values.
* Always call ttwwakeup() before returning from comstart(). It isn'tbde1997-12-281-1/+2
| | | | | | necessary to call it when the tty layer's output state has not been changed, but siostop() sometimes changes the TS_BUSY state and then calls comstart() mainly for its side effect of calling ttwwakeup().
* Make COMPAT_43 and COMPAT_SUNOS new-style options.eivind1997-12-161-1/+2
|
* Use ENOIOCTL instead of -1 (= ERESTART) for tty ioctls that arebde1997-12-061-3/+3
| | | | | not handled at a particular level. This fixes mainly restarting of interrupted TIOCDRAINs and TIOCSETA{W,F}s.
* - Renamed <pccard/card.h> -> <pccard/cardinfo.h>.nate1997-11-201-2/+2
| | | | | Forgotten by: me Reminded by: Bruce
* - MF22: (I reversed these). Simplify code.nate1997-11-021-2/+3
|
* - Instead of relying on a functional call to register PCARD-capable drivers,nate1997-10-261-8/+3
| | | | | | | | use a Linker Set. Note, if a driver is loaded as an LKM if will have to use the function call, but since none of the existing drivers are loadable, this made things cleaner and boot messages nicer. Obtained from: PAO-970616
* - Functional changes to PCCARD support.nate1997-10-261-41/+15
| | | | | | | | | | * Kill individual drivers 'suspend' routines, since there's no simple/safe way to suspend/resume a card w/out going through the complete probe at initialization time. * Default to using the apm_pccard_resume sysctl code, which basically pretends the card was removed, and then re-inserted. Suspend/resume is now 'emulated' with a fake insert/removal. (Hence we no longer need the driver-specific suspend routines.)
* - Do a bunch of gratuitous changes intended to make the code easier tonate1997-10-261-41/+41
| | | | | | | | | | | | follow. * Rename/reorder all of the pccard structures, change many of the member names to be descriptive, and follow more closely other 'bus' drivers naming schemes. * Rename a bunch of parameter and local variable names to be more consistant in the code. * Renamed the PCCARD 'crd' device to be the 'card' device * KNF and make the code consistant where it was obvious. * ifdef'd out some unused code
* Last major round (Unless Bruce thinks of somthing :-) of malloc changes.phk1997-10-121-2/+2
| | | | | | | | Distribute all but the most fundamental malloc types. This time I also remembered the trick to making things static: Put "static" in front of them. A couple of finer points by: bde
* aha1542.c aic6360.c cy.c fd.c ft.cgibbs1997-09-211-5/+8
| | | | | | | | | | | | if_ie.c if_wl.c if_zp.c isa.c isa_device.h labpc.c mcd.c ncr5380.c scd.c seagate.c si.c sio.c tw.c ultra14f.c wcd.c wd.c: Update for changes in the callout interface. apic_vector.s icu_vector.s ipl.s ipl_funcs.c: Add CAM software/hardware interrupt support.
* teach sio how to attach to isa PnP cards. This is mainly for use withjmg1997-09-191-13/+122
| | | | | | | | | | | | | | | | internal modems. Currently detects a USR modem, and a couple Supra modems... vendor id's for sio capabile cards welcomed... document new option EXTRA_SIO that will increase sio's internal data structures to support X more serial ports... these are used by the PnP part of sio for attaching... If you don't have it specified, it will default to 2... This is defaulted to 0 if you don't have PnP compiled into your kernel... also document that if you set the PnP flags (pnp x flags y) to 0x1 that the modem will be refused to be recognized by the sio driver... this is for people that want the traditional isa driver to probe and attach the modem... (for keeping legacy sio numbering)
* Update select -> poll in drivers.peter1997-09-141-2/+2
|
* General cleanup of the sub-system locking macros.fsmp1997-09-011-69/+40
| | | | | | | | Eliminated the RECURSIVE_MPINTRLOCK. clock.c and microtime use clock_lock. sio.c and cy.c use com_lock. Suggestions by: Bruce Evans <bde@zeta.org.au>
* Created a private simple_lock to control accesses to com data structsfsmp1997-08-311-51/+76
| | | | | | | | | | and hardware. There is now another simple_lock around clock data/hardware accesses in clock.c and microtime.s. It is my belief that this is the only area sio/cy might stumble into during an unblocked INTerrupt. Thus I separated the sio/cy code from the generic disable_intr()/enable_intr() routines. Controlled by smptests.h: USE_COMLOCK, ON by default.
* Another round of lock pushdown.fsmp1997-08-301-39/+21
| | | | | | | | | Add a simplelock to deal with disable_intr()/enable_intr() as used in UP kernel. UP kernel expects that this is enough to guarantee exclusive access to regions of code bracketed by these 2 functions. Add a simplelock to bracket clock accesses in clock.c: clock_lock. Help from: Bruce Evans <bde@zeta.org.au>
* Fixed a warning about undefined isa_irq_pending(). (UP kernel only)fsmp1997-08-211-4/+4
|
* Moved the COM_LOCK and COM_UNLOCK macros to machine/param.h.fsmp1997-08-211-10/+1
|
* Preperation for moving cpl into critical region access.fsmp1997-08-201-1/+48
| | | | | | | | Several new fine-grained locks. New FAST_INTR() methods: - separate simplelock for FAST_INTR, no more giant lock. - FAST_INTR()s no longer checks ipending on way out of ISR. sio made MP-safe (I hope).
* Added include of intr_machdep.h to eliminate compiler warning for APIC_IO.fsmp1997-08-041-2/+3
|
* Removed unused #includes.bde1997-07-201-2/+1
|
* Add some support for the 16650 type UARTS.dyson1997-07-171-8/+47
|
* Bring back CONSPEED as a last-ditch default if you can't change the speedpst1997-06-042-4/+9
| | | | | | any other way. Requested by: dfr
* If the boot blocks were using the serial port, read the system consolepst1997-06-042-11/+119
| | | | | | | | | | | | speed using the boot blocks, instead of a hardcoded value stuck in the kernel. This way, you can have systems using the same kernel but different console speeds. Add a sysctl entry for changing the system console speed. Lock the user tty speed to match the system console speed. Nuke CONSPEED. Reviewed by: bde
* I've given up on the idea of sizing FIFO's. You can set it with a flagphk1997-06-011-68/+15
| | | | value now, if you know that you have a fifo deeper than 16.
* No longer need opt_smp.h herepeter1997-05-291-2/+1
|
* Whoops, missed a zero there. Flags 0x10000 it is.phk1997-05-181-2/+2
|
* Flags 0x1000 on sio now disables the dreaded test#3.phk1997-05-181-2/+3
| | | | PR: 3395
* Detect various supersets of 16550A based on fifo depth.phk1997-05-181-4/+39
| | | | | | PR: i386/3523 Reviewed by: phk Submitted by: vak@cronyx.ru
* Man the liferafts! Here comes the long awaited SMP -> -current merge!peter1997-04-261-1/+12
| | | | | | | | | | | | | | | | There are various options documented in i386/conf/LINT, there is more to come over the next few days. The kernel should run pretty much "as before" without the options to activate SMP mode. There are a handful of known "loose ends" that need to be fixed, but have been put off since the SMP kernel is in a moderately good condition at the moment. This commit is the result of the tinkering and testing over the last 14 months by many people. A special thanks to Steve Passe for implementing the APIC code!
* Don't call timeout() for DTR wakeup or busy check if the relevant timeoutbde1997-04-181-5/+11
| | | | | is already active. This fixes "timeout table full" panics under 100% interrupt load and other weird conditions.
* Removed defaults for dead options CONADDR and CONUNIT.bde1997-04-051-15/+1
|
* Use device flags instead of options for serial console configurationbde1997-04-051-23/+53
| | | | | | | | | (see LINT). There is a new low-level console type that is more suitable for use with gdb-remote. Fixed setting of speed at probe time for the serial console (if any). Reviewed by: dfr
OpenPOWER on IntegriCloud