summaryrefslogtreecommitdiffstats
path: root/sys/dev
Commit message (Collapse)AuthorAgeFilesLines
* Only the USB root HUB thread is allowed to attach and detach drivershselasky2011-07-185-5/+0
| | | | | | | | to and from USB devices. Remove related DEVMETHOD() lines from USB drivers. Reported by: YongHyeon PYUN MFC after: 3 days
* Revert r222135 by allowing controller reinitialization. Due toyongari2011-07-171-0/+2
| | | | | | | | | unknown reason Apple UniNorth2 gem(4) device required manual interface down/up operation after r222135. Even though this is not correct thing and I don't like to revert it but it would be better than breaking gem(4) on PPC. This should be revisited. PR: kern/157405
* Don't ignore negatively decoded address ranges.jhb2011-07-171-7/+0
| | | | Reported by: scottl
* Restore binary compatibility for GIO_KEYMAP and PIO_KEYMAP.ed2011-07-178-8/+41
| | | | | | | | | Back in 2009 I changed the ABI of the GIO_KEYMAP and PIO_KEYMAP ioctls to support wide characters. I created a patch to add ABI compatibility for the old calls, but I didn't get any feedback to that. It seems now people are upgrading from 8 to 9 they experience this issue, so add it anyway.
* Fix for VirtualBox 4.x and other virtual machines that failhselasky2011-07-161-7/+28
| | | | | | to generate a port reset change event. MFC after: 1 weeks
* Respect the BIOS/firmware's notion of acceptable address ranges for PCIjhb2011-07-154-13/+350
| | | | | | | | | | | | | | | | | | | | resource allocation on x86 platforms: - Add a new helper API that Host-PCI bridge drivers can use to restrict resource allocation requests to a set of address ranges for different resource types. - For the ACPI Host-PCI bridge driver, use Producer address range resources in _CRS to enumerate valid address ranges for a given Host-PCI bridge. This can be disabled by including "hostres" in the debug.acpi.disabled tunable. - For the MPTable Host-PCI bridge driver, use entries in the extended MPTable to determine the valid address ranges for a given Host-PCI bridge. This required adding code to parse extended table entries. Similar to the new PCI-PCI bridge driver, these changes are only enabled if the NEW_PCIB kernel option is enabled (which is enabled by default on amd64 and i386). Approved by: re (kib)
* Improve portability #defines for compiling aicasm on other systems.emaste2011-07-158-31/+5
| | | | | Submitted by: Robert Millan rmh debian.org Obtained from: Debian GNU/kFreeBSD
* Add a missing check for the global ath_hal_debug.adrian2011-07-141-1/+3
| | | | | | This was removed accidentally when the per HAL instance code was added, and not reverted when I added back the global debug variable (for early chip setup debugging.)
* Support controllers whose option ROM is disabled in the BIOS by kickingjhb2011-07-142-2/+8
| | | | | | | | | the firmware so that it boots. PR: kern/154978 Submitted by: Andrew Boyer aboyer of averesystems com Obtained from: LSI MFC after: 1 week
* Use MFI_STAT_* constants for cmd_status field values rather than magicjhb2011-07-141-5/+6
| | | | | | | | numbers in a few places. PR: bin/145960 Submitted by: gcooper MFC after: 1 week
* Restore USB MIDI transmit buffer size to 1Kbyte.hselasky2011-07-141-1/+1
| | | | MFC after: 1 week
* Add initial support for AX88772B USB Fast Ethernet. AX88772Byongari2011-07-143-25/+125
| | | | | | | | | | | | supports IPv4/IPv6 checksum offloading and VLAN tag insertion/ stripping as well as WOL. Because uether does not provide a way to announce driver specific offload capabilities to upper stack, checksum offloading support needs more work and will be done in future. Special thanks to ASIX for donating sample hardware. H/W donated by: ASIX Electronics Reviewed by: hselasky
* Fix for dump after shutdown with USB keyboard plugged in. It appears that thehselasky2011-07-131-2/+32
| | | | | | | | | | system timer is stopped during shutdown and that the pause() statement in ukbd causes infinite hang in this regard. The fix is to use mi_switch() instead of pause() to do the required task switch to ensure that the required USB processes get executed. Reported by: Mike_Karels@mcafee.com MFC after: 1 week
* - Expand the scope of the lock in the interrupt routine to close races withmarius2011-07-131-22/+25
| | | | | | | | checking IFF_DRV_RUNNING and simplify the code. This also involves holding the driver lock in the rx_ch callout. - Just use ifp instead of sc->sc_ifp. Submitted by: jhb (mostly)
* - For SAS but neither FC nor SPI controllers default to using MSI (stillmarius2011-07-132-22/+20
| | | | | | | | | | | | allowing their use to be disabled via device hints though). This matches what the corresponding Linux driver provided by LSI does. Tested with SAS1064. - There's no need to keep track of the RIDs used. - Don't allocate MSI/MSI-X as RF_SHAREABLE. - Remove a comment which no longer applies since r209599. - Assign NULL rather than 0 to pointers. MFC after: 1 month
* PCIB_ALLOC_MSIX() may already fail on the first pass, f.e. when the PCI-PCImarius2011-07-131-1/+4
| | | | | | | | | | | bridge is blacklisted. In that case just return from pci_alloc_msix_method(), otherwise we continue without a single MSI-X resource, causing subsequent attempts to use the seemingly available resource to fail or when booting verbose a NULL-pointer dereference of rle->start when trying to print the IRQ in pci_alloc_msix_method(). Reviewed by: jhb MFC after: 1 week
* Remove extra empty lines.marius2011-07-131-11/+0
|
* Update mxge(4) firmware to the latest version available fromgallatin2011-07-124-34013/+34835
| | | | | | | Myricom (1.4.53a). MFC after: 7 days Sponored by: Myricom, Inc.
* Fix media reporting for dual port CX4 myri10ge NICsgallatin2011-07-121-1/+1
| | | | | MFC after: 7 days Sponsored by: Myricom, Inc.
* Properly align the end of a candidate back region based on the window'sjhb2011-07-121-1/+1
| | | | | | | granularity when growing a PCI-PCI window up. Tested by: dougb MFC after: 3 days
* Partially merge r223648, r223648 and r223949 from gem(4):marius2011-07-122-46/+42
| | | | | | | | | | | | - Consistently use the newly introduced sc_mac_rxcfg throughout the driver instead of reading the old content of CAS_MAC_RX_CONF. - Increment if_iqdrops instead of if_ierrors in case of RX buffer allocation failure. - According to the Cassini datasheet the RX MAC should also be disabled in cas_setladrf() before changing its configuration. - Add error messages to gem_disable_{r,t}x() and take advantage of these throughout the driver instead of duplicating their functionality all over the place.
* Correct r223648; as gem_init_locked() was calling gem_setladrf(), whichmarius2011-07-121-21/+20
| | | | | | | | | | | sets GEM_MAC_RX_CONFIG based on sc_mac_rxcfg which in turn is initialized to zero, before reading the supposedly default configuration we were effectively not basing sc_mac_rxcfg and thus GEM_MAC_RX_CONFIG on the default configuration. Solve this by calling gem_setladrf() after reading in the default configuration of GEM_MAC_RX_CONFIG. This also avoids the need to distinguish whether gem_setladrf() should enable the RX MAC again and should be slightly more correct as we're now doing all of the RX MAC configuration in the intended step.
* According to the OpenSolaris source the PCI latency and the cache line sizemarius2011-07-123-16/+29
| | | | | should be set for Sun ERI. Tested by: yongari
* Fix typo, lost 0 in SYSCTL_ADD_INT usage.ray2011-07-111-1/+1
|
* Support of Ralink Ethernet MAC, used in RT3050F/RT3052F and I belive in ↵ray2011-07-113-0/+3187
| | | | | | other Ralink SoCs. Approved by: adrian (mentor)
* Include sys/sbuf.h directly.ae2011-07-111-0/+1
|
* Remove reviewed line from copyright header.hselasky2011-07-091-1/+0
| | | | Suggested by: joel @
* Implement pci_find_class(9), the function to find a pci device by its class.kib2011-07-092-0/+16
| | | | | | Sponsored by: The FreeBSD Foundation Reviewed by: jhb MFC after: 1 week
* Add device ID for the Davicom 56PDV PCI Modem.jhb2011-07-081-0/+1
| | | | | | PR: kern/75132 Submitted by: Mike Tancsa @ Sentex (older patch against puc(4)) MFC after: 1 week
* Add new USB 3G driver.hselasky2011-07-083-0/+1844
| | | | | Submitted by: PseudoCylon <moonlightakkiy@yahoo.ca> MFC after: 14 days
* A fix to make the LINT-NOINET build happy, if thisjfv2011-07-071-3/+3
| | | | works out the ixgbe driver should be changed as well.
* With retirement of cpumask_t and usage of cpuset_t for representing aattilio2011-07-041-4/+5
| | | | | | | | | | | | | | | mask of CPUs, pc_other_cpus and pc_cpumask become highly inefficient. Remove them and replace their usage with custom pc_cpuid magic (as, atm, pc_cpumask can be easilly represented by (1 << pc_cpuid) and pc_other_cpus by (all_cpus & ~(1 << pc_cpuid))). This change is not targeted for MFC because of struct pcpu members removal and dependency by cpumask_t retirement. MD review by: marcel, marius, alc Tested by: pluknet MD testing by: marcel, marius, gonzo, andreast
* Make the USB keyboard driver more HID compliant.hselasky2011-07-043-151/+475
| | | | | | Try to auto-detect keyboards which should use the BOOT protocol. MFC after: 2 weeks
* Tag mbufs of all incoming frames or packets with the interface's FIBbz2011-07-034-0/+7
| | | | | | | | | setting (either default or if supported as set by SIOCSIFFIB, e.g. from ifconfig). Submitted by: Alexander V. Chernikov (melifaro ipfw.ru) Reviewed by: julian MFC after: 2 weeks
* Introduce a quirk for broken USB MIDI hardware instead of limiting performancehselasky2011-07-034-11/+18
| | | | | | in general. MFC after: 1 week
* Fix for "nomatch" event for ums and ukbd drivers when uhid is loaded.hselasky2011-07-021-0/+12
| | | | MFC after: 3 days
* Fix problem about USB MIDI TX data format, that some devices only accepthselasky2011-07-021-23/+30
| | | | | | | a maximum of 4 bytes (one command) per short terminated USB transfer. Optimise the TX case by sending multiple USB frames. MFC after: 1 week
* Add ID for Marvell 88SE9125 SATA controller.mav2011-06-301-0/+1
| | | | | PR: kern/157843 MFC after: 1 week
* Add detection for the Marvel 88E1149R and treat it just like theimp2011-06-302-1/+6
| | | | 88E1149.
* - Add read-only sysctls for all of the tunables supported by the igb andjhb2011-06-293-5/+53
| | | | | | | | | | | em drivers. - Make the per-instance 'enable_aim' sysctl truly per-instance by having it change a per-instance variable (which is used to control AIM) rather than having all of the per-instance sysctls operate on a single global variable. Reviewed by: jfv (earlier version) MFC after: 1 week
* Add support for a MosChip PCI express serial port adapter.hselasky2011-06-291-0/+2
| | | | MFC after: 1 week
* Fix a corner case in STA beacon processing when a CSA is received butadrian2011-06-291-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the AP doesn't transmit beacons. If the AP requests a CSA (ie, a channel switch) and then enters CAC (channel availability check) for 60 seconds, it doesn't send beacons and it just listens for radar events (and other things which we don't do yet.) Now, ath_newstate() was not resetting the beacon timer config on a transition to the RUN state when in STA mode - it was setting sc_syncbeacon, which simply updates the beacon config from the contents of the next received beacon. This means the STA never generates beacon miss events. If the AP goes into CAC for 60 seconds and recovers, the STA will happily receive the first beacon and reconfigure timers. But if it gets a radar event after that, it'll change channel again, not notify the station that it's changed channel.. and since the station is happily waiting for the first beacon to configure the beacon timer details from, it won't ever generate a beacon miss interrupt and it'll sit there forever (or until the AP appears on that channel once again.) This change forces the last known beacon timer config to be written to hardware on a transition from CSA->RUN in STA mode. This forces bmiss events to occur and the STA will eventually (after a handful of beacon miss events) begin scanning for another access point.
* Fix typo in r223648 which was accidentally committedmarius2011-06-281-1/+1
|
* - In gem_reset_rx() also reset the RX MAC which is necessary in order tomarius2011-06-282-48/+55
| | | | | | | | | | | | | | | | | get it out of a stuck condition that can be caused by GEM_MAC_RX_OVERFLOW. - In gem_reset_rxdma() call gem_setladrf() in order to reprogram the RX filter and restore the previous content of GEM_MAC_RX_CONFIG. While at it consistently use the newly introduced sc_mac_rxcfg throughout the driver instead of reading the its old content. - Increment if_iqdrops instead of if_ierrors in case of RX buffer allocation failure. - According to the GEM datasheet the RX MAC should also be disabled in gem_setladrf() before changing its configuration. - Add error messages to gem_disable_{r,t}x() and take advantage of these throughout the driver instead of duplicating their functionality all over the place. In joint forces with: yongari
* Remove duplicate header includeskevlo2011-06-2813-20/+0
|
* Make sure the extended regdomain word is initialised.adrian2011-06-282-0/+3
| | | | | As with the AR9285, the AR9287 has a default word of 0x1F which means all the various bits in that field are set on by default.
* Enable CPUSaver D102 E-step microcode loading for 82551 revisionyongari2011-06-271-0/+2
| | | | 0x10.
* Disable microcode loading for 82550 and 82550C controllers. Loadingyongari2011-06-271-0/+4
| | | | | | | | | | the microcode caused SCB timeouts. Linux driver does not allow microcode loading for these controllers and jfv also confirmed that there is no need to do and it shouldn't. PR: kern/103332 Additional confirmation from: jfv MFC after: 1 week
* Fix whitespace inconsistencies in the TTY layer and its drivers owned by me.ed2011-06-263-7/+7
|
* Fix beacon transmission after a channel set.adrian2011-06-261-0/+21
| | | | | | | | | | | | | | | | | | | | | The DFS code was tickling the channel set directly whilst going through the state RUN -> CSA -> RUN. This only changed the channel; it didn't go via ath_reset(). However in this driver, a channel change always causes a chip reset, which resets the beacon timer configuration and interrupt setup. This meant that data would go out but as the beacon timers never fired, beacons would never be queued. The confusing part is that sometimes the state transition was RUN -> SCAN -> CAC -> RUN (with CSA being in there sometimes); going via SCAN would clear sc_beacons and thus the transition to RUN would reprogram beacon transmission. In case someone tries debugging why suspending a device currently beaconing (versus just RX'ing beacons which is what occurs in STA mode), add a silly comment which should hopefully land them at this commit message. The call to ath_hal_reset() will be clearing the beacon config and it may not be always reset.
OpenPOWER on IntegriCloud