OpenBSD cvs log

created 2021-06-06T21:30:10Z
begin 2021-02-26T00:00:00Z
end 2021-02-27T00:00:00Z
path src/sys
commits 21

date 2021-02-26T00:02:07Z
author patrick
files src/sys/dev/pci/if_bwfm_pci.c log diff annotate
message Fix prio2fifo mapping table.

date 2021-02-26T00:07:41Z
author patrick
files src/sys/dev/ic/bwfm.c log diff annotate
src/sys/dev/ic/bwfmvar.h log diff annotate
src/sys/dev/pci/if_bwfm_pci.c log diff annotate
src/sys/dev/sdmmc/if_bwfm_sdio.c log diff annotate
message Refactor bwfm(4) firmware loading. The PCIe backend will need to be able
to load the CLM blob like the SDIO backend already does. Additionally it
is also helpful for the PCIe backend to try a file named after the device
tree compatible. Thus refactor the SDIO code and make it available for
both SDIO and PCIe.

date 2021-02-26T00:14:28Z
author patrick
files src/sys/dev/pci/if_bwfm_pci.c log diff annotate
src/sys/dev/pci/if_bwfm_pci.h log diff annotate
message Indicate hostready signal to inform the firmware that the rings have been
initialized.

date 2021-02-26T00:16:41Z
author deraadt
files src/sys/net/if_veb.c log diff annotate
message gcc is more strict about union decls
ok dlg

date 2021-02-26T00:19:41Z
author patrick
files src/sys/dev/pci/if_bwfm_pci.c log diff annotate
src/sys/dev/pci/if_bwfm_pci.h log diff annotate
message Increase the buffer size for the ioctl response buffers to the same as
used in the wifi firmware to ensure responses can be received.

date 2021-02-26T01:12:37Z
author dlg
files src/sys/net/if_ethersubr.c log diff annotate
src/sys/netinet/if_ether.h log diff annotate
message add some helpers for working with ethernet addresses as uint64_t

the main bits are ether_addr_to_e64 and ether_e64_to addr for loading
an ethernet address into a uin64_t and visa versa. there's also
some macros for testing if an address in a uint64_t is multicast,
broadcast, anyaddr, or if it's an 802.1q reserved multicast group
address.

the reason for this functionality is once you have an ethernet
address as a uint64_t, operations like compares, bit tests, and
so on are fast and easy.

tested on amd64 and sparc64

date 2021-02-26T01:28:51Z
author dlg
files src/sys/net/if_bpe.c log diff annotate
src/sys/net/if_etherbridge.c log diff annotate
src/sys/net/if_etherbridge.h log diff annotate
src/sys/net/if_gre.c log diff annotate
src/sys/net/if_veb.c log diff annotate
message use a uint64_t for the ethernet address in the etherbridge table.

testing has shown up to a 30% improvement in the veb forwarding
rate with this change.

an earlier diff was tested by hrvoje popovski
tested on amd64 and sparc64

date 2021-02-26T01:42:47Z
author dlg
files src/sys/net/if_veb.c log diff annotate
message use uint64_ts for ethernet addresses in the src/dst bits of rules.

date 2021-02-26T01:57:20Z
author dlg
files src/sys/net/if_veb.c log diff annotate
message try do a better job of filtering 802.1 reserved group addresses.

if the bridge is supposed to carry vlan packets, assuming it's an
s-vlan component and should allow certain group addresses to cross
between "customer" bridges.

i should probably let some of these groups fall back through to the
calling ether_input rather than drop them.

date 2021-02-26T02:09:45Z
author dlg
files src/sys/net/if_tpmr.c log diff annotate
message tpmr can use the eth64 bits too.

date 2021-02-26T08:31:23Z
author dlg
files src/sys/net/if_etherbridge.c log diff annotate
message only store the current time on address table entries if it changes.

this avoids unecessary writes to memory. it helps a little bit with
a single nettq, but we get a lot more of a boost in pps when running
concurrently.

thanks to hrvoje for testing.

date 2021-02-26T10:36:45Z
author jan
files src/sys/dev/pci/if_ixl.c log diff annotate
src/sys/dev/pci/pcidevs log diff annotate
message Add missing PCI product IDs for x710 10GBase-T into ixl(4)

OK phessler

date 2021-02-26T10:36:46Z
author jan
files src/sys/dev/pci/pcidevs.h log diff annotate
src/sys/dev/pci/pcidevs_data.h log diff annotate
message Add missing PCI product IDs for x710 10GBase-T into ixl(4)

OK phessler

date 2021-02-26T11:09:23Z
author kettenis
files src/sys/arch/arm64/conf/GENERIC log diff annotate
src/sys/arch/arm64/conf/RAMDISK log diff annotate
src/sys/arch/arm64/conf/files.arm64 log diff annotate
src/sys/arch/arm64/dev/aplpcie.c log diff annotate
message Add aplcpie(4), a (minimal) driver for the PCIe host bridge on Apple M1 SoCs.

ok patrick@

date 2021-02-26T11:22:10Z
author patrick
files src/sys/dev/pci/if_bwfm_pci.c log diff annotate
message Increase the amount of RX buffers given to the bwfm(4) chip. We haave seen
this already on previous chips, which only started giving us packets when
handing over at least 128 of them. Apparently some now require 256, which
seems to get the Apple M1's WiFi going.

date 2021-02-26T11:28:13Z
author kettenis
files src/sys/dev/ofw/ofw_misc.c log diff annotate
message Only support #iommu-cells = <1> for now to make sure the correct stream ID
is passed to the IOMMU device driver.

ok patrick@

date 2021-02-26T11:41:02Z
author jan
files src/sys/dev/pci/pcidevs.h log diff annotate
src/sys/dev/pci/pcidevs_data.h log diff annotate
message touch pcidevs again to generated new rcs ids in headers

advince from sthen@

date 2021-02-26T12:28:45Z
author patrick
files src/sys/dev/pci/if_bwfm_pci.c log diff annotate
message Add support for BCM4378 as implemented on the Apple M1. This chip seems
to use a different set of PCIE2REG registers. Accessing the "old" ones
even leads to faults. There are two surprises though. One is that it
seems that the interrupt status register always returns 0, and the other
one is that we receive the interrupts way too early, but both can be
worked around for now.

date 2021-02-26T12:28:46Z
author patrick
files src/sys/dev/pci/if_bwfm_pci.h log diff annotate
message Add support for BCM4378 as implemented on the Apple M1. This chip seems
to use a different set of PCIE2REG registers. Accessing the "old" ones
even leads to faults. There are two surprises though. One is that it
seems that the interrupt status register always returns 0, and the other
one is that we receive the interrupts way too early, but both can be
worked around for now.

date 2021-02-26T12:29:36Z
author patrick
files src/sys/dev/pci/if_bwfm_pci.c log diff annotate
message Attach to BCM4378.

date 2021-02-26T12:33:59Z
author patrick
files src/sys/dev/ic/bwfmreg.h log diff annotate
src/sys/dev/pci/if_bwfm_pci.c log diff annotate
message Read and parse OTP on the BCM4378. There are quite a few firmware and
nvram files used for the different Apple devices. The device tree and
the OTP hold the information which of those we will have to use. For
now this information will simply be printed, but depending on how we
choose to do the firmare distribution we could use it for loadfirmware().