OpenBSD cvs log

created 2020-11-19T18:15:20Z
begin 2020-06-10T00:00:00Z
end 2020-06-11T00:00:00Z
path src/sys
commits 20

date 2020-06-10T09:20:30Z
author stsp
files src/sys/dev/pci/if_iwx.c log diff annotate
message Compute the Tx queue ID consistently in iwx(4).

iwx_alloc_tx_ring() and iwx_tx() used different constants when computing
the Tx queue ID. Make them use the same.

Fortunately, this bug was harmless since we ended up using Tx queue 5 in
both places. It would have broken badly as soon as we started using
multiple Tx queues.

ok mpi@

date 2020-06-10T09:29:27Z
author stsp
files src/sys/dev/pci/if_iwx.c log diff annotate
src/sys/dev/pci/if_iwxvar.h log diff annotate
message Fix wrong size passed to free(9) when freeing an iwx(4) firmware image.
Allocate the context info DMA region at attach time rather than when loading
firwmare. Prevents this allocation from failing due to memory fragmentation.

Tested by sven falempin and myself.

date 2020-06-10T13:24:57Z
author visa
files src/sys/kern/uipc_syscalls.c log diff annotate
message Move closef() outside fdplock() in sys_socketpair(). This prevents
a lock order problem with altered locking of UNIX domain sockets.
closef() does not need the file descriptor table lock.

From Vitaliy Makkoveev

OK mpi@

date 2020-06-10T14:33:29Z
author kettenis
files src/sys/arch/powerpc64/include/opal.h log diff annotate
src/sys/arch/powerpc64/powerpc64/locore.S log diff annotate
message Add RTC read and write calls.

date 2020-06-10T15:01:40Z
author kettenis
files src/sys/arch/powerpc64/conf/GENERIC log diff annotate
src/sys/arch/powerpc64/conf/files.powerpc64 log diff annotate
src/sys/arch/powerpc64/dev/opal.c log diff annotate
message Add opal(4) a driver that interacts with the OPAL frimware and implements
RTC functionality.

date 2020-06-10T15:10:51Z
author kettenis
files src/sys/arch/powerpc64/conf/GENERIC log diff annotate
src/sys/arch/powerpc64/conf/files.powerpc64 log diff annotate
message Add ahci(4), bge(4) and xhci(4); ahci(4) and xhci(4) remain disabled for now.

date 2020-06-10T16:30:02Z
author kettenis
files src/sys/arch/powerpc64/include/opal.h log diff annotate
src/sys/arch/powerpc64/powerpc64/locore.S log diff annotate
message Add MSI support calls.

date 2020-06-10T16:31:27Z
author kettenis
files src/sys/arch/powerpc64/dev/pci_machdep.c log diff annotate
src/sys/arch/powerpc64/dev/phb.c log diff annotate
src/sys/arch/powerpc64/include/pci_machdep.h log diff annotate
message A bit of MSI support code; we need to distinguish between 32-bit and 64-bit
MSIs on powerpc64.

date 2020-06-10T17:51:21Z
author patrick
files src/sys/dev/fdt/cwfg.c log diff annotate
src/sys/dev/fdt/files.fdt log diff annotate
message Add cwfg(4), a driver for the CellWise CW201x fuel gauge. This allows
reading the current battery voltage, capacity and remaining minutes on
the Pinebook Pro. Integration into the APM framework stays as exercise
for the reader.

Driver written by Jared McNeill at NetBSD
ok kettenis@

date 2020-06-10T17:52:06Z
author patrick
files src/sys/arch/arm64/conf/GENERIC log diff annotate
message Enable cwfg(4)

ok kettenis@

date 2020-06-10T18:18:57Z
author otto
files src/sys/dev/pci/drm/drm_edid.c log diff annotate
message Avoid out-of-bounds access when dumping (faulty) edid info; as seen
on my X1 6thg when it's docked. Root cause still to be determined.
ok kettenis@ jsg@

date 2020-06-10T19:00:02Z
author kettenis
files src/sys/arch/powerpc64/include/opal.h log diff annotate
src/sys/arch/powerpc64/powerpc64/locore.S log diff annotate
message Another OPAL API that we need.

date 2020-06-10T19:02:41Z
author kettenis
files src/sys/arch/powerpc64/dev/phb.c log diff annotate
src/sys/arch/powerpc64/include/intr.h log diff annotate
message Allocate MSIs from the range provided by the device tree and bind them
to a PE.

date 2020-06-10T19:06:53Z
author kettenis
files src/sys/arch/powerpc64/conf/files.powerpc64 log diff annotate
src/sys/arch/powerpc64/include/cpu.h log diff annotate
src/sys/arch/powerpc64/powerpc64/clock.c log diff annotate
src/sys/arch/powerpc64/powerpc64/cpu.c log diff annotate
src/sys/arch/powerpc64/powerpc64/machdep.c log diff annotate
src/sys/arch/powerpc64/powerpc64/trap.c log diff annotate
message Add clock interrupt support, adapted from the randomized dual clock
implementation from Dale Rahn but relicensed (with his permission)
under our standard ISC license.

date 2020-06-10T20:19:29Z
author naddy
files src/sys/lib/libkern/arch/arm64/ffs.S log diff annotate
src/sys/lib/libkern/arch/powerpc/ffs.S log diff annotate
src/sys/lib/libkern/arch/powerpc64/ffs.S log diff annotate
message Provide an optimized implementation of ffs(3) in the kernel on
arm64/powerpc/powerpc64, making use of the count leading zeros
instruction.

powerpc testing by cwen@; ok kettenis@ deraadt@

date 2020-06-10T22:26:40Z
author jca
files src/sys/dev/acpi/acpi.c log diff annotate
src/sys/dev/acpi/acpiac.c log diff annotate
src/sys/dev/acpi/acpibat.c log diff annotate
src/sys/dev/acpi/acpisbs.c log diff annotate
message Give userland a consistent battery and A/C state after resume

Previously we refreshed the state of acpiac(4) and acpibat(4)/acpisbs(4)
by queueing fake ACPI events to be processed by the acpi thread.
acpibat(4) using ACPIDEV_POLL meant that its status could be refreshed
first, resulting in an APM_POWER_CHANGE event sent to userland before
the state of acpiac(4) was up to date. Because of this, apmd(8) could
see A/C unplugged when it was in fact plugged, possibly leading to
a wrong decision.

Instead of using fake ACPI events, refresh the status of acpiac(4) and
acpibat(4)/acpisbs(4) right away at DVACT_WAKEUP time. To reuse the
existing refresh code of those drivers, make their ACPI *_notify()
handlers responsible for sending APM_POWER_CHANGE events instead. Also
queue an APM_POWER_CHANGE event right after resume to retain existing
behavior.

This fixes the consistency of data shown to userland, and makes those
drivers less special.

Initially discussed last year (!) with mpi@ at Miod's place.
Feedback and ok jcs@, deraadt@ agrees with the use of DVACT_WAKEUP here.

date 2020-06-10T23:36:26Z
author patrick
files src/sys/dev/fdt/pwmbl.c log diff annotate
message In case the device tree does not provide a list of brightness levels,
populate a list of 256 levels as fallback. This makes the Pinebook
Pro display work with the dtb that's part of Linux 5.7.

"Fine with me" Krystian Lewandowski
ok kettenis@

date 2020-06-10T23:43:06Z
author patrick
files src/sys/dev/ofw/ofw_misc.c log diff annotate
src/sys/dev/ofw/ofw_misc.h log diff annotate
message Add a "framework" for digital audio interfaces.

ok kettenis@

date 2020-06-10T23:55:19Z
author patrick
files src/sys/dev/fdt/files.fdt log diff annotate
src/sys/dev/fdt/simpleaudio.c log diff annotate
message Add simpleaudio(4), a driver for "simple audio cards". This is
just a wrapper that connects the I2S controller, the codec and
some aux devices, and provides the information needed to set all
those devices up to use the same settings.

With help from ratchov@
ok kettenis@

date 2020-06-10T23:59:07Z
author patrick
files src/sys/dev/fdt/files.fdt log diff annotate
src/sys/dev/fdt/simpleamp.c log diff annotate
message Add simpleamp(4), a driver for "simple audio amplifier". This
is one of the aux devices for simpleaudio(4). Its only job is
to turn the amplifier's regulator and GPIO on/off when needed.

ok kettenis@