summaryrefslogtreecommitdiffstats
path: root/sys/dev
Commit message (Collapse)AuthorAgeFilesLines
* Squelch spurious "gigabit link up" messages generated on some fiber NICswpaul2003-07-111-4/+19
| | | | | | | | | | | | | | | | | | | | (mainly the 3Com 3c996B/BCM5701). For some reason that I don't fully understand, the 5701 signals PCS encoding errors as though they were link change events, i.e. the 'link state changed' bit in the status word of the status block is updated and an interrupt is generated. This would cause the bge_tick() function to be invoked and a "gigabit link up" message to be printed on the console. To avoid this, the interrupt handler now checks the MAC status register when a link change interrupt is triggered, and it will only call the bge_tick() function if the 'PCS encoding error detected' bit is clear. (This change should have no effect on copper NICs since this bit can only ever be set in TBI mode. I do not know how it affects 5704 NICs with a BCM8002 SERDES PHY.) Special thanks to: Sherry Rogers at UCB for allowing me access to one of their traffic monitor boxes so I could diagnose this problem.
* Fix i386 assembly constraints. The same register cannot bekan2003-07-111-3/+3
| | | | in output and clobber lists at the same time.
* Regenerate.wpaul2003-07-102-5/+12
|
* Add support for a bunch of Microsoft networking products:wpaul2003-07-104-0/+36
| | | | | | | | - MN-110 10/100 USB ethernet (ADMtek Pegasus II, if_aue) - MN-120 10/100 cardbus (ADMtek Centaur-C, if_dc) - MN-130 10/100 PCI (ADMtek Centaur-P, if_dc) Also update dc(4) man page to mention support for MN-120 and MN-130.
* Rewrite much of the embedded controller driver.njl2003-07-101-311/+263
| | | | | | | | | | | | | | | | | | | | * Always use polled mode. The intr approach did not work for many controllers and required the hw.acpi.ec.event_driven workaround. * Only use an edge (not level) triggered GPE handler * Add sc->ec_mtx for locking operations to a single EC. There were many race conditions earlier between an SCI event and EcRead/Write. * Use 1 ms as the global lock timeout * Only acquire global lock if _GLK != 0 * Update EcWaitEvent to use an incremental backoff delay in its poll loop. Wait 50 ms max instead of 10. Most ECs respond in < 5 us (50 us when heavily loaded). However, some time out occasionally even with a 10 ms timeout. For delays past 1 ms, use msleep instead of DELAY to give SCI interrupts a chance to occur. * Add EcCommand to send a command and wait for the appropriate event. * The hw.acpi.ec.event_driven tunable is no longer applicable and has been removed. Ideas from: Linux
* Use the default arguments for lockfunc and lockfuncarg inharti2003-07-105-14/+23
| | | | | | | | | | | | | | | bus_dma_tag_create. We need to be sure that our packets are kept in-sequence (that's how ATM is supposed to work) and therefor use BUS_DMA_NOWAIT in all calls to bus_dmamap_load. For memory allocated with bus_dmamem_alloc the use of anything other than NULL arguments for the locking is anyway bogus because this memory never should need bouncing and hence the load should never be defered. Allow the receipt of OAM and RM cells on raw connections. Caveat: it seems that RM cells are still processed by the hardware even when we open the connection as UBR.
* Handle the EINPROGRESS case of bus_dmamap_load() for data buffers.scottl2003-07-092-49/+54
|
* Fix a missing } that got dropped from the last commit.scottl2003-07-091-0/+1
|
* Add a new quirk for cards that incorrectly interpret the amount of memoryscottl2003-07-093-3/+12
| | | | in the system. This might also have a small performance gain.
* - Fix a typo in the call to acpi_disabled() in probe() by removing anjhb2003-07-091-1/+2
| | | | | | | | | extra trailing space. - Don't bother probing a generic ISA bus device if isab0 already exists. Some BIOSes place an ACPI psuedo-device with the HID of a generic ISA bus device under the PCI-ISA bridge device. This is not the best solution but will work for now. The isa bus driver only allows for one ISA bus anyways.
* Add ID for UMAX Astra 2100Uache2003-07-091-0/+1
|
* Make the dc(4) driver endian-clean, so to that it works on sparc64.mux2003-07-092-45/+56
| | | | | | | There are such cards in Netra X1 boxes, which should thus be fully supported now. Tested by: jake
* Configuraiton ROM fix:simokawa2003-07-091-8/+26
| | | | | | - Don't bump the generation if ROM has not changed and keep it between 0x2 and 0xf. - Refetch the ROM if CRC of the businfo block has changed.
* Add an ACPI to ISA psuedo bridge driver. It attaches an isab(4) device tojhb2003-07-081-0/+129
| | | | | | | | | ACPI nodes with the plug and play ID's defined for a "Generic ISA Bus Device" as defined in section 10.7 of the ACPI 2.0 specification. This gives machines like the Libretto that contain a fake ISA bus that is not connected via a PCI-ISA bridge an ISA bus for ISA devices to attach to. Tested by: markm
* - Make the isab devclass global to allow for multiple ISA bridge drivers.jhb2003-07-081-12/+7
| | | | | | | - Factor out code common to all ISA bridge drivers attach methods into a isab_attach() function. - Rename the PCI-ISA bridge driver's attach function to pci_isab_attach() and have it call isab_attach().
* Add a workaround for the USB_PRODUCT_MCT_SITECOM_USB232 device: limitwpaul2003-07-071-1/+4
| | | | | | | the bulk out buffer size to 16 bytes. The bulk out endpoint descriptor reports 32 bytes, but if you use this value, data will get dropped. Reviewed/approved by: scottl
* * add a function to display a complete feeder chain on the console, forcg2003-07-072-1/+18
| | | | | | | | | debugging. * set the parent of non-format feeders, so that sndstat doesn't miss out things like feeder_rate. MFC: 1 week
* Add corega PCCL-11 to match entry added to pccarddevs a while ago.imp2003-07-071-0/+1
| | | | Noticed going into openbsd...
* Reset the PSM aux device twice to help pierce through some KVM's tomikeh2003-07-071-0/+9
| | | | | | get the correct data from the attached mouse. Multiple resets should be harmless, but just in case, the second one is non-fatal and is just ignored.
* * support ich5cg2003-07-061-9/+14
| | | | | | | PR: kern/53242 Submitted by: Shin-ichi Yoshimoto <yosimoto@waishi.jp> (partly) Tested by: Dominic Marks <dom@cus.org.uk> (version in PR) MFC after: 1 week
* Convert the dc(4) driver to the busdma API. This is a necessary stepmux2003-07-062-117/+304
| | | | | | | | | | | | | | | to have this driver working on sparc64. It still needs to be made endian-clean before it can work there. Special thanks to dragonk@evilcode.net for sending me a dc(4) card so that I was able to do this work. Many cheers to all the people that tested this change, thanks to them, this change shouldn't break anything :-). Tested by: marcel (i386 and ia64), ru (i386), wilko (alpha), mbr (i386), wpaul (i386) and Will Saxon <WillS@housing.ufl.edu> (i386)
* Fix a bug that could cause dc(4) to m_freem() an already freedmux2003-07-061-1/+2
| | | | | | mbuf or something that isn't an mbuf. MFC after: 3 days
* Various style(9) and readability fixes.mux2003-07-061-14/+22
|
* * add support for amd-768 audio, as used on many dual athlon boards. onlycg2003-07-061-19/+23
| | | | | | | | | | | tested for playback. * modify device name strings for ich chips to better conform with their common names. * remove superflous 'AC97 controller' from nforce device names. MFC after: 1 week
* Fix a signedness problem in zstty_cncheckc(): when no character is ready,tmm2003-07-051-1/+1
| | | | | | -1 should be returned, but it was assigned to an uint8_t (which is extended to an int to form the return value), causing 255 to be returned instead.
* remove \n at end of panic strings. They are added by the call to panic.jmg2003-07-044-26/+26
| | | | | | This brings us more in line with Net/OpenBSD Obtained from: Net/OpenBSD
* Add compatibility for FreeBSD-4.simokawa2003-07-044-5/+21
|
* Delete a superfluous semi-colon.harti2003-07-041-1/+1
| | | | Pointed out by: nick@garage.freebsd.pl
* The em(4) driver has been converted to busdma and doesn't usemux2003-07-041-5/+0
| | | | | vtophys() anymore, so remove the alpha hack which defines vtophys() to alpha_XXX_dmamap().
* WARNING: white space diffjmg2003-07-0434-311/+309
| | | | | | This code reduces the number of trailing white space to be more in line w/ NetBSD. I don't regenerate usbdevs, saving that for when it really changes.
* Due to extreme bogusness in the pci bus layer, these drivers wereimp2003-07-034-10/+14
| | | | | | | | | forced to do slightly bogus power state manipulation. However, this is one of those features that is preventing further progress, so mark them as BURN_BIRDGES like I did for the drivers in sys/dev/... This, like the other change, are a no-op unless you have BURN_BRIDGES in your kernel.
* All current uses of pci_set_powerstate are bogus, at least in theory.imp2003-07-036-12/+19
| | | | | | | | | | However, they are presently necessary due to bigger bogusness in the pci bus layer not doing the right thing on suspend/resume or on initial device probe. This is exactly the sort of thing that the BURN_BRIDGES option was invented for. Mark all of them as BURN_BRIDGES. As soon as I have the powerstate stuff properly integrated into the pci bus code, I intend to remove all these workarounds.
* Revert the previous commit, it snuck in by accident.scottl2003-07-031-10/+0
| | | | Submitted by: ru
* - Use the new resource_disabled() helper function to see if devices arejhb2003-07-028-23/+12
| | | | | | | | | | | | disabled. - Change the apm driver to match the acpi driver's behavior by checking to see if the device is disabled in the identify routine instead of in the probe routine. This way if the device is disabled it is never created. Note that a few places (ips(4), Alpha SMP) used "disable" instead of "disabled" for their hint names, and these hints must be changed to "disabled". If this is a big problem, resource_disabled() can always be changed to honor both names.
* Make the bus_dma_tag_create use NULL for the lock arguments. We areharti2003-07-021-5/+6
| | | | | | | | | | | | careful to call all map_load calls with BUS_DMA_NOWAIT because we really don't want some PDUs to wait while others go out - ATM guarantees the ordering of cells and also of PDUs (within one VC, that is). With BUS_DMA_NOWAIT bus_dmamap_load should never return EINPROGRESS. Make the tag used for transmission buffers one larger than the maximum AAL5 PDU (65535). This is needed, because all PDU sizes need to be round up to multiple of four for the card and PDUs that are just below the maximum size will be rounded up to 65536
* Update the SATA support code to work more correctly withsos2003-07-023-57/+121
| | | | | | | | | | real SATA disks now that I can test it. Add support for the SiI 3112 SATA chip using memory mapped I/O. Update the support for the SiI 0680 to use the memio interface as well. Sponsored by: David Leimbach <leimy2k@mac.com> (3112 based controller) Sponsored by: FreeBSD Systems (www.FreeBSDsystems.com) (SATA disks)
* Change the sleep identifier to "-" where random normally sleeps.phk2003-07-021-1/+1
|
* Mega busdma API commit.scottl2003-07-0194-116/+401
| | | | | | | | | | | | | | | | | | | | | | | | Add two new arguments to bus_dma_tag_create(): lockfunc and lockfuncarg. Lockfunc allows a driver to provide a function for managing its locking semantics while using busdma. At the moment, this is used for the asynchronous busdma_swi and callback mechanism. Two lockfunc implementations are provided: busdma_lock_mutex() performs standard mutex operations on the mutex that is specified from lockfuncarg. dftl_lock() is a panic implementation and is defaulted to when NULL, NULL are passed to bus_dma_tag_create(). The only time that NULL, NULL should ever be used is when the driver ensures that bus_dmamap_load() will not be deferred. Drivers that do not provide their own locking can pass busdma_lock_mutex,&Giant args in order to preserve the former behaviour. sparc64 and powerpc do not provide real busdma_swi functions, so this is largely a noop on those platforms. The busdma_swi on is64 is not properly locked yet, so warnings will be emitted on this platform when busdma callback deferrals happen. If anyone gets panics or warnings from dflt_lock() being called, please let me know right away. Reviewed by: tmm, gibbs
* Add PnP PS/2 id for Dell Latitude X200.mikeh2003-07-011-0/+1
| | | | | PR: 48516 MFC after: 2 weeks
* Some gem and hme hardware bogusly has the intpin register hardwired totmm2003-07-012-7/+12
| | | | | 0; detect this case and correct it. While being there, clean up nearby comments.
* Add a new PCI interface method, assign_interrupt, to determine thetmm2003-07-015-6/+25
| | | | | | | | | | | | | | | | interrupt to be used for a device. This is intended solely for internal use of PCI bus implementations, and exists so that PCI bus drivers implementing special interrupt assignment methods which require additional work at the bus level to work right can be easily derived from the generic driver (or any other one) without resorting to hacks. It will be used in the sparc64 ofw_pcibus driver, which will be committed shortly. Make use of this method in the generic implementation, and add it to the method table of bus drivers derived from the PCI one. Reviewed by: imp, -hackers
* Allow to write the intpin ivar using the pci_set_intpin() accessor. Theretmm2003-07-011-1/+3
| | | | | | | | are some Sun PCI devices around which bogusly set intpin to 0, although they use the intline mechanism; this allows the device driver to correct that. Reviewed by: imp
* Regen.joe2003-07-012-2/+9
|
* USB scanner support for Mustek BearPaw scanner.joe2003-07-012-0/+2
| | | | Submitted by: netchild
* Fix tsleep/wakup race on FreeBSD-4.simokawa2003-07-011-2/+14
|
* Regen.joe2003-07-012-2/+9
|
* Support the Epson GT-9300UF usb scanner.joe2003-07-012-0/+2
| | | | PR: kern/53929
* free_drive: Free the drive even if it's referenced. I don't know whatgrog2003-07-011-12/+7
| | | | | I was smoking when I wrote this stuff, but another fix resulted in every partition in the system being entered as a "referenced" drive.
* Include file clean up.simokawa2003-06-303-4/+11
|
* acknowledge the contribution of Atsushi Onoesam2003-06-301-0/+3
|
OpenPOWER on IntegriCloud