summaryrefslogtreecommitdiffstats
path: root/sys/dev (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* Add support for mapping ACPI PM registers using the "extended" gasiokettenis2019-05-121-30/+71
| | | | | | representation from the FADT. Mostly fixes the Lanner NCA-1510. ok lteo@, mlarkin@, deraadt@
* Kill an unused done: label and the associated superfluous "return;"krw2019-05-111-3/+1
| | | | | statement at the end of a void function. All inside #if 0, so no effect on generated code.
* implement dma_fence_arrayjsg2019-05-112-15/+123
|
* Fix incorrect error message.lteo2019-05-111-2/+2
| | | | ok kettenis@
* Implement interrupt controller functionality in the Rockchippatrick2019-05-111-1/+236
| | | | | | | GPIO driver. This allows us to use the fusbtc(4) interrupt on the RockPro64. ok kettenis@
* Add fusbtc(4) to support the Fairchild FUSB302 USB Type-C controller.patrick2019-05-112-1/+695
| | | | | | | | | | | | | | | | A Type-C controller has multiple tasks. Even though the orientation of the plug doesn't matter for the user, it matters for the hardware. To be able to know how to route the SuperSpeed pins you need to know which way the plug is connected. Also you need to know if you're a sink/source or device/host. To get the first connection, you toggle between the modes until you find a connection. In case you see that a sink is connected, you can turn on USB Vbus to power the sink. This driver explicitly does not implement USB's Type-C state machine, but if we get more and more of these controllers it might be worth doing. Also there's no support for Power Delivery messages yet. ok kettenis@
* move irq_work bits into irq_work headerjsg2019-05-112-21/+50
|
* Regenabieber2019-05-111-2/+26
|
* Add the colemak keyboard layout.abieber2019-05-112-3/+29
| | | | OK deraadt@
* Fix idr_get_next() such that idr_for_each_entry() actually works.kettenis2019-05-101-10/+9
| | | | ok jsg@
* Add a fallback to ehci(4)'s phy init code so that when therepatrick2019-05-101-1/+6
| | | | | | | | is no compatible phy it tries to enable the VBus using the phy-supply property. Makes the USB ports on the RockPro64 work. ok kettenis@
* Explicitly disable BCM4331 chips present in 2011-2012 Apple Mac systems.bcook2019-05-102-15/+53
| | | | | | | | | | | | | | | | | | The Mac EFI firmware enables the wireless controller, but does not disable it, so it continues to receive packets and signal interrupts. This was originally seen as an interrupt storm that consumes about 50% of CPU0 on affected machines. The issue was originally discovered in 2012 by Matthew Garret with a partial fix in Grub, then Lukas Wunner added a fix for the Linux kernel in 2016. This piggy-backs on the most-related driver (bwi) for the purpose of detection and mapping the control registers, but does not actually register the driver if the affected chip is detected. See this archived discussion for further analysis of the bug: https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg1165355.html ok kettenis stsp
* regenjsg2019-05-102-2/+157
|
* add Intel Atom C3000 idsjsg2019-05-101-1/+32
|
* Add more flags to the debug bitmaskguenther2019-05-101-2/+3
| | | | ok mpi@
* set up IFP using the gen3 path on pineviewjsg2019-05-091-4/+3
| | | | | | | Avoids crashes on boot with pineview on chipset flush due to IFP not being initialised. Diagnosed by, tested by and ok ratchov@ ok kettenis@
* Measure poll interval with monotonic clock. ok jcs@cheloha2019-05-091-6/+7
|
* add free sizessemarie2019-05-091-4/+4
| | | | ok tedu@
* Correctly mask status bits in iwm's ADD_STA command response; remainingstsp2019-05-091-4/+4
| | | | | | | | | | bits are used by firmware to return the BAID for a BA session. matches: Dragonfly 74d41163ddac72b0d7ea7b7873d53fe134723a12 Linux 837c4da98481d4e504b2aba077c8528fee1b6d13 ok kevlo mpi jmatthew
* Add two sanity checks to iwm's firmware notification interrupt handler:stsp2019-05-091-3/+5
| | | | | | | | | | | 1) Clamp firmware-provided index into the rx ring to the size of the ring. Linux started doing this, too, to work around HW bugs in the 9000 series. (mathes Linux 5eae443eb5e2b3777582ea37c6a002171ec134d5) 2) Don't call iwm_cmd_done() if the firmware response in the Rx buffer is not recognized. We should just skip such buffers, not act on them. ok beck kevlo mpi
* add free sizesbcook2019-05-091-7/+13
| | | | ok tedu
* When changing device rate, send request to the clock source unit.ratchov2019-05-091-3/+39
| | | | | | | Currently we send the request to the unit indicated as clock source of the terminals, which may be a clock selector unit that doesn't support the request. Fix this by following the clock source path until the clock source unit is found.
* Set the rate of UAC v2.0 clock units using the control interface, notratchov2019-05-091-2/+2
| | | | a random streaming iface.
* Skip empty control interfaces when parsing descriptors.ratchov2019-05-091-8/+5
| | | | | | Even if having multiple control interface descriptors is not allowed by the UAC spec, there's no reason to stop as long as a proper control interface was processed.
* Implement set_rate() method for M-Audio Audiophile 192k cards.ratchov2019-05-091-2/+20
| | | | | | | It switches the AK5385 and the AK4358 chips between single-, double- or quad-speed modes depending on the host sample rate. Help and testing by Andrey Oktyabrskiy <ano at bestmx.net>. Thanks!
* Add ucrcom(4) a (very simple) driver for the serial console of (some)kettenis2019-05-091-1/+6
| | | | | | chromebooks. ok deraadt@
* Add ucrcom(4) a (very simple) driver for the serial console of (some)kettenis2019-05-081-0/+136
| | | | | | chromebooks. ok deraadt@
* regenkettenis2019-05-082-4/+9
|
* add Google vendor IDkettenis2019-05-081-1/+2
|
* Add wait_event_killable(). In linux TASK_KILLABLE only gets fataljsg2019-05-081-1/+7
| | | | | signals, as we don't have an equivalent use PCATCH and check for all signals before and after msleep. Discussed with kettenis@.
* Fix overflow tests such that we can allocate arrays with zero items.kettenis2019-05-082-3/+3
| | | | | | | Linux allows this sillyness and it is needed to make X work on the integrated graphics on the AMD Ryzen 3 PRO 2200GE APU. ok jsg@
* add cmpxchg() with same implementation as atomic_cmpxchg()jsg2019-05-081-1/+2
|
* We're not quite ready yet to actually detach inteldrm(4).kettenis2019-05-081-1/+3
| | | | ok jsg@
* add free size, the old number of mixers, when reallocating.tedu2019-05-081-2/+2
| | | | ok deraadt mpi
* when freeing ccbs, pass the number so we can free with the size.tedu2019-05-081-7/+10
| | | | ok deraadt mpi
* free size. the allocation is the header plus the length.tedu2019-05-081-3/+3
|
* match on 200 and 300 series pch ktjsg2019-05-081-1/+22
|
* match on 300 series pchjsg2019-05-081-2/+4
|
* regenjsg2019-05-082-2/+257
|
* add more Intel 300 Series PCH idsjsg2019-05-081-1/+52
|
* Use the same completion queue for both the send and receive queues.jmatthew2019-05-071-2/+2
| | | | | We don't get any benefit from having separate queues (yet), and the tx completion queue seems to stall sometimes if it's on its own.
* Fix delay logic: measure w/ uptime, pack timeval correctly. ok krw@cheloha2019-05-071-4/+4
|
* always rearm completion queues as leaving them disarmed would lead to rxjmatthew2019-05-071-7/+4
| | | | | | or tx completion stalling. (also replace a line dlg didn't mean to remove)
* align the rx buffer to ETHER_ALIGNdlg2019-05-071-2/+3
| | | | | | | this will probably change as the rx handling grows to cope with the hardware max mru. ok jmatthew@
* use MCX_PAGE_SIZE when calculating number of pages for queuesdlg2019-05-071-6/+9
| | | | | | PAGE_SIZE might be the same, but isn't on sparc64 at least. ok jmatthew@
* Fix a logic error when configuring the driver to use msi.kevlo2019-05-061-2/+2
|
* regenkettenis2019-05-052-19/+24
|
* Harmonize AMD CPU/APU devices.kettenis2019-05-053-14/+15
| | | | ok jsg@
* Silence "Uunable to acquire AGP" message since we don't support AGP on allkettenis2019-05-041-0/+2
| | | | AGP-capable chipsets and probably never will.
* fix array bounds check in ixl_search_link_speed()jsg2019-05-041-2/+2
| | | | ok dlg@