CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2026/04/21 13:43:47
Modified files:
sys/arch/octeon/dev: octpcie.c
Log message:
sys/octeon: fix PCIe config tag layout
Octeon PCIe config-space MMIO uses a 12-bit register field; function,
device, and bus begin at bits 12, 15, and 20.
octpcie_make_tag() and octpcie_decompose_tag() used the conventional PCI
tag layout instead, so config accesses to non-zero device or function
numbers used the wrong MMIO offset.
On SRX300 this breaks enumeration of the second Broadcom switch function
at 0:0:1, which reads back garbage until the tag layout is corrected.
OK: kettenis@, visa@