summaryrefslogtreecommitdiffstats
path: root/sys/dev
Commit message (Collapse)AuthorAgeFilesLines
* - Add a locked variant of jme_start() and invoke it directly while holdingjhb2011-01-132-25/+22
| | | | | | | | | | | the lock instead of queueing it to a task. - Do not invoke jme_rxintr() to reclaim any unprocessed but received packets when shutting down the interface. Instead, just drop these packets to match the behavior of other drivers. - Hold the driver lock in the interrupt handler to avoid races with ioctl requests to down the interface. Reviewed by: yongari
* Use software interrupt priorities for USB kthreads instead of hardwarejhb2011-01-131-2/+4
| | | | | | | interrupt priorities. Reviewed by: hps MFC after: 2 weeks
* Forgot to remove unlock of the driver lock from age_start_locked() whenjhb2011-01-131-2/+0
| | | | | | converting it to a locked variant. PR: kern/153948
* Make sure to invoke unlocked foo_start since the taskqueue does notyongari2011-01-121-1/+1
| | | | | | | hold a driver lock. This should fix a regression introduced in r216925. PR: kern/153769
* sysctl(9) cleanup checkpoint: amd64 GENERIC builds cleanly.mdf2011-01-1221-100/+102
| | | | Commit the rest of the devices.
* sysctl(9) cleanup checkpoint: amd64 GENERIC builds cleanly.mdf2011-01-123-24/+24
| | | | Commit the cxgb driver piece.
* sysctl(9) cleanup checkpoint: amd64 GENERIC builds cleanly.mdf2011-01-124-239/+239
| | | | Commit the Intel drivers.
* For re(4) controllers that uses new jumbo frame scheme(RTL8168C/D/E),yongari2011-01-121-2/+7
| | | | | | | | | | | | | | | | | | | limit maximum RX buffer size to RE_RX_DESC_BUFLEN instead of blindly configuring it to 16KB. Due to lack of documentation, re(4) didn't allow jumbo frame on these controllers. However it seems controller is confused with jumbo frame such that it can DMA the received frame to wrong address instead of splitting it into multiple RX buffers. Of course, this caused panic. Since re(4) does not support jumbo frames on these controllers, make controller drop frame that is longer than RE_RX_DESC_BUFLEN sized frame. Fortunately RTL810x controllers, which do not support jumbo frame, have no such issues but this change also limited maximum RX buffer size allowed to RTL810x controllers. Allowing 16KB RX buffer for controllers that have no such capability is meaningless. MFC after: 3 days
* A couple problems discovered by Andrew Boyer:jfv2011-01-121-3/+11
| | | | | | | | | - failure code in em_xmit got mangled along the way and was not properly handling errors. - local timer code had a leftover UNLOCK call that should be removed. MFC after 3 days
* Work around a witness(4) panic introduced in r217238.jkim2011-01-111-8/+26
| | | | Reported by: jh
* Fix a witness(4) warning introduced in r217238.jkim2011-01-111-13/+18
|
* Improve or fix some comments. No functional change.gavin2011-01-111-10/+10
| | | | MFC after: 1 week
* Remove unneeded includes of <sys/linker_set.h>. Other headers that usejhb2011-01-1184-84/+0
| | | | | | it internally contain nested includes. Reviewed by: bde
* When driver is not running, do not send DUMP command to controlleryongari2011-01-101-0/+5
| | | | | | and just show old (cached) values. Controller will not respond to the command unless MAC is enabled so DUMP request for down interface caused request timeout.
* Implement TSO on RealTek RTL8168/8111 C or later controllers.yongari2011-01-101-21/+19
| | | | | | | | | | | | RealTek changed TX descriptor format for later controllers so these controllers require MSS configuration in different location of TX descriptor. TSO is enabled by default for controllers that use new descriptor format. For old controllers, TSO is still disabled by default due to broken frames under certain conditions but users can enable it. Special thanks to Hayes Wang at RealTek. MFC after: 2 weeks
* Add IDs for HighPoint RocketRAID 64x controllers.mav2011-01-101-0/+2
| | | | | | | | | | | | These controllers consist of two Marvell 88SE9128 6Gbps SATA chips and PLX PCIe bridge. As result, they seem to be agree to work with ahci(4) as usual HBAs. The only noticed issue is that RAID BIOS disables all drive caches during boot, though `camcontrol cmd ...` is able to fix that. Those who wants RAID functionality can still use closed proprietary driver from HighPoint site. MFC after: 1 week
* Remove impossible error conditions.jkim2011-01-101-4/+2
|
* Add forgotten free(9) in the previous commit for an error case.jkim2011-01-101-0/+1
|
* Allow AcpiOsInstallInterruptHandler() and AcpiOsRemoveInterruptHandler() tojkim2011-01-102-84/+149
| | | | | | | | | install or remove non-SCI interrupt handlers per ACPI Component Architecture User Guide and Programmer Reference. ACPICA may install such interrupt handler when a GPE block device is found, for example. Add a wrapper for ACPI_OSD_HANDLER, convert its return values to ours, and make it a filter. Prefer KASSERT(9) over panic(9) as we have never seen those in reality. Clean up some style(9) nits and add my copyright.
* Prefer KASSERT(9) over panic(9) as it was never seen in reality.jkim2011-01-101-2/+1
|
* Apply DMA address space restriction to controllers that have 4GByongari2011-01-101-1/+11
| | | | | | | | | | | | DMA boundary bug and runs with PCI-X mode. watchdog timeout was observed on BCM5704 which lives behind certain PCI-X bridge(e.g. AMD 8131 PCI-X bridge). It's still not clear whether the root cause came from that PCI-X bridge or not. The watchdog timeout indicates the issue is in TX path. If the bridge reorders TX mailbox write accesses it would generate all kinds of problems but I'm not sure. This should be revisited. Tested by: Michael L. Squires (mikes <> siralan dot org)
* Backout r216973 and r216970. r216973 didn't solve watchdog timeoutyongari2011-01-101-11/+1
| | | | | | | issue seen on PCIX BCM5704 controller. r216970 fixed the issue but the DMA address space restriction was applied to all bge(4) controllers such that it caused unnecessary performance degradation for controllers that have no such issues.
* Add support for the Zeagle N2iTion3 Dive Computer to uplcom(4). This bringsgavin2011-01-092-0/+2
| | | | | the list of supported devices in sync with kernel.org git revision f36ecd5de93e4c85a9e3d25100c6e233155b12e5, and OpenBSD uplcom.c r1.54
* Sync the list of devices supported by uslcom(4) with Linux, bringing ingavin2011-01-092-1/+27
| | | | | | | | | all new devices added between our r211022 and their git revision 93ad03d60b5b18897030038234aa2ebae8234748 Also correct a Foxconn entry. MFC after: 1 week
* CSUM flags need to be OS version sensitive in ixv codejfv2011-01-071-0/+4
| | | | MFC in 3 days
* kern/150247 - virtualization code also needs fix for 7.X to be buildable...jfv2011-01-071-1/+1
| | | | MFC in 3 days
* Fix to kern/150247 - make ixgbe buildable for 7.xjfv2011-01-071-1/+1
|
* kern/153772 fix variable names.jfv2011-01-071-2/+2
| | | | | | Thank you Andrew Boyer for catching these MFC in 3 days
* Don't try to free an unassigned pointer.bschmidt2011-01-071-4/+1
| | | | | Submitted by: Paul B Mahol <onemda at gmail.com> MFC after: 1 week
* Use a regular taskqueue rather than a fast taskqueue for mxge(4).jhb2011-01-071-3/+2
| | | | Reviewed by: gallatin
* Remove bogus usage of INTR_FAST. "Fast" interrupts are now indicated byjhb2011-01-061-1/+1
| | | | | registering a filter handler rather than a threaded handler. Also remove a bogus use of INTR_MPSAFE for a filter.
* Remove an unnecessary INTR_MPSAFE and a comment suggesting it wasjhb2011-01-061-3/+1
| | | | unnecessary.
* Support the Uniform Industrial Corp (UIC) MSR206 Magnetic Card Reader.gavin2011-01-062-0/+2
| | | | MFC after: 1 week
* Update firmware to more recent versions.mjacob2011-01-053-54738/+56691
| | | | MFC after: 3 months
* Remove a redundant variable assignment found with the clang static analyzer.marius2011-01-051-1/+1
| | | | MFC after: 1 week
* Limit hardware bug workaround to controllers that have 4GB boundaryyongari2011-01-041-1/+4
| | | | | | | bug instead of blindly applying it to all controllers. Pointed out by: marius MFC after: 3 days
* Partially revert change made in r212061. r212061 relied onyongari2011-01-041-1/+8
| | | | | | | | | | | | | | | bus_dma(9)'s capability which honors boundary restrictions of DMA tag for dynamic buffers. However it seems this does not work well and it triggered watchodg timeouts on controller that has the hardware bug. It's not clear whether there is still another hardware bug not mentioned in errata. This should be revisited since this change shall make use of bounce buffers which in turn reduces performance a lot on systems that have more than 4GB memory. Reported by: Michael L. Squires (mikes <> siralan dot org) Tested by: Michael L. Squires (mikes <> siralan dot org) MFC after: 3 days
* Clarify the previous commit. AcpiFinishGpe() will not clear GPE for usjkim2011-01-041-1/+3
| | | | because we set it to edge-trigger.
* Make "options XENHVM" compile for i386, not just amd64 -- a largelyrwatson2011-01-044-2/+10
| | | | | | | | | mechanical change. This opens the door for using PV device drivers under Xen HVM on i386, as well as more general harmonisation of i386 and amd64 Xen support in FreeBSD. Reviewed by: cperciva MFC after: 3 weeks
* Finish r210923, 210926. Mark some devices as eternal.kib2011-01-042-3/+4
| | | | MFC after: 2 weeks
* Clear GPE from a query handler if the task was deferred.jkim2011-01-041-8/+11
|
* Wait for commands to complete 10 times longer. This makes my A-DATA 32GB SDHCpjd2011-01-041-2/+2
| | | | | | | card being detected. Reviewed by: imp MFC after: 2 weeks
* Fix parameters for wakeup(9) and tsleep(9).jkim2011-01-031-2/+2
| | | | MFC after: 3 days
* Add a 'locked' variant of the foo_start() routine and call it directlyjhb2011-01-0310-87/+65
| | | | | | | | from interrupt handlers and watchdog routines instead of queueing a task to call foo_start(). Reviewed by: yongari MFC after: 1 month
* Fix endianness bug introduced in r205091.yongari2010-12-311-1/+1
| | | | | | | | | | | | | After controller updates control word in a RX LE, driver converts it to host byte order. The checksum value in the control word is stored in big endian form by controller. r205091 didn't account for the host byte order conversion such that the checksum value was incorrectly interpreted on big endian architectures which in turn made all TCP/UDP frames dropped. Make RX checksum offload work on any architectures by swapping the checksum value. Reported by: Sreekanth M. ( kanthms <> netlogicmicro dot com ) Tested by: Sreekanth M. ( kanthms <> netlogicmicro dot com )
* The mwl's HAL manages an array of MWL_MBSS_MAX VAPs where the first 8 arebschmidt2010-12-311-1/+1
| | | | | | | | | | | supposed to be APs and the later 24 are pre-configured as STAs. A wrong condition during initialization is responsible for not configuring the last 8 array members. This is results in being able to create more than 8, possible uninitialized, AP-VAPs. PR: kern/153549 Submitted by: Erik Fonnesbeck <efonnes at gmail.com> MFC after: 2 weeks
* Remove debugging leftovers.yongari2010-12-311-5/+0
|
* Add driver for DM&P Vortex86 RDC R6040 Fast Ethernet.yongari2010-12-313-0/+2571
| | | | | | | | | | | | The controller is commonly found on DM&P Vortex86 x86 SoC. The driver supports all hardware features except flow control. The flow control was intentionally disabled due to silicon bug. DM&P Electronics, Inc. provided all necessary information including sample board to write driver and answered many questions I had. Many thanks for their support of FreeBSD. H/W donated by: DM&P Electronics, Inc.
* Add RDC Semiconductor R6040 10/100 PHY driver.yongari2010-12-303-0/+344
|
* The RX path is missing a few bus_dmamap_*() calls, this results inbschmidt2010-12-301-3/+15
| | | | | | | | | | modification of memory which was already free'd and eventually in: wpi0: could not map mbuf (error 12) wpi0: wpi_rx_intr: bus_dmamap_load failed, error 12 and an usuable device. PR: kern/144898 MFC after: 3 days
OpenPOWER on IntegriCloud