summaryrefslogtreecommitdiffstats
path: root/sys/dev
Commit message (Collapse)AuthorAgeFilesLines
* Add support for the ASUS P535 PDAremko2008-08-022-0/+2
| | | | | | | PR: kern/126097 Submitted by: Anton Kartashev <amokk@seb.org.ua> Approved by: imp (mentor, implicit) MFC after: 3 days
* Use the new bus device_shutdown hook for performing the shutdown actionjhb2008-08-013-9/+19
| | | | | on the ee16 parts rather than explicitly registering an event handler that wasn't being torn down on detach.
* - Use an sx lock to serialize writes since they update the checksum.jhb2008-08-011-3/+14
| | | | | | | - Remove D_NEEDGIANT as the rtc drivers already have their own locks, so this doesn't need Giant. MFC after: 1 week
* Enable the support for G33/Q35/Q33 now that both the G33 and Q35 have beenjhb2008-08-011-2/+0
| | | | | | | tested: PR: amd64/126090 MFC after: 1 week
* remove socketvar.h, add more selective includeskmacy2008-07-314-6/+15
|
* Data type fixjfv2008-07-311-2/+2
|
* Unbreak the build by including sys/socketvar.hps2008-07-314-3/+7
|
* Include netinet/tcp_lro.h, unbreak the buildps2008-07-301-1/+1
|
* Merge of the source for igb and em into dev/e1000, thisjfv2008-07-3050-10133/+1420
| | | | | | | | | | | proved to be necessary to make the static drivers work in EITHER/OR or BOTH configurations. Modules will still build in sys/modules/igb or em as before. This also updates the igb driver for support for the 82576 adapter, adds shared code fixes, and etc.... MFC after: ASAP
* fix includes for post sockbuf re-factorkmacy2008-07-305-142/+12
|
* Use single byte read and write operations to toggle the BIOS and OSjhb2008-07-302-14/+14
| | | | | | semaphores rather than 4 byte operations. MFC after: 1 month
* This updates the ixgbe driver to Intel internal version 1.4.7jfv2008-07-3010-423/+396
| | | | | | Shared code changes, core driver fixes, vlan event/filter support Also Kip Macy's fix to allow any number of queues, thanks Kip!
* Free the correct buffer list on failure.thompsa2008-07-302-2/+2
|
* style(9) - space after keywords, don't indent case.yongari2008-07-291-64/+63
|
* Cache PCI vendor/device ids to avoid unnecessary PCI configurationyongari2008-07-291-7/+4
| | | | | space access in device probe. Also nuke referencing softc in device probe.
* s/printf/device_printf/gyongari2008-07-292-23/+19
| | | | | Don't hard code function name in device_printf() and use __func__. While I'm here nuke bfe_unit in softc as it's not needed anymore.
* Export the hardware type (as number and name), the secondary firmwareimp2008-07-282-19/+45
| | | | | | revision and (on Prism cards) the primary firmware revision via sysctl. Move the printing of this information under bootverbose, since it is relatively easy to get to it now.
* Fix buffer discard index.yongari2008-07-281-1/+4
| | | | | | | | | While I'm here dicard all buffers if errored frame is part of multi-segmented frames. Pointed out by: sephe Reviewd by: sephe MFC after: 3 days
* Register the interrupt handler at the end of wi_attach rather than atimp2008-07-261-13/+11
| | | | | | | | the beginning. There's a race in the shared interrutp case. If another interrupt happens after the interrupt is setup, then we'd try to lock an uninitialized mutex. In addition, if we bailed out due to a too old version of firmware, we'd leave the interrupt enabled with all the fun that ensues....
* Fill in sysctl descriptions.trhodes2008-07-261-10/+18
| | | | Approved by: philip
* - Add driver for Dallas Semiconductor DS1339 RTC sittingstas2008-07-251-0/+232
| | | | | | | | on I2C bus. Reviewed by: raj Approved by: imp MFC after: 2 week
* - Provide kernelname as the name for process with P_KTHREAD set asjeff2008-07-251-1/+5
| | | | | | | otherwise their textvp is NULL. Reviewed by: jkoshy Sponsored by: Nokia
* Add tweak for AMD Geode "companion" chip, AMD CS5536, which is apparentlyivoras2008-07-241-1/+10
| | | | | | | | | USB 2.0 capable but is shy and doesn't adwertise it much. PR: 120017 Reviewed by: imp Approved by: gnn (mentor) MFC after: 2 weeks
* Don't include <sys/tty.h> in non-TTY drivers.ed2008-07-244-4/+6
| | | | | | | | | | The kbd, kbdmux, ugen and uhid drivers included <sys/tty.h>, because they needed clists, which have been moved to <sys/clist.h> some time ago. In the MPSAFE TTY branch, <sys/tty.h> does not include <sys/clist.h>, which means we have to teach these drivers to include this header file directly. Approved by: philip (mentor, implicit)
* Further refine the probe order of devices to more closely match the previousjhb2008-07-231-9/+4
| | | | | | | | behavior. Specifically, probe Host-PCI bridges in the order they are encountered in the tree. For CPUs, just use an order of 100000 and assume that no Host-PCI bridges will be more than 10000 levels deep in the namespace. This fixes an issue on some boxes where the HPET timer stopped attaching.
* SATA device on some nForce based boards could get confused if MSI is notluoqi2008-07-233-5/+59
| | | | | | | | | | | | | | | used but MSI to HyperTransport IRQ mapping is enabled, and would act as if MSI is turned on, resulting in interrupt loss. This commit will, 1. enable MSI mapping on a device only when MSI is enabled for that device and the MSI address matches the HT mapping window. 2. enable MSI mapping on a bridge only when a downstream device is allocated an MSI address in the mapping window PR: kern/118842 Reviewed by: jhb MFC after: 1 week
* o Fix style(9) bugs and similar nits.marius2008-07-223-472/+477
| | | | | | | o Merge ncr53c9x.c from NetBSD: 1.115: fix variable shadowing 1.118: __inline -> inline 1.121: fix empty if
* remove call to unsafe tcp_twstart functionkmacy2008-07-211-20/+1
|
* Allocate a single CCB at the start of the main loop of the RAID monitoringjhb2008-07-211-4/+4
| | | | | | | | | | kthread of the mpt(4) driver that hangs around for the entire lifetime of the thread. Previously the driver would allocate a new CCB using M_WAITOK with a lock held each time it updated its state. While here, use the CAM API for allocating a CCB rather than raw malloc(9). Reviewed by: scottl MFC after: 1 week
* remove unneeded declarationskmacy2008-07-211-3/+0
|
* remove local version of tcp_offload_* functionskmacy2008-07-212-57/+0
|
* update syncache function nameskmacy2008-07-211-2/+2
|
* remove cxgb local definition of locked syncache_expandkmacy2008-07-212-15/+0
|
* remove cxgb local definitions of socket accessor functionskmacy2008-07-213-250/+18
|
* While spin-waiting for the mailbox semaphore to update, do flushing reads ofscottl2008-07-201-1/+4
| | | | PCI bus so that we don't have to wait more than needed.
* new vendor PHY supportkmacy2008-07-181-0/+225
|
* import vendor fixes to cxgbkmacy2008-07-1813-171/+715
|
* Correct 1000Mbps link handling logic for JMC250. This should makeyongari2008-07-181-1/+1
| | | | jme(4) run on 1000Mbps link.
* Use DELAY() instead of pause if waiting time is less than 1ms.yongari2008-07-181-2/+2
| | | | | | This will fix driver hang if hz < 1000. Pointed out by: thompsa
* Fix a benign typo that would give out an incorrect warning message.luoqi2008-07-171-4/+3
| | | | | Change a get-or-set sequence on OHCI_COMMAND_STATUS register which is "write to set" to a simple set.
* Clean up mxge's use of callouts as pointed out by jhb,gallatin2008-07-171-36/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | and handle NIC hardware watchdog resets. - remove buggy code at the top of mxge_tick() which tried to detect a race which is already detected in the kernel's callout code. - move callout_stop() and callout_reset() into mxge_close() mxge_open() rather than doing the callout manipulation all over the place. - use callout_drain(), rather than callout_stop() to prevent a potential race between mxge_tick() and mxge_detach() which could lead to softclock using a destroyed mutex - restructure the mxge_tick() and mxge_watchdog_reset() routines to avoid resetting a callout, and then immediately stopping it if the watchdog reset routine is called, and fails. - enable the driver to handle NIC hardware watchdog resets by restoring the NIC's PCI config space, which is lost when the NIC hardware watchdog triggers. Reviewed by: jhb (previus version)
* Fix a multicast handling regression on VT6105M introduced inyongari2008-07-162-25/+60
| | | | | | | | | | | | | | | | | | | | | | | vr(4) overhauling(r177050). It seems that filtering multicast addresses with multicast CAM entries require accessing 'CAM enable bit' for each CAM entry. Subsequent accessing multicast CAM control register without toggling the 'CAM enable bit' seem to no effects. In order to fix that separate CAM setup from CAM mask configuration and CAM entry modification. While I'm here add VLAN CAM filtering feature which will be enabled in future(FreeBSD now can receive VLAN id insertion/removal event from vlan(4) on the fly). For VT6105M hardware, explicitly disable VLAN hardware tag insertion/stripping and enable VLAN CAM filtering for VLAN id 0. This shall make non-VLAN frames set VR_RXSTAT_VIDHIT bit in Rx status word. Added multicast/VLAN CAM address definition to header file. PR: kern/125010, kern/125024 MFC after: 1 week
* Fix VR_RXSTAT_RX_OK bit definition which lasted for more than 9yongari2008-07-162-3/+4
| | | | | | | | | | | | | years. All datasheet I have indicates the bit 15 is the VR_RXSTAT_RX_OK. The bit 14 is reserved for all Rhine family except VT6105M. VT6105M uses that bit to indicate a VLAN frame with matching CAM VLAN id. Use the VR_RXSTAT_RX_OK instead of VR_RXSTAT_RXERR when vr(4) checks the validity of received frame. This should fix occasional dropping frames on VT6105M. Tested by: Goran Lowkrantz ( goran.lowkrantz at ismobile dot com ) MFC after: 1 week
* Add quirk for Dell D630 laptops.delphij2008-07-151-1/+7
| | | | | | | Tested by: Quake Lee <quakelee geekcn org>, Robert Noland <rnoland 2hip net> MFC after: 1 week Approved by: ariff
* A number of significant enhancements to the ciss driver:scottl2008-07-114-150/+494
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. The FreeBSD driver was setting an interrupt coalesce delay of 1000us for reasons that I can only speculate on. This was hurting everything from lame sequential I/O "benchmarks" to legitimate filesystem metadata operations that relied on serialized barrier writes. One of my filesystem tests went from 35s to complete down to 6s. 2. Implemented the Performant transport method. Without the fix in (1), I saw almost no difference. With it, my filesystem tests showed another 5-10% improvement in speed. It was hard to measure CPU utilization in any meaningful way, so it's not clear if there was a benefit there, though there should have been since the interrupt handler was reduced from 2 or more PCI reads down to 1. 3. Implemented MSI-X. Without any docs on this, I was just taking a guess, and it appears to only work with the Performant method. This could be a programming or understanding mistake on my part. While this by itself made almost no difference to performance since the Performant method already eliminated most of the synchronous reads over the PCI bus, it did allow the CISS hardware to stop sharing its interrupt with the USB hardware, which in turn allowed the driver to become decoupled from the Giant-locked USB driver stack. This increased performance by almost 20%. The MSI-X setup was done with 4 vectors allocated, but only 1 vector used since the performant method was told to only use 1 of 4 queues. Fiddling with this might make it work with the simpleq method, not sure. I did not implement MSI since I have no MSI-specific hardware in my test lab. 4. Improved the locking in the driver, trimmed some data structures. This didn't improve test times in any measurable way, but it does look like it gave a minor improvement to CPU usage when many processes/threads were doing I/O in parallel. Again, this was hard to accurately test.
* Don't leak DMA map if not freed.delphij2008-07-111-0/+2
| | | | Submitted by: kevlo
* Detect ATA controllers in the Macbook3.remko2008-07-102-3/+5
| | | | | | | PR: 118135 Submitted by: ed Approved by: imp (mentor, implicit) MFC after: 1 week
* Improve the EEPROM parsing, based on finding a datasheet that describesimp2008-07-092-37/+46
| | | | | | | | | | | | | | | it in detail. When setting media, don't error out when a specific media is selected. # Note: There may be some issues still here since the EtherJet PC Card doesn't # conform to the datasheet. Many different kinds of dongles can be plugged in # and it is unknown how to ask which one it is. Also, add a /* bad! */ comment to a 1/2 second delay after we set the DC/DC parameters. This should be a *sleep of some sort for !cold. Fortunately it is the only one and is only used when setting media, so the benefit from removing it is small. Unfortunately, it likely serves as an exemplar of good programming techniques, which it isn't.
* Driver failed to allocate MMIO resources. Attached patch adds a fallback path.remko2008-07-091-4/+9
| | | | | | | | | It uses generic IDE facilities if sii-specific allocations failed PR: 125421 Submitted by: Andrey V. Elsukov <bu7cher at yandex dot ru> Approved by: imp (mentor, implicit) MFC after: 1 week
* Add new device id for ICH8M, which supports greater than UDMA33 moderemko2008-07-092-0/+2
| | | | | | | | | when it worked as generic IDE. PR: 125422 Submitted by: Andrey V. Elsukov <bu7cher at yandex dot ru> Approved by: imp (mentor, implicit) MFC after: 1 week
OpenPOWER on IntegriCloud