summaryrefslogtreecommitdiffstats
path: root/sys/isa
Commit message (Collapse)AuthorAgeFilesLines
...
* - Make the sio_inited handling more properly MP safe.jhb2001-10-201-2/+6
| | | | | - If we are booting with a serial console, then pass the MTX_QUIET flag to mtx_init of the sio lock as otherwise KTR_VERBOSE simply doesn't work.
* Hack for the "out-of-sync" error.yokota2001-10-131-109/+152
| | | | | | | | | | | | | | | | | | | | | | | | | | - Count the number of this error. - When the error is detected for the first time, the psm driver will throw few data bytes (up to entire packet size) and see if it can get back to sync. - If the error still persists, the psm driver disable/enable the mouse and see if it works. - If the error still persists and the count goes up to 20, the psm driver reset and reinitialize the mouse. The counter is reset to zero. - It also discards an incomplete data packet when the interval between two consequtive bytes are longer than pre-defined timeout (2 seconds). The last byte which arrived late will be regarded as the first byte of a new packet. This is louie's idea. You may see the following error logs during the above operations: "psmintr: delay too long; resetting byte count" "psmintr: out of sync (%04x != %04x)" "psmintr: discard a byte (%d)" "psmintr: re-enable the mouse" "psmintr: reset the mouse" MFC after: 1 month
* Remove an unneeded variable declaration and statement.robert2001-10-091-2/+0
| | | | Approved by: jake
* Add PnP ID 'IBM3781' for TP240 mouse.takawata2001-10-031-0/+1
|
* Add support for 28800 baud to sio.jlemon2001-09-291-0/+1
| | | | | PR: 30906 Submitted by: "Daniel O'Connor" <darius@chowder.dons.net.au>
* Gate low level console output on mtx_lock_spin(&sio_lock), if thejlemon2001-09-271-0/+4
| | | | | | sio_lock has been initialized. This prevents the low level console output (kernel printf) from clobbering the sio settings if the system happens to be in the middle of comstart().
* Yet another turn of workaround for psm/ACPI/PnP BIOSyokota2001-09-252-39/+84
| | | | | | | problems currently experienced in -CURRENT. This should fix the problem that the PS/2 mouse is detected twice if the acpi module is not loaded on some systems.
* Reinitialize the keyboard after the ACPI resume event.yokota2001-09-231-1/+10
| | | | | | | | | I am not sure if this is absolutely necessary on all systems. Yet, there certainly are motherboards and notebook systems which require this, although there are other systems which just don't. I hope we shall know when to do this on which systems, as the development of our ACPI subsystem progresses... (I know we didn't need this for the APM resume.)
* Tweak so I can use a serial console on ia64.dfr2001-09-221-1/+1
|
* Recognize two cheap PCI 16550 devices :murray2001-09-161-2/+4
| | | | | | | CyberSerial (1-port) 16550 Oxford Semiconductor Dual Port 16550 Sort the list of PCI devices while I'm here.
* Handle "identifier strings" right. Each ISA PnP card must have ayokota2001-09-151-2/+12
| | | | | | | | | | | | mandatory "card" identifier string. A logical devices on the ISA PnP card may optionally have a "device" identifier string. Do not confuse them. The "card" identifier string is assigned to a logical device as the default description string when the device is found. (If the "card" identifier string has not been found, use the EISA PnP ID string. Strictly speaking, this is an error.) We will override it when a "device" identifier string is found later.
* Refine ACPI/PnP BIOS probe/attach routines a bit.yokota2001-09-152-14/+37
| | | | | | | | | | | - Add workaround for the problematic PnP BIOS which does not assign irq resource for the PS/2 mouse device node; if there is no irq assigned for the PS/2 mouse node, refer to device.hints for an irq number. If we still don't find an irq number in the hints database, use a hard-coded value. - Delete unused ivars. - Bit of clean up in probe/attach. - Add PnP ID for the PS/2 mouse port on some IBM ThinkPad models.
* KSE Milestone 2julian2001-09-125-29/+29
| | | | | | | | | | | | | | Note ALL MODULES MUST BE RECOMPILED make the kernel aware that there are smaller units of scheduling than the process. (but only allow one thread per process at this time). This is functionally equivalent to teh previousl -current except that there is a thread associated with each process. Sorry john! (your next MFC will be a doosie!) Reviewed by: peter@freebsd.org, dillon@freebsd.org X-MFC after: ha ha ha ha
* Add a missing newline to an error message.dd2001-09-091-1/+1
| | | | | PR: 30436 Submitted by: Joerg Lehners <Lehners@Informatik.Uni-Oldenburg.DE>
* Update the atkbdc, atkbd, and psm drivers to probe/attachyokota2001-09-063-125/+279
| | | | | | | | more cleanly and consistently in all APCI, PnP BIOS, and "hint" cases. NOTE: this doesn't necessarily solve the problem that the PS/2 mouse is not detected after the recent ACPI update.
* Rework the ISA PnP driver pnp and the PnP resource parser to fixyokota2001-09-056-350/+659
| | | | | | | | | | | | | | | | | | | | | | | | the following bugs. - When constructing a resource configuration, respect the order in which resource descriptors are read, in order to establish the correct mapping between the descriptors and configuration registers. "Plug and Play ISA Specification, Version 1.0a", Sec 4.6.1, May 5, 1994. "Clarifications to the Plug and Play ISA Specification, Version 1.0a", Sec 6.2.1, Dec. 10, 1994. - Do not ignore null (empty) descriptors; they are valid descriptors acting as filler. "Clarifications to the Plug and Play ISA Specification, Version 1.0a", Sec 6.2.1. - Correctly set up logical device configuration registers for null resources. "Clarifications to the Plug and Play ISA Specification, Version 1.0a" - Handle null resources properly in the resource allocator for the ISA bus.
* Reenable RTC interrupts after wakeup. Some laptops have a problemiwasaki2001-09-041-1/+22
| | | | | | | | | with system statistics monitoring tools (such as systat, vmstat...) because of stopping RTC interrupts generation. Restore all the timers (RTC and i8254) atomically. Reviewed by: bde MFC after: 1 week
* Add a new field, id_config_attr to the struct isa_device.yokota2001-09-033-1/+14
| | | | | It will be later used to store some flags to control PnP device configurations.
* Add ID for the Best Data Smart One 56SPS Voice modem.murray2001-08-311-0/+1
| | | | | PR: kern/24851 Submitted by: Daniel Rudy <dcrudy@aol.com>
* Correct the ID for the ALS0120 PnP Joystick. It is different from themurray2001-08-311-1/+1
| | | | | | | ALS0110. PR: kern/22617 Submitted by: Mike Holling <myke@fks.bt>
* Add OMRON ME5614ISA PnP modem.murray2001-08-311-0/+1
| | | | | PR: kern/22801 Submitted by: Ryuzo Okada <R.Okada@mm.neweb.ne.jp>
* Add PCI device IDs for Kuotech dual port serial cards.murray2001-08-311-0/+2
| | | | | | | Also give example of the flags needed to use these cards. PR: kern/21242 Submitted by: Shigeki Moride <moride@portside.net>
* Add ACPI attachments.msmith2001-08-306-0/+6
|
* Safety-check against empty PnP ID lists.msmith2001-08-301-1/+1
|
* Fix the so-called "half-baked-probe" code that I wrote a long time agoimp2001-08-161-0/+2
| | | | | | | | | | | | | | to properly clear the interrupt register on the no error case. Also, set the mcr register to zero when we find we can't support the chip. This fixes the hang on sio driver attach problem in the new pci pccard code that some people have reported. At least on my machine. I'd like to get this into 4.4. Submitted by: bde PR: kern/29742 MFC after: 1 day
* DO NOT ALLOCATE 2+K OBJECTS ON THE KERNEL STACK!!!!julian2001-08-101-12/+25
| | | | found by: Getting my u-area overwritten
* Return consistent key action codes at key press and releaseyokota2001-07-201-0/+1
| | | | | | | | | | events. Otherwise you would see unexpected results if shift or locking keys are defined to give different actions depending on other shift/locking keys' state. Please keep the ukbd module and the kernel in sync, otherwise the USB keyboard won't work after this change. MFC after: 10 days
* Hrmpf. nyan's rev 1.25 commit to fdc.h crossed with my removal of it.joerg2001-07-141-0/+17
| | | | Back-integrate his (PC98) changes into fd.c.
* Yet another large non-function change.joerg2001-07-142-292/+271
| | | | | | | | | | | | | | | | | | | | . Integrate fdc.h into fd.c, with the removal of ft(4) there's no longer a reason to scatter things across two files. . Sanitize comments. Convert them into the style(9)-recommended multi-line form, make them sentences where apprpriate, etc. . Declare all functions on top, and declare them in the order they appear in the file. This order is totally chaotic, but Bruce convinced me that reordering the file wouldn't make it better either. . Kill a `possibly uninitialized' warning (only seen with -O2) in fd_read_status(). . Make the comments at return (0|1) statements in fdstate() consistent. . Nuke a ``keep the compiler happy'' dummy return at the end of fdstate(), gcc is smart enough to detect that it would never be reached anyway.
* - Refine pc98 supports.nyan2001-07-141-0/+17
| | | | | - Use bus_space stuff. - Rename FDO_* -> FDC_* (obtained from NetBSD/pc98)
* Log when the user is turning debugging on/off.joerg2001-07-091-5/+9
| | | | | | | Also sanitize the TRACE* macros a bit so they syntactically behave like single C statements (even inside in `if' statement). Submitted by: des
* Hmpf, remove two variables that got unused by rev 1.214.joerg2001-07-091-2/+1
|
* Ouch, calculate correctly. With 300 rpm and 25 retries, it's 5 secondsjoerg2001-07-091-1/+1
| | | | till timeout.
* Remove parts of rev 1.211 again: do not delete our children iff theyjoerg2001-07-091-7/+0
| | | | | | haven't been probed successfully. It's a known bug that ISA hints processing instantiates those devices, and prematurely killing them has other unwanted side-effects.
* As des' example shows us, DMA overruns could happen in a situationjoerg2001-07-092-9/+38
| | | | | | | | where they will never succeed. Add a stop-gap measure that will at least eventually timeout the operation instead of retrying it indefinately. MFC after: 1 month
* Another large patchset from Bruce.joerg2001-07-081-158/+113
| | | | | | | | | | | | | | | Despite of a few cosmetic things like adding ``irritating silly parentheses'' around all return values, this mainly improves FDC reset handling by no longer gratuitously resetting the FDC all the time (which causes it to lose the notion of the current track) but only in case of errors, and it sanitizes the block and offset calculations in fdstrategy() and fdstate(). Some additional cleanup added by me, in particular the large switch in fdstate() now always uses return to break out, and no branch falls off the end of the switch statement anymore. Per Bruce's suggestion, removed M_NOWAIT from the malloc()s to simplify things. Submitted by: bde (mostly)
* More cleanup when detaching. Clone device entries will now bejoerg2001-07-041-17/+41
| | | | | | | | | | | | | | | | | | | | | destroyed properly (otherwise bad things would happen after a clone dev had been created, and the module was kldunloaded). Allocated children that have not successfully probed are being deleted again (otherwise fd0 and fd1 have always been allocated, even if only fd0 was acutally present, and fd1 even survived kldunloading the module). Still, kldunloading leaves remnants of the previously existing devices intact. Why doesn't it destroy all the devices? As a consequence, since dev->descr now points into no longer allocated memory, the system panics deep inside printf(9) when running devinfo(1) after kldunloading the module. Ideas sought... Also, when kldloading the module on a hints-populated isab0, this bus somehow has already created an fdc0 entry (a dummy) so the load attempt fails and will register fdc1 instead. What are those dummy entries for? Loading the module from the bootloader works, and it can be unloaded an re-loaded then later.
* Remove the resume method. It is not necessary any more, becauseyokota2001-06-301-7/+0
| | | | | keyboard drivers have it now... MFC after: 4 weeks
* Add the device resume method to keyboard drivers.yokota2001-06-301-0/+14
| | | | MFC after: 4 weeks
* Use the new-born BIO_CMD1 instead of fudging a bio_flag value for readingjoerg2001-06-291-116/+72
| | | | | | | | | | | | | | | | | the sector ID. Based on numerous comments made by Bruce, rewrite a good part of the old fdformat() function, and merge it with fdreadid() into a single unified fdmisccmd() function. Various style and a couple of more serious bugs fixed there. While i was at it, i also fixed the long-standing "TODO: don't allocate buffer on stack." in fdcioctl(), fixed a number of style bugs there, and finally implemented the FD_DEBUG ioctl command that has been advertised in <sys/fdcio.h> (formerly <machine/ioctl_fd.h>) for almost seven years now. ;-) Submitted by: bde (a lot of fixes for fdformat())
* This change slipped through hidden in a CVS conflict. Logically belongsjoerg2001-06-291-3/+3
| | | | to the previous commit (fix resource deallocation).
* First stab at fixing resource deallocation, and implementing fdc(4) asjoerg2001-06-291-10/+24
| | | | | | | | | | | a KLD. Still doesn't work well except in the PCMCIA case (now if only pccardd(8) could load and unload drivers dynamically...). Mainly, it tries to find fdc0 on the PCI bus for whatever obscure reasons, but i need someone who understands driver(9) to fix this. However, it's at least already better than before, and i'm tired of maintaining too many private changes in my tree, given the large patches bde submitted. :) Idea of a KLD triggered by: Michael Reifenberger <root@nihil.plaut.de>
* Merge in parts of a larger patchset i received from Bruce. Untestedjoerg2001-06-281-41/+38
| | | | | | | | | | | | | | | | | | | by now (except of a compile test), but i believe this to contain no actual functional changes. . Fix the copyright of the Regents i accidentally broke in rev 1.197 (although only a very small part of the original driver survived at all...). . Bump MAX_CYLINDER since some obscure formats really use more than 80 cylinders. . Correctly handle BIO_FORMAT which used to be a bitmask but is now a BIO command of its own. . Numerous stylistic fixes. Submitted by: bde
* Implement a new ioctl command for floppies: FD_READIDjoerg2001-06-261-8/+92
| | | | | Reads one sector ID field from a given track. Useful for analyzing floppies.
* Some more cosmetics: kill another couple of K&R function definitionsjoerg2001-06-261-28/+4
| | | | | that survived from old days, fix style of return type in fdcpio(), kill old Emacs hints that are no longer working that way anyway.
* Convert inb/outb to bus_space.nsouch2001-06-232-25/+34
| | | | Submitted by: jcm@FreeBSD-uk.eu.org
* Cosmetics:joerg2001-06-201-33/+3
| | | | | | | | | | . staticize out_fdc(), there's no longer an ft(4) driver sharing its use . remove in_fdc(), has been used by ft(4) last time, long since obsoleted by fd_in() . move the declaration of fd_clone() to where most of the other function declarations are . de-__P()ify fd_clone(), it's been the only _P()ed function in the entire file
* The serial console break-to-debugger support only functioned whileiedowse2001-06-201-1/+21
| | | | | | | | | | | | | | the console device was open. At other times, the interrupts that are used to detect the break signal or ~^B sequence were disabled, so these events would not be noticed until the next open (e.g. the next kernel printf). This was mainly a problem while there was no getty running on the console, such as during bootup or shutdown. For serial consoles with break-to-debugger support, we now enable the generation of interrupts at attach time, and we leave them enabled while the device is closed. Reviewed by: bde (I've since made chages as per his suggestions)
* Fix warning:peter2001-06-151-1/+1
| | | | 163: passing arg 4 of `resource_string_value' from incompatible pointer type
* Hints overhaul:peter2001-06-123-28/+23
| | | | | | | | | - Replace some very poorly thought out API hacks that should have been fixed a long while ago. - Provide some much more flexible search functions (resource_find_*()) - Use strings for storage instead of an outgrowth of the rather inconvenient temporary ioconf table from config(). We already had a fallback to using strings before malloc/vm was running anyway.
OpenPOWER on IntegriCloud