summaryrefslogtreecommitdiffstats
path: root/sys/dev
Commit message (Collapse)AuthorAgeFilesLines
* Fix problem caused by previous commit where some users' buttonsnjl2004-02-192-11/+2
| | | | | | | stopped returning events. Don't disable the event when removing the handler because it still needs to be enabled for the other handler. Also, remove duplicate AcpiEnableEvent calls since the install function now does this for us.
* Fix a long-standing bug where select on vchans doesn't workmatk2004-02-191-3/+13
| | | | | | (never wake up) by iterating over them when they exist. Approved by: tanimura (mentor)
* Change the disk(9) API in order to make device removal more robust.phk2004-02-1821-171/+206
| | | | | | | | | | | | | | | | | | | | | | | | Previously the "struct disk" were owned by the device driver and this gave us problems when the device disappared and the users of that device were not immediately disappearing. Now the struct disk is allocate with a new call, disk_alloc() and owned by geom_disk and just abandonned by the device driver when disk_create() is called. Unfortunately, this results in a ton of "s/\./->/" changes to device drivers. Since I'm doing the sweep anyway, a couple of other API improvements have been carried out at the same time: The Giant awareness flag has been flipped from DISKFLAG_NOGIANT to DISKFLAG_NEEDSGIANT A version number have been added to disk_create() so that we can detect, report and ignore binary drivers with old ABI in the future. Manual page update to follow shortly.
* Dont use the bio_taskqueue if we are in timeout.sos2004-02-171-2/+2
| | | | | Use taskqueue_thread rather than taskqueue_swi (maybe we should have a taskqueue_ata).
* Remove some more 'makedev' related macros.le2004-02-161-10/+0
| | | | Approved by: grog (mentor)
* We aren't D_TAPE. We aren't anything. The reasons why this was ever setmjacob2004-02-161-1/+0
| | | | at all is lost in the mists of time.
* - Clean up global data.simokawa2004-02-163-38/+58
| | | | | | - Force dcons to be the high-level console after dcons_crom has been attached. - Add a tunable to be the high-level console.
* Workaround some ACPI BIOSen which break the IO port into multiplenjl2004-02-151-1/+35
| | | | | | | | | | | | | resources. (Note that the correct range is 0x3f7,0x3f0-0x3f5.) Such devices will be detected as follows: fdc0: <Enhanced floppy controller (i82077, NE72065 or clone)> port 0x3f7,0x3f4-0x3f5,0x3f2-0x3f3,0x3f0-0x3f1 irq 6 drq 2 on acpi0 To do this, we find the minimum and maximum start addresses for the resources and use them as the base for the IO and control ports. Help from: jhb
* This is not a D_TTY driver.phk2004-02-151-1/+0
|
* Remove the static major assignment for iir(4).scottl2004-02-142-6/+1
| | | | Submitted by: phk (partially)
* Remove the static major assignment for ips(4).scottl2004-02-141-2/+0
| | | | Submitted by: phk, inspired by others.
* Fixing copyright and adding vendor cvs id.rik2004-02-141-1/+2
| | | | Approved by: imp (mentor)
* Fixing memory deallocationrik2004-02-141-13/+25
|
* Use standard style for cdevsw initialization.phk2004-02-141-2/+2
|
* Use standard style for cdevsw initializtionphk2004-02-141-9/+9
|
* Use same style for cdevsw as the rest of our drivers.phk2004-02-141-5/+5
|
* This is not a D_TTY driver.phk2004-02-141-1/+1
|
* Try again to get rid of makedev().phk2004-02-141-5/+9
|
* Test the return value of UART_PARAM(). Invalid line parameters did notmarcel2004-02-141-1/+2
| | | | | | | result in an error before. PR: kern/60284 Submitted by: Thomas Sandford <freebsduser@paradisegreen.co.uk>
* Fix hw.acpi.os_name by renaming it to hw.acpi.osname. The "_name" suffixnjl2004-02-141-7/+5
| | | | | | | | | | is reserved by the loader, and thus any tunable name with that suffix will be silently discarded. Document this in the header and man page so that other developers do not develop so many bumps on the head after banging it against the wall. Detective work by: Mark Santcroos, grehan
* Back out my last commit to syscons, things seem to be far more evilphk2004-02-131-9/+5
| | | | | | | | than suspected. and obviously nobody runs the patches I post to -current :-( Poul-Henning
* Don't use makedev() to hack up dev_t's early in boot, do it rightphk2004-02-121-5/+9
| | | | with make_dev() (and avoid doing it again later).
* Use the PCIR_BAR() macro rather than a magic number to specify the BARjhb2004-02-121-1/+1
| | | | for controller memory.
* Correct the cleanup of the alias dev_t for /dev/urandom: being anphk2004-02-121-3/+1
| | | | | | | alias it depends on the aliased dev_t and disappears automatically when that is removed. Submitted by: "Bjoern A. Zeeb" <bzeeb+freebsd@zabbadoz.net>
* Fix a whitespace nit.jhb2004-02-121-1/+1
|
* Add yet more bulletproofing. This is to guard against the case thatwpaul2004-02-111-2/+3
| | | | | ndis_init_nic() works one during attach, but fails later. Many things will blow up if ndis_init_nic() fails and we aren't careful.
* (atapi_cb): Reenable automatic retrieve of sense data on error, makingthomas2004-02-111-14/+21
| | | | | | | it asynchronous to avoid incorrect use of ata_atapicmd within an ATAPI callback. Tested by: harti
* Prefer buttons defined in the AML over the ones in the FADT. Somenjl2004-02-113-24/+42
| | | | | | | | | | | | | | systems define power/sleep buttons in both places but only deliver notifies to the ones defined in the AML. Also, reduce length of various function handler names. PR: Submitted by: Reviewed by: Approved by: Obtained from: MFC after:
* Only reset the phy when it is absolutely required.pdeuskar2004-02-103-59/+113
| | | | | | | This should fix the issues with long *init* times when you do ifconfig em0 alias. MFC after: 3 days
* Fall back to INTR_MPSAFE if INTR_FAST registration fails.scottl2004-02-091-2/+8
| | | | PR: kern/62276
* Remove condition variables and status associated with target modemjacob2004-02-081-246/+169
| | | | | | | | enabling. Instead, go to an interrupt/polled model. Fix get_lun_statep so we don't panic if there are no wildcard luns enabled. MFC after: 6 days
* Remove condition variables and status associated with target modemjacob2004-02-081-6/+2
| | | | | | enabling. Instead, go to an interrupt/polled model. MFC after: 6 days
* Allow amr(4) to get a dynamic major number instead of a static one.scottl2004-02-081-3/+0
| | | | Submitted by: Andre Guibert de Bruet
* Don't free ressources that haven't been allocated. This should fixle2004-02-081-2/+9
| | | | | | | | | | the "disappearing subdisks" problem when new subdisks can't be created due to some errors. This is in fact an ugly hack, but a more elegant solution would probably require a redesign of vinum in several places. Approved by: joerg (mentor)
* Don't hold NDIS_LOCK() around call to ndis_getstate_80211() since itwpaul2004-02-071-0/+2
| | | | may block on ndis_get_info().
* Remove the use of AACQ_COMPLETE here since there is no longer a completionscottl2004-02-071-3/+0
| | | | queue.
* Do some small cleanups to comments and remove AACQ_COMPLETE definitions sincescottl2004-02-073-7/+4
| | | | the completion queue is long-gone.
* Remove the hack of lowering AAC_MAX_FIB now that the root cause of thescottl2004-02-071-1/+1
| | | | problem was found.
* If a command has to be deferred because there are no more resources for itscottl2004-02-071-9/+11
| | | | | | | | | | | on the card, unmap it first. This allows it to be picked up properly when the queue gets kicked again. This was the root problem for the lost command (i.e. stuck in getblk/vinvalb) problem. While here, panic if commands don't map correctly instead of just silently ignoring the problem and dropping command. Also slow down the dynamic allocation of new commands. It should be safe to go back into the aac waters. Thanks to everyone who suffered through this and provided good feedback.
* Checkpoint of work in progress in cleaning up target mode. It actuallymjacob2004-02-071-16/+92
| | | | | | | seems to work well in RELENG_4. However, 5.X locking foo means that I'll have to do some quick redesign. Add ioctl handlers for ISP_GETROLE and ISP_SETROLE ioctls.
* add a count for inotifies as well as atios.mjacob2004-02-071-0/+1
| | | | MFC after: 1 week
* Reverse role defines for initiator and target mode to better match themjacob2004-02-071-4/+6
| | | | | | | | | class 3 service parameters we'd get. Steal 8 bits out of the portid u_int32_t for role information (port ids are 24 bits anyway). MFC after: 1 week
* Add case to handle ISPCTL_GET_PDB.mjacob2004-02-071-0/+9
| | | | MFC after: 1 week
* If we're defined to have a default role for target mode, make itmjacob2004-02-071-5/+4
| | | | | | just ISP_ROLE_TARGET- not both. MFC after: 1 week
* Change role defines so that they better match class 3 service parameters.mjacob2004-02-071-3/+4
| | | | | | Add ISPCTL_GET_PDB isp_control operation. MFC after: 1 week
* Reduce AAC_MAX_FIBS to work around some yet-unidentified bugs in thescottl2004-02-071-1/+1
| | | | | | | | handling of resources shortages. The driver is now so fast that it can completely fill all 512 slots on the card, but for some reason only 511 slots are being allocated. Anything that tries to go into the 512th slot gets silently lost. Both bugs need to be fixed at a later date, but this should fix the reports of hangs in getblk and vinvalb.
* - Broaden the scope of locking in aac_command_thread() again to catch somescottl2004-02-071-11/+17
| | | | | | | | | edge cases in the loop. - Try to grab a command before dequeueing the bio from the bioq. The old behaviour of requeuing deferred bios to the end of the bioq is arguably wrong. This should be fixed in the future to check the bioq head without automatically dequeueing the bio.
* Add an #ifdef _KERNEL so that this file can be used from userland.scottl2004-02-071-1/+2
|
* Make all ACPI debug layers unique again. This makes debugging a morephilip2004-02-061-6/+6
| | | | | | | pleasant experience (for certain definition of 'pleasant'). Submitted by: Mark Santcroos <marks@ripe.net> Approved by: njl (mentor)
* MFNetBSD:sanpei2004-02-061-2/+9
| | | | | | | netbsd.org -> NetBSD.org(rev.1.109) fix typo in comment(rev.1.90) add list of ``already merged''
OpenPOWER on IntegriCloud