summaryrefslogtreecommitdiffstats
path: root/sys/dev
AgeCommit message (Collapse)AuthorFilesLines
2015-12-16Don't attempt to get the ThinkLight state if neither the KLCG nor the MLCGkettenis1-3/+4
methods are present. Should fix the panic that occurs on older ThinkPads (such as the x201) when you press the ThinkLight key.
2015-12-16Refactor umass_detach() in order to pass a size to free(9).mpi4-25/+29
Based on a diff from Mathieu <naabed AT poolp DOT org>.
2015-12-15ignore unlikely temperature values like -127 degCjung1-2/+5
2015-12-15add 2 more temperature keys found in macbook pro (10,2)jung1-10/+9
found via key dump diff, run by Bryan Vyhmeister also remove 3 temperature keys which likely do not return useful values verified with help from macbook pro output of tb (4,1 and 5,5), kettenis (12,1), and Cristoph R. Murauer (9,1) via misc@
2015-12-15add more temperature keys found in newer macbook airs (6,1 and 7,2)jung1-7/+8
encountered via key dump diff, run by Bryan Vyhmeister
2015-12-15make sure the read fan description is always nul terminatedjung1-2/+3
hint from kettenis
2015-12-14Handle the keyboard backlight found on newer Thinkpads. Doesn't handle thekettenis1-8/+20
machines that have both the keyboard backlight and the thinklight (x230, t430) quite right yet. ok jung@ (for a slightly different version of this diff)
2015-12-14Add initial 802.11n support to the iwm(4) driver.stsp3-128/+495
Adds support for HT MCS 0-7 (theoretical limit 65 Mbit/s) and the reception of A-MSDU and A-MPDU aggregated frames. None of the optional 11n features are supported for now. MIMO, 40Mhz channels, short guard interval, etc. are left for future work. And we're not sending A-MSDU or A-MPDU frames yet either. Tested with various 11a/b/g/n access points. With some APs I'm seeing a noticable increase in throughput, especially on 5Ghz. Also, fix automatic rate selection by using the current Tx rate selected by AMRR as the upper bound for the firmware's rate table and updating the firmware's table whenever AMRR switches Tx rate, rather than setting the table just once after association and ignoring AMRR updates. ok mpi@ krw@ (earlier version), ok jasper@
2015-12-14"harware" -> "hardware"mmcc2-4/+4
2015-12-13Hook up the ThinkLight to the keyboard backlight support code.kettenis1-2/+71
For now this only supports the true ThinkLight. Support for the keyboard backlight found on the most recent ThinkPads will follow soon. ok jung@
2015-12-13Sort button defines.kettenis1-3/+3
2015-12-12Add OpenBSD Id.reyk1-0/+2
2015-12-12Add OpenBSD CVS/RCS Ids.reyk4-0/+8
mikeb@ doesn't like the Ids, "somebody else has to add them".
2015-12-12x2APIC is currently enabled on HV guests only, not on bare metal, toreyk1-1/+8
speedup interrupt handling on virtual machines. Unfortunately it is broken on Xen 4.2 or older, so use the early pvbus detection to drop the advertised x2APIC CPU feature. Xen has fixed this in late 2013, but the problem still shows up in "the Cloud" (it doesn't seem to affect others as they either use legacy APIC or Xen IPIs). OK mlarkin@ mikeb@ Cvs: ----------------------------------------------------------------------
2015-12-12enable keyboard backlight support via wskbd(4) hooksjung1-3/+78
tested by Bryan Vyhmeister, krw, tb, and myself ok krw tb
2015-12-12Identify hypervisors before configuring other children of the mainbusreyk5-42/+72
(bios, CPU, interrupt handlers, pvbus). This splits the pvbus attach function into two parts: pvbus_identify() to scan the CPUID registers for supported hypervisors and pvbus_attach() to attach the bus, print information, and configure the children. This will be needed for Xen and KVM, as discussed with mikeb@ and sf@ OK mlarkin@
2015-12-12add new ioctls to control keyboard backlightsjung2-2/+25
tested by Bryan Vyhmeister, krw, tb, and myself ok jcs krw tb
2015-12-11remove wrapper function and call LKSB key write directlyjung1-18/+10
2015-12-11remove no longer needed prototypejung1-3/+2
2015-12-11instead of checking the status everywhere do it directly after (trying) thejung1-48/+53
command and propagate the result
2015-12-11Replace mountroothook_establish(9) by config_mountroot(9) a narrower APImpi32-223/+153
similar to config_defer(9). ok mikeb@, deraadt@
2015-12-11Remove xs_resume for now; pointed out by mlarkin@mikeb1-19/+0
2015-12-11Let xs_getprop decide itself whether it's OK to sleep or notmikeb2-3/+3
2015-12-11Work around Nvidia EHCI controllers bugs.mpi1-6/+10
Do not set the "Port Number", "Hub Address" and "Split Completion Mask" fields in Isochronous Queue Heads for high-speed devices. These fields should be ignored by the host controller unless the EPS field indicates a full- or low-speed device, but that's not the case with Nvidia controllers. From NetBSD via miod@
2015-12-10Remove plain DES from the kernel crypto framework, including the cryptonaddy3-47/+15
accelerator drivers. No longer used by anything. ok sthen@ mikeb@
2015-12-10a couple comment typosmmcc1-3/+3
2015-12-10mark bnx_start as mpsafe.dlg1-15/+8
tweak it to use ifq_restart so ifq_clr_oactive is serialised with start. ok jmatthew@
2015-12-09Correct the response string lengthmikeb1-6/+13
Apparently length values returned by XenStore depend on which operation has been requested: for instance XS_READ will always return an strlen() result without accounting for the trailing NUL character, however XS_LIST will return length that includes it. While staying within our data buffer limit (xsm_dlen) we can readjust the length of the resulting string accordingly.
2015-12-09No need to check if size = az->pstream.buffer.size is zero, asratchov1-7/+1
this is handled in audio(4) layer. From Alexey Suslikov <alexey.suslikov at gmail.com>
2015-12-09Implement a function to fetch device propertiesmikeb2-0/+39
2015-12-09Store the backend node in the attach argument structuremikeb2-3/+10
2015-12-09cfdriver can't be const...mikeb1-1/+1
2015-12-09cleanup macbook air iso keyboard supportjung1-50/+56
also some KNF and whitespace cleanup while here initial diff from William Orr with some tweaks by me ok jcs mpi
2015-12-09Backport some commits from mainline linux to enable High Bit Rate 2jsg4-12/+37
(HBR2) for Broadwell and non-ULX Haswell DisplayPort. This enables support for 3840x2160 60Hz SST. Initial patch from and tested by Scot Doyle. drm/i915: Enable 5.4Ghz (HBR2) link rate for Displayport 1.2-capable devices from Todd Previte 06ea66b6bb445043dc25a9626254d5c130093199 drm/i915: don't try DP_LINK_BW_5_4 on HSW ULX from Paulo Zanoni 9bbfd20abe5025adbb0ac75160bd2e41158a9e83 drm/i915/dp: add missing \n in the TPS3 debug message from Jani Nikula f8d8a672f9370278ae2c9752ad3021662dbc42fd drm/i915/dp: only use training pattern 3 on platforms that support it from Jani Nikula 7809a61176b385ebb3299ea43c58b1bb31ffb8c0
2015-12-09rework the if_start mpsafe serialisation so it can serialise arbitrary workdlg1-7/+7
work is represented by struct task. the start routine is now wrapped by a task which is serialised by the infrastructure. if_start_barrier has been renamed to ifq_barrier and is now implemented as a task that gets serialised with the start routine. this also adds an ifq_restart() function. it serialises a call to ifq_clr_oactive and calls the start routine again. it exists to avoid a race that kettenis@ identified in between when a start routine discovers theres no space left on a ring, and when it calls ifq_set_oactive. if the txeof side of the driver empties the ring and calls ifq_clr_oactive in between the above calls in start, the queue will be marked oactive and the stack will never call the start routine again. by serialising the ifq_set_oactive call in the start routine and ifq_clr_oactive calls we avoid that race. tested on various nics ok mpi@
2015-12-09Don't expose XenStore ops we don't know how to deal withmikeb2-27/+9
2015-12-09Don't expose XenStore ops we don't know how to deal withmikeb1-6/+2
2015-12-08Implements simple virtual device probing routinemikeb2-0/+73
Discussed with deraadt@, kettenis@, mpi@, OK mlarkin, mpi
2015-12-08Implement a function to detach emulated devices (such as an em(4)mikeb1-0/+36
network interface) in order to attach a paravirtualized drivers (such as Xen Netfront). OK mlarkin
2015-12-08Driver for XenStore, the configuration storagemikeb4-1/+840
XenStore provides a hierarchical storage for Xen configuration in a style of an OpenFirmware. Itself it's an interrupt driven producer/consumer interface with two 1kb rings for input and output. It's required in order to do virtual device discovery and device configuration (fetch MAC address, various parameters). With input from and OK mlarkin, reyk
2015-12-08Driver for the XenSource Platform Devicemikeb2-1/+132
This is a simple driver for the virtual PCI device with only one purpose: to allocate the interrupt vector and communicate that to the Hypervisor in case the IDT callback method was not available. With input from and OK deraadt, mlarkin, reyk, mpi
2015-12-08Add ability to establish virtual interrupts via Xen eventmikeb3-1/+405
channel ports. During boot, Xen will use polling mode, but once the system enables interrupts after cpu_configure(), xen_intr_enable will be called from the mountrook hook to unmask event ports. OK mlarkin, mpi, reyk
2015-12-08Communicate the selected IDT vector to the Hypervisormikeb2-0/+36
OK mlarkin, reyk
2015-12-08Allocate and hook up a "shared info page"mikeb2-0/+450
This page provides a matrix of pending events and some other information like hypervisor timecounter. OK mlarkin, reyk
2015-12-08Allocate and hook up a "shared info page"mikeb1-0/+2
This page provides a matrix of pending events and some other information like hypervisor timecounter. OK mlarkin, reyk
2015-12-08This brings in support for Xen hypercalls via an MI interfacemikeb2-0/+412
and implements functions to fetch extended version and features. OK mlarkin
2015-12-08This brings in support for Xen hypercalls via an MI interfacemikeb1-0/+23
and implements functions to fetch extended version and features. OK mlarkin
2015-12-08Xen basic infrastructure files and pvbus(4) attachment.mikeb2-1/+97
With input from and OK mpi, mlarkin, reyk
2015-12-08Xen basic infrastructure files and pvbus(4) attachment.mikeb1-0/+25
With input from and OK mpi, mlarkin, reyk
2015-12-08When iwm(4) moves to AUTH state it asks the firmware for a "time event" tostsp3-46/+53
prevent it from moving off-channel during association. The firmware issues interrupts at beginning and end of the time event. The driver tried detecting the beginning with a tsleep() in the newstate task followed by a wakeup() from the interrupt handler. However, sometimes the newstate task did not get scheduled until the time event had already passed, and association was aborted. In rare cases the newstate task would even sleep forever and the iwm(4) interface would stop working until reboot. Fix these issues by issuing the time event and continuing association without checking for a "go" from the firmware. Our kernel does not provide the scheduling guarantees required for such precise synchronization so association is more likely to fail with the additional check than without. ok mpi@ tedu@