OpenBSD cvs log

created 2024-01-20T23:42:16Z
begin 2023-12-28T00:00:00Z
end 2023-12-29T00:00:00Z
path src/sys
commits 6

date 2023-12-28T13:32:56Z
author kettenis
files src/sys/arch/arm64/dev/aplpcie.c log diff annotate
message Add stream ID mapping support for PCIe controller found on M2 Pro/Max SoCs.

ok patrick@

date 2023-12-28T14:03:21Z
author uwe
files src/sys/dev/mii/eephy.c log diff annotate
src/sys/dev/mii/eephyreg.h log diff annotate
message assume RGMII-to-Copper mode by default in eephy(4) for 88E151x PHYs

The desired MII mode must be programmed explicitly for Marvel Atlantis
88E1512/88E1514 variants and we already do this for SGMII.

This change adds a missing case for RGMII-to-Copper that assumes RGMII,
unless the MAC driver sets MII_SGMII before calling mii_attach() or the
mode has already been programmed. (RGMII-to-Copper is also the hardware
default for E1510 and E1518.)

Suggestions and ok kettenis@

date 2023-12-28T14:30:28Z
author uwe
files src/sys/dev/ic/dwqe.c log diff annotate
message fix Tx watchdog trigger and freeze in dwqe(4)

dwqe(4) interfaces may trigger the "dwqe_watchdog" function and stop
transmitting packets under heavy Tx load. In this situation, ifconfig(8)
will permanently show OACTIVE until the interface is restarted (ifconfig
down/up).

The problem seems to be triggered by writing to the Tx ring tail pointer
register multiple times during dwqe_start(). Updating the Tx ring tail
pointer only after all Tx descriptors have been updated seems to fix it.

The fix is based on the eqos(4) driver in NetBSD. Verified on an Intel
Elkhart Lake machine but might affect other platforms with DesignWare
Ethernet Quality-of-Service Controller version 4.

Testing by bluhm@, ok kettenis@

date 2023-12-28T16:21:08Z
author aisha
files src/sys/net/pf.c log diff annotate
message use RB_FOREACH_SAFE for pf_purge_expired_src_nodes

OK bluhm@

date 2023-12-28T17:36:28Z
author stsp
files src/sys/arch/amd64/conf/GENERIC log diff annotate
src/sys/arch/amd64/conf/RAMDISK_CD log diff annotate
message Introduce qwx(4), a work-in-progress port of the Linux ath11k driver.

This driver is not working yet. Scanning almost works but a lot more
work remains to be done. So far most of the porting work was done by
myself, with some help from mpi, patrick, and kettenis.

Obviously this driver remains disabled for now. Enable relevant lines
in the kernel config if you want to help out with development.

At present firmware files must be obtained manually and placed
in the directory /etc/firmware/qwx/WCN6855/hw2.1/
This will be improved later.

Thanks to the OpenBSD Foundation for supporting this effort.

date 2023-12-28T17:36:29Z
author stsp
files src/sys/arch/arm64/conf/GENERIC log diff annotate
src/sys/arch/arm64/conf/RAMDISK log diff annotate
src/sys/conf/files log diff annotate
src/sys/dev/ic/qwx.c log diff annotate
src/sys/dev/ic/qwxreg.h log diff annotate
src/sys/dev/ic/qwxvar.h log diff annotate
src/sys/dev/pci/files.pci log diff annotate
src/sys/dev/pci/if_qwx_pci.c log diff annotate
message Introduce qwx(4), a work-in-progress port of the Linux ath11k driver.

This driver is not working yet. Scanning almost works but a lot more
work remains to be done. So far most of the porting work was done by
myself, with some help from mpi, patrick, and kettenis.

Obviously this driver remains disabled for now. Enable relevant lines
in the kernel config if you want to help out with development.

At present firmware files must be obtained manually and placed
in the directory /etc/firmware/qwx/WCN6855/hw2.1/
This will be improved later.

Thanks to the OpenBSD Foundation for supporting this effort.