summaryrefslogtreecommitdiffstats
path: root/sys/dev
AgeCommit message (Collapse)AuthorFilesLines
2021-01-23OPAL implements firmware calls that abstract communicating with the BMC overkettenis2-6/+5
IPMI. Use these calls to add support for impi(4) on PowerNV systems. ok dlg@
2021-01-23introduce ujoy(4), a restricted subset of uhid(4) for gamecontrollers.thfr4-4/+164
This includes ujoy_hid_is_collection() to work around limitations of hid_is_collection() until this can be combined without fallout. input, testing with 8bitdo controller, and ok brynet@ PS4 controller testing, fix for hid_is_collection, and ok mglocker@
2021-01-22ims: an actual i2c-connected mouse is unlikelyjcs1-3/+2
Claim to be a touchpad instead, which sets up ims devices in X11 to be more like touchpads. ok mglocker
2021-01-20Reprogram outbound windows to match the device tree. Necessary becausekettenis1-3/+34
the EDK2-based UEFI firmware sets it to its own hardcoded values. Makes device-tree mode work with newer versions of the Raspberry Pi firmware. ok patrick@
2021-01-20Check management capabilities before trying to attach temperature sensors,jmatthew1-1/+43
avoiding an unhelpful error message if the card's firmware doesn't expose the sensor registers. tested by chris@, who saw the unhelpful error message ok dlg@
2021-01-19Implement intx support.kettenis1-18/+122
ok patrick@
2021-01-17Add defines for the various ARM SMMU models.patrick1-2/+8
ok kettenis@
2021-01-17add another iwx devicejcs2-11/+21
ok stsp jsg
2021-01-17regenjcs2-2/+7
2021-01-17add another ax201jcs1-1/+2
2021-01-17this hardware is fine with BUS_DMA_64BIT mappings.dlg1-4/+7
this raises performance of tcpbench on an m3000 from ~3kpps and ~8MB/s to ~70kpps and ~191MB/s when transmitting, and ~10kpps and ~15MB/s to ~120kpps and 174MB/s when receiving. i also tested this on a v245 and an m4000 a while back.
2021-01-16recognise Realtek ALC287jsg1-1/+4
2021-01-16regenjsg2-4/+9
2021-01-16add Intel AX201 Bluetoothjsg1-1/+2
2021-01-16regenjsg2-4/+109
2021-01-16add devices mostly from x1 nano jcs@ hasjsg1-2/+23
2021-01-15Add IORT structs for ARM SMMU versions 1 and 2.patrick1-1/+35
ok kettenis@
2021-01-15Split the IORT struct into two, as the current version not only containedpatrick1-1/+4
the generic IORT node information but also the Root Complex's attributes. ok kettenis@
2021-01-15Add IORT id for ARM SMMUv3.patrick1-1/+2
ok kettenis@
2021-01-15Move IO Remapping Table (IORT) struct defines to the common ACPI headerpatrick1-1/+34
so that it can be used by more drivers. ok kettenis@
2021-01-15Report full IP address information to the host. Contrary to what I wrotejmatthew1-9/+300
here 10 years ago, xdr isn't scary at all. ok dlg@
2021-01-14Some BIOS seem to provide memory regions <16M in their reserved memorypatrick1-5/+7
region reporting table. Since the extent only covered memory starting at 16M, these regions could not be reserved and would in turn cause a panic. Make the extent start at 0 and immediately reserve the first 16M right away, so that we can change the reserved memory allocator to EX_CONFLICTOK to make allocations succeed if they are already reserved. ok kettenis@
2021-01-13Make vm_rpc_send_rpci_tx_buf() use the buffer passed in, not the bufferjmatthew1-2/+2
allocated as part of the softc, though it's always been the same buffer so far. ok dlg@
2021-01-13put M_ZERO in the right placejmatthew1-2/+2
ok dlg@
2021-01-13Add support for the HYM8563 RTC, which is a PCF8563 clone.kettenis1-5/+3
ok kurt@
2021-01-13revert drm vmalloc changesjsg3-126/+39
It is suspected they were to blame for a machine with inteldrm running X (xterms and chromium) running out of resources after a few days. ok kettenis@
2021-01-11When an endpoint stalls, we usually try to reset it by callingmglocker1-2/+2
usbd_clear_endpoint_stall(), which in turn will call usbd_clear_endpoint_toggle(). It can be a common situation that when this happens, there is still a transfer in the stalled queue being in progress. The ehci(4) clear toggle function is currently doing a panic() in the diagnostic code in this situation, which is a bit of an overkill. The device still can be recovered by detaching/attaching it. Therefore change the panic() in to a printf(). ok mpi@
2021-01-10add quirks for Kensington Slimblade trackball via new vendor buttonsthfr5-17/+40
quirks. Original diff from Sven M. Hallberg < pesco () khjk ! org > Diff updated and tested by Timo Myyra ok phessler@
2021-01-10regenthfr2-4/+9
2021-01-10add Kensington Slimblade Trackballthfr1-1/+2
2021-01-09Revert mistaken commit: Stop wsmux_attach_sc race from anton@gnezdo1-2/+2
2021-01-09Stop wsmux_attach_sc race from anton@gnezdo1-2/+2
OK millert@
2021-01-09Include the optimized putchar functions only if RASOPS_SMALL is notfcambus1-4/+4
defined, as was previously the case. OK kettenis@
2021-01-08Bring the emulated Linux memory allocation interfaces more in line withkettenis3-39/+126
what Linux does. Let vmalloc() use km_alloc(9) instead of malloc(9) and let kvmalloc() only use malloc(9) for small (less than a page) allocations and atomic allocations. This should reduce the pressure on the "interrupt-safe" map. ok jsg@
2021-01-06Let a process open a video(4) device multiple timesjca1-7/+12
The previous behavior was conservative but a bit too restrictive. The V4L API lets several processes open a single video device, with exclusive access to certain methods when a process starts streaming. This is not trivial to implement. This small change fixes webcam usage with Firefox and BigBlueButton. Diff simplified + ok mglocker@, thanks!
2021-01-06Add dt(4) TRACEPOINTs for pool_get() and pool_put(), this is simmilar to theclaudio1-1/+5
ones added to malloc() and free(). Pass the struct pool pointer as argv1 since it is currently not possible to pass the pool name to btrace. OK mpi@
2021-01-04the tx doorbell is next to the rx doorbell, not on top of it.dlg1-2/+2
2021-01-04use bus_dmamap_sync around updates to the doorbells.dlg1-33/+69
ok jmatthew@
2021-01-01Remove useless redundant call of ttyopen().jan1-6/+1
Also remove dead DIALOUT macro. ok mpi@
2020-12-31Keep polling if a temperature sensor reading fails. This is neededkettenis1-3/+3
on Amlogic SoCs where amltemp(4) doesn't fully attach before the first polling timeout runs. This would stop the polling which means there was no thermal management on these platforms. ok patrick@
2020-12-31Add trace points for malloc(9) and free(9). This makes them traceableclaudio1-1/+5
via dt(4) and btrace(8). OK mpi@ millert@
2020-12-31don't oversleep when waiting on fencesjsg1-15/+17
original diff from and ok cheloha@
2020-12-30Enter power-saving mode on POWER9 (ISA v3)gkoehler2-2/+19
When opal(4) attaches, look in the device tree for a psscr value. In cpu_idle_cycle(), use this psscr value and the stop instruction to wait for the next interrupt. In mp kernels, cpu_unidle() now sends an interrupt. In "sysctl hw.sensors", the power and temperature sensors from opalsens(4) may show lower values. The cpu may exit stop at the system reset vector after losing user registers. If so, restore some registers. For now, ignore deeper stop states that would lose hypervisor registers. Our mp kernel uses only the first hardware thread of each core. Take the extra threads from the firmware and stop them forever; this may switch the core from SMT4 to single-thread mode and increase performance. partly by kettenis@, ok kettenis@
2020-12-29Handle pinctrl.kettenis1-1/+4
2020-12-29Add more PWM pin descriptions.kettenis1-1/+32
2020-12-28Analog to the the kern.audio.record sysctl parameter for audio(4)mglocker1-1/+16
devices, introduce kern.video.record for video(4) devices. By default kern.video.record will be set to zero, blanking all data delivered by device drivers which attach to video(4). The idea was initially proposed by Laurence Tratt <laurie AT tratt DOT net>. ok mpi@
2020-12-28Add support for the PCIe controller found on Amlogic G12A/G12B/SM1 SoCs.kettenis1-11/+119
ok patrick@
2020-12-28regenkettenis2-2/+14
2020-12-28Add Synopsys vendor and their DesignWare PCIe bridge.kettenis1-1/+5
2020-12-27acpi_map_address() cannot be wrapped by SMALL_KERNEL anymore, asderaadt1-3/+3
it is used by acpihpet.c