Appendix · reference
Commit timeline
Project history, auto-rendered from git log.
The full commit history of this repo, newest first. Each subject is a
link to the commit on GitLab. Generated at site-build time from
git log, so the snapshot here always matches the commit the site was
built from.
For a narrative pass through the same history grouped by subsystem,
read the essays — every essay’s frontmatter commits: field
references the actual SHAs that produced the work it describes.
Full history
2026-05-10 849f01e Revert "fusb302: wait for chip BMC ACTIVITY=0 before TX_START" 2026-05-10 0388510 fusb302: wait for chip BMC ACTIVITY=0 before TX_START 2026-05-10 fed4a17 fusb302: TX_FLUSH before each TX to clear post-auto-GoodCRC latch 2026-05-10 749c4f2 fusb302: restore CONTROL0.TX_START write, OR with HOST_CUR_DEF 2026-05-10 cdde9b8 fusb302: drop CONTROL0.TX_START write, clear INT_MASK on source attach 2026-05-10 b6fd0bb fusb302: preserve POWERROLE/DATAROLE on rev-downgrade in source mode 2026-05-10 e6761b0 fusb302: defer first Source_Cap + reset PD session state on source-attach 2026-05-10 1256a8c fusb302: unmask TX/RX completion IRQs on source-attach 2026-05-10 05a091f site: essay 17 — DWC3 runtime role swap 2026-05-10 5fdec51 dwc3: drop role_swap diagnostic printfs (root cause fixed) 2026-05-10 8d886ad dwc3: release gadget IRQ in quiesce so xhci can claim it 2026-05-10 7cda476 dwc3: tighter instrumentation — print before AND after each call 2026-05-10 ecedc69 dwc3: instrument role_swap so the next wedge tells us where it hangs 2026-05-10 5db9a9c dwc3: park gadget before chip soft-reset on role swap 2026-05-09 75485c6 dwc3: hw.dwc3.role_swap sysctl — attempt runtime gadget→host alongside 2026-05-09 14a9677 dwc3: hw.dwc3.prtcap sysctl for live PRTCAPDIR toggle (no child re-attach) 2026-05-09 a05ac29 cdn_dp: DPTX_READ_LINK_STAT is 10 bytes on firmware ver 0x0475 2026-05-09 ac9fa97 cdn_dp: force_train sysctl — DPTX_TRAINING_CONTROL without HPD 2026-05-09 8251d00 cdn_dp: event_config is fire-and-forget on this firmware 2026-05-09 388e88c cdn_dp: M4.5 — HPD/EDID/DPCD probe via sysctl + event enable 2026-05-09 94ef76f cdn_dp: activate firmware via GENERAL_MAIN_CONTROL before DPTX commands 2026-05-09 7ae78a5 cdn_dp: M4.4 — mailbox protocol + DPTX_HPD_STATE smoke test 2026-05-09 5228985 cdn_dp: M4.3 — boot UCPU and read back firmware version 2026-05-09 014fc1e cdn_dp: load rockchip/dptx.bin firmware via cdn_dpfw kld 2026-05-09 d4e3f0b contrib/dev/cdn_dp: add Rockchip dptx.bin firmware blob + license 2026-05-09 a53baea cdn_dp: defer attach to normal pass so rk_typec_phy registers first 2026-05-09 345540b rk_typec_phy: register dp-port child as phy provider too 2026-05-09 b346afb cdn_dp: skeleton driver — probe + attach to rockchip,rk3399-cdn-dp 2026-05-09 049b17f docs: M4 part 1 design — cdn_dp skeleton driver 2026-05-09 e99c3a7 fusb302: M2 — source-side PE for PD contract (Source_Caps + Accept + PS_RDY) 2026-05-09 a4e8190 docs: M2 design — minimum source-side PE for PD contract 2026-05-09 04ac9aa fusb302: M1 cleanup — tighten vdm_pending locking, MPSAFE sysctl 2026-05-09 a21647f site: M1 wrap — first PD VDMs on the wire, partner contract still open 2026-05-09 e688293 fusb302: vdm_discover always fires + entry trace + clear stale pending 2026-05-08 5701eca fusb302: snapshot SVID counts under lock for stable log line 2026-05-08 e280d44 fusb302: parse Discover SVIDs response, set dp_svid_seen 2026-05-08 d980f03 fusb302: mark dp_partner_svids sysctl MPSAFE (no Giant required) 2026-05-08 f22811c fusb302: vdm_discover sysctl trigger + dp_svid_seen surface 2026-05-08 73d6910 fusb302: VDM NAK/BUSY decrements vdm_pending (match ACK path) 2026-05-08 2b358bb fusb302: VDM RX dispatch stub + softc fields 2026-05-08 65792c1 fusb302: add VDM send helper and role-aware pd_send 2026-05-08 e87ad5d fusb302: fix build_header syntax error (remove duplicate static uint16_t) 2026-05-08 c9ce26b fusb302: parameterise build_header for data/power role 2026-05-08 bb9f887 fusb302: U suffix on PD_VDM_SID / DP_SID for sign-extension safety 2026-05-08 a4e22b3 fusb302: add PD VDM Header constants and helpers (no-op) 2026-05-08 31521c3 docs: fusb302 audit - fix code-review nits (softc loc, role params, cite format) 2026-05-08 68f81ce docs: fusb302 PD message audit pre-VDM bring-up 2026-05-08 21903bc docs: fix two PD_DATATYPE typos in fusb302 VDM plan 2026-05-08 faa98ed docs: implementation plan for fusb302 PD VDM Discover M0+M1 2026-05-08 cbf59c7 docs: usb-c displayport bring-up design 2026-05-08 da9b079 site: SuperSpeed lanes light up, axge brings AX88179 up as ue0 2026-05-08 1dbe486 rk_typec_phy: add tunable USB-3 SuperSpeed bring-up 2026-05-08 5589d8a PINEPHONE_PRO: add axge / axe / ure for downstream USB Ethernet 2026-05-08 1b4004e site: usb-c host mode and source role enumerated a real hub 2026-05-07 5a1cb12 dwc3: log host-attach state unconditionally 2026-05-07 31de592 site: document usb-c host-mode bringup 2026-05-07 16a9f5e dwc3: add host-mode boot override 2026-05-07 4e5d139 fusb302: retry transient i2c transfer failures 2026-05-07 ebd8587 fusb302: return non-retry error for source guard 2026-05-07 c3ed085 rk818: avoid live i2c in voltage callback 2026-05-07 f754656 typec: guard source role on battery voltage 2026-05-07 628e536 fusb302: poll source CC attach state 2026-05-07 4d99f76 fusb302: declare state helper before source mode 2026-05-07 0a71be0 fusb302: program manual source role 2026-05-07 ef7dff9 docs: reconcile pinephone hardware statuses 2026-05-07 4ca927d docs: record tsadc qsel irq proof 2026-05-06 a856481 thermal: tighten tsadc irq bench accounting 2026-05-06 e4017e7 thermal: enable tsadc hardware qsel 2026-05-06 0497253 thermal: add runtime tsadc irq bench 2026-05-06 541ebe1 thermal: preserve normal gpu cap baseline 2026-05-06 6e41b70 thermal: detach guard rc stdio 2026-05-06 a7ba6e3 thermal: back out unsafe cpufreq caps 2026-05-06 9f0c281 thermal: cap CPU via cpufreq priority 2026-05-06 c5e4154 thermal: add soft policy verifier 2026-05-06 5f36e23 site: document confirmed internal mic capture 2026-05-06 0624070 rt5640: default DMIC to verified internal mic mode 2026-05-06 7367f66 rk_i2s: clear FIFOs after shared engine stop 2026-05-06 174d61f rt5640: avoid sleeping I2C in trigger 2026-05-06 636743a rk_i2s: start TX with capture like Linux 2026-05-06 5852817 rt5640: expose DMIC capture tuning knobs 2026-05-06 de1e38a audio: quiet amp sysclk and expose rt5640 clock 2026-05-06 35229b9 rt5640: document DMIC divider evidence 2026-05-06 9ea4599 rt5640: follow Linux DMIC data-pin binding 2026-05-06 9c7c04b rt5640: declare modify helper before DMIC apply 2026-05-06 566c384 rt5640: route DMIC pins through GPIO mux 2026-05-06 4c2c9e7 audio_soc: stop cpu dai before codec 2026-05-06 36cbc9c rt5640: declare write helper before DMIC apply 2026-05-06 0ed81d9 rt5640: add bounded DMIC tuning controls 2026-05-06 82392f6 rk_i2s: soften capture startup 2026-05-06 853796d audio: route firefox media away from pulseaudio 2026-05-06 68eba13 gpu: make wedge receipt skip stuck sysctls 2026-05-06 386f0f6 gpu: add live wedge capture receipt 2026-05-06 a97cacf phone: keep lisgd session-owned 2026-05-06 aeb159f site: record BCM43455 large-transfer proof 2026-05-06 2e6db9b site: document BCM43455 SDIO clock fix 2026-05-06 8c61d6d sdiob: enable SDIO run clock by default 2026-05-06 6e1221b sdiob: gate SDIO run clock experiment 2026-05-06 04b3817 sdiob: request run clock after SDIO discovery 2026-05-06 cf62d1b dwmmc: raise RK3399 SDIO CIU clock for high-speed traffic 2026-05-06 3fc6aac bwfm: reschedule SDIO task while TX queue has credits 2026-05-06 08a1c04 bwfm: keep rx glom parser out of disabled path 2026-05-06 b52c010 bwfm: fix rx glom parser build 2026-05-06 a7e0718 bwfm: add runtime SDIO rx glom parser 2026-05-05 6f28d6e Revert "bwfm: add experimental SDIO rx glom path" 2026-05-05 1eb35cc Revert "bwfm: include endian helpers for glom parser" 2026-05-05 fe93bae Revert "bwfm: expose rx glom parser diagnostics" 2026-05-05 d5e3467 Revert "bwfm: gate rx glom behind runtime sysctl" 2026-05-05 3d56f23 bwfm: gate rx glom behind runtime sysctl 2026-05-05 b431a34 bwfm: expose rx glom parser diagnostics 2026-05-05 f440bd3 bwfm: include endian helpers for glom parser 2026-05-05 df545fd bwfm: add experimental SDIO rx glom path 2026-05-05 a70d431 bwfm: add SDIO datapath perf counters 2026-05-05 dcd7f5e docs: record WiFi throughput retest 2026-05-05 32c352d docs: record USB Ethernet throughput 2026-05-05 37c3d3a docs: clarify WiFi IRQ status 2026-05-05 70e9d2c docs: record glmark2 thermal soak 2026-05-05 2b134eb panfrost: wait for GPU reset completion 2026-05-05 6c2af29 phone: restore thermal guard baseline caps 2026-05-05 849d54f phone: fix thermal guard rc wrapper 2026-05-05 a6558c2 phone: add thermal guard service 2026-05-05 6bc4133 docs: record soft thermal governor validation 2026-05-05 da186b5 rk_tsadc: only lower soft thermal caps 2026-05-05 5780197 rk_tsadc: add soft thermal governor 2026-05-05 9d0bc99 phone menu: surface GPU DVFS and thermal plan 2026-05-05 fdec208 docs: record Panfrost DVFS bring-up 2026-05-05 3bfc1d0 panfrost: avoid max clock for light auto work 2026-05-05 70a9c84 panfrost: quiet DVFS transition logging 2026-05-05 d3b80a7 panfrost: avoid active-job DVFS transitions 2026-05-05 737b881 panfrost: suppress no-op DVFS transitions 2026-05-05 59bde6a panfrost: add OPP-aware GPU DVFS 2026-05-05 9e02e6d docs: explain libdrm platform enumeration 2026-05-05 0eea8bd docs: record panfrost stress results 2026-05-05 75ad390 docs: correct TSADC native-q bench result 2026-05-05 fe7c539 docs: record TSADC comparator bench result 2026-05-05 4b97aca rk_tsadc: add guarded comparator IRQ bench knobs 2026-05-05 0b6febc docs: record RK3399 TSADC q-select fix 2026-05-05 e1f73c5 rk_tsadc: disarm IRQs in software q-select mode 2026-05-05 1e663e9 rk_tsadc: program comparators in native q domain 2026-05-05 ede7969 rk_tsadc: derive RK3399 q-select code in software 2026-05-05 798340c mise: make honor tasks portable from FreeBSD 2026-05-05 b1876e5 rk_tsadc: enable RK3399 q-select thermal readout 2026-05-05 47bb7a9 phone: restore GPU sway and expose thermal state 2026-05-05 4352319 bcm_hostwake: fix standalone module build 2026-05-05 a3236bd firefox: vendor mobile phone chrome config 2026-05-05 79b58d7 omfreebdy: restore bash shell and swaybar ownership 2026-05-05 00c2339 site: record WiFi PM evidence 2026-05-05 2458d80 bwfm: expose firmware power save control 2026-05-05 fb81d0f rk_vop: mask vblank interrupts when idle 2026-05-05 a962cf5 bwfm: keep MPC off after active scans 2026-05-05 0f16175 site: record Rockchip SDIO IRQ fix 2026-05-05 9703c32 bwfm: defer SDIO IRQ tasking during attach 2026-05-05 c312250 dwmmc: use Rockchip SDIO interrupt bit 2026-05-05 e653c92 site: record phone ui repair details 2026-05-05 a187d21 overlay: leave phone fuzzel edge gutters 2026-05-05 524f84f overlay: enlarge phone fuzzel launcher 2026-05-05 add7f67 overlay: make phone theme switching fail-safe 2026-05-05 ab1101b overlay: restore image swaybg with pixbuf cache 2026-05-05 86ea58d overlay: repair phone sway theme userland 2026-05-04 aced94d rk_vop: use crtc drm device for event lock 2026-05-04 fee7f1f rk_vop: register latch counters after attach 2026-05-04 583e66c rk_vop: latch page-flip events until FS_INTR 2026-05-04 f171197 site: record sway autostart isolation 2026-05-04 b2a9e81 site: record VOP wedge follow-up 2026-05-04 a830a08 rk_vop: restore atomic vblank wait 2026-05-04 d7bd9b5 drm: instrument panfrost scanout imports 2026-05-04 02b07b8 work-log 2026-05-04: GPU EGL/Mesa stack unblocked, panel still black 2026-05-04 b923e26 Revert "rk_plane: temporarily instrument atomic_update with real device_printf" 2026-05-04 65535b5 Revert "rk_plane: log dst/src rects in atomic_update — diagnostic" 2026-05-04 a618e1d rk_plane: log dst/src rects in atomic_update — diagnostic 2026-05-04 a34a9c8 rk_plane: temporarily instrument atomic_update with real device_printf 2026-05-04 3c6af28 ports: pin libdrm patch for FreeBSD platform DRM enumeration 2026-05-04 d900b71 overlay+site: powerd on by default, document the wifi+CRU fixes 2026-05-04 13e94af rk_cru: per-PLL whitelist for RK3399 PLL register window 2026-05-04 4f93cc4 bwfm: extend fn2-enable timeout to 5 s, log mbdata on timeout 2026-05-04 c593dc3 Revert "rk_spi: write CTRLR1 frame count before enable_chip" 2026-05-04 bef5863 rk_spi: write CTRLR1 frame count before enable_chip 2026-05-04 6f93843 Revert mmc_pwrseq attach power-cycle — doesn't fix bwfm fn2 timeout 2026-05-04 dc84ef5 mmc_pwrseq: regenerate patch via diff -u (clean unified format) 2026-05-04 ec98b59 mmc_pwrseq: simplify patch hunk — no trailing context with blank line 2026-05-04 e570253 mmc_pwrseq: fix patch hunk start line (113 not 107) 2026-05-04 612d375 mmc_pwrseq: fix patch — leading space on empty context line 2026-05-04 3f58023 mmc_pwrseq: complete the power cycle in attach() 2026-05-04 2859eb1 site: modeset-lock wedge re-confirmed on #145, flip claim back 2026-05-04 b81e9a1 AGENTS.md: phone now boots from eMMC, not SD 2026-05-04 2701d5a site: work log 2026-05-04 — eMMC migration arc 2026-05-03 929e3e5 PINEPHONE_PRO: temporarily disable rk_power_domain 2026-05-03 929f3e0 site: add work log for 2026-05-03 session + remaining-gaps roadmap 2026-05-03 4e6ffe4 overlay/rc.conf: switch wlan0 to background DHCP 2026-05-03 2c93eaa site: rk_power_domain working — sysctl-only first cut, framework next 2026-05-03 84175f0 rk_power_domain: use OF_decode_addr instead of fdtbus_bs_tag 2026-05-03 42dbab2 files.arm64: fix hunk count after rk_power_domain addition 2026-05-03 227e58b rk_power_domain: sysctl-only RK3399 PMU power-domain controller 2026-05-03 08f4629 site: correct essay 16 DP-Alt claim — silicon supports it, FreeBSD just doesn't yet 2026-05-03 0bef599 site: fix component matrix header counts (31/7/0/7) 2026-05-03 b0b8400 site: promote 4 fully-working drivers, document userspace gaps 2026-05-03 8d7d7be site: document rk_tsadc trim_offset_mc calibration 2026-05-03 7613729 rk_tsadc: make trim_offset_mc writable + tunable 2026-05-03 30c0220 site: mark modeset-lock + GPU-stress wedges as unconfirmed on #141 2026-05-03 18eeb81 Revert "rk_spi: write CTRLR1 frame count before each transfer" 2026-05-03 f0768d4 rk_spi: write CTRLR1 frame count before each transfer 2026-05-03 b43c96b spi-nor: revert SPI clock/CPHA debug knobs 2026-05-03 77bd439 spi-nor: try spi-cpha to chase rk_spi RDID skew 2026-05-03 0ff2f20 spi-nor: drop spi-max-frequency to 1 MHz to debug RDID skew 2026-05-03 65913b5 site: promote rk_tsadc / magnetometer / sgm3140 / rk818 to working 2026-05-03 3b6cb7b magnetometer: fix reset-gpio polarity in attach pulse 2026-05-03 31c69f6 magnetometer: deassert reset-gpio before first I2C read 2026-05-02 b7ec39b dtb: build sgm3140 overlay as part of the rockchip dtb modules 2026-05-02 54a3b6c site: add CC1 + prepared-sink contract war story to essay 16 2026-05-02 544bd86 rk818: preserve prepared Type-C sink path 2026-05-02 036fecc fusb302: keep sink Rd on both CC pins 2026-05-02 9041600 rk818: hold SWITCH2 through TCPC probe 2026-05-02 06348c6 fusb302: prepare sink path after TCPC attach 2026-05-02 8eac8e7 site: correct RK818 OTG switch docs 2026-05-02 4d190f3 rk818: decouple SWITCH2 from Type-C OTG 2026-05-02 6351db4 rk8xx: gate PMIC IRQ behind tunable 2026-05-02 65a65a1 rk8xx: carry PMIC IRQ parent as overlay 2026-05-02 6399b97 rk8xx: use insertion hunks for IRQ patch 2026-05-02 aa76411 rk8xx: fix IRQ patch hunk count 2026-05-02 d1b3a0b rk818: drive charger updates from PMIC IRQ 2026-05-02 17df9ff site: document power supply cleanup 2026-05-02 b8223f6 wifi: wait longer for bwfm boot attach 2026-05-02 2036021 power: fix files.arm64 patch hunk 2026-05-02 6469f2e power: add charger coordination layer 2026-05-02 ccd3862 rk818: publish charger after lock init 2026-05-02 d51baa8 fusb302: settle non-PD Type-C sources 2026-05-02 6cb29ab usb-c: roll back post-wednesday role scaffold 2026-05-02 3f72b0e rk_vop: roll back unproven vblank latch 2026-05-01 401937c pinetab2: add rk817 battery monitor 2026-05-01 b341a40 pinetab2: adapt goodix driver for gt911 2026-05-01 0ff363c pinetab2: support gpio switch events 2026-05-01 7ba7c44 pinetab2: prepare saradc volume keys 2026-05-01 76ebfe4 pinetab2: add sc7a20 accelerometer candidate 2026-05-01 37cf86d pinetab2: add first boot receipt tool 2026-05-01 1144cb1 pinetab2: quiet first boot device tree 2026-05-01 3144a7d pinetab2: enable MMCCAM for SDIO modules 2026-05-01 ad523b3 pinetab2: add first boot staging tools 2026-05-01 6eac91c pinetab2: add first boot kernel and dtb 2026-05-01 97703f2 site: add pinephone pro board index 2026-05-01 b81b6c0 ci: install bash for site tests 2026-05-01 b3475a2 site: add pinetab2 board index 2026-05-01 35f9366 site: improve mobile hardware references 2026-05-01 9cc4896 site: split board hardware references 2026-05-01 e8d6b2c fix: close candidate driver audit risks 2026-05-01 94a0721 fix: align candidate drivers with references 2026-05-01 75df20e build: retry coppice snapshot cleanup 2026-05-01 86aa107 build: add coppice source-cache snapshots 2026-05-01 6c5a589 docs: record coppice kernel smoke pass 2026-05-01 41aead6 build: include rk818 charger helper 2026-05-01 fda814e build: detach coppice kernel smoke 2026-05-01 de0c2cd tools: harden coppice build smoke 2026-05-01 08df16a docs: refresh phone support status 2026-05-01 a3f8407 hardware: correct PinePhone Pro spec map 2026-05-01 f2958d5 coppice: harden build smoke networking 2026-05-01 38a3fd4 coppice: add build smoke preflight 2026-05-01 7ec541a site: log phone bench prep work 2026-05-01 41c2bfa bench: add phone receipt analyzer 2026-05-01 9009f9f bench: add phone receipt bundle 2026-05-01 70763a9 sensors: add combined phone receipt 2026-05-01 b957995 gd25lq128: add read-only bench verifier 2026-05-01 47cd7e0 sgm3140: add bounded flash bench helper 2026-05-01 e3b9325 vibrator: quiesce on suspend 2026-05-01 d3857f0 vibrator: add rumble bench verifier 2026-05-01 5e5c8f8 vibrator: add gpio rumble candidate 2026-05-01 309ce76 tsadc: leave hardware shutdown disarmed by default 2026-04-30 59b7587 magnetometer: add polled raw axis reads 2026-04-30 f406007 wifi: add fallback rate matrix runner 2026-04-30 e6740a1 wifi: classify debug receipts 2026-04-30 8f89c06 bwfm_sdio: make poll fallback rate tunable 2026-04-30 b58ce61 wifi: capture irq fallback receipts 2026-04-30 1897d56 bwfm_sdio: expose poll fallback mode 2026-04-30 340dc6f usb-pd wifi sdio parity followups 2026-04-30 36d4794 rk_vop: latch page-flip events until FS_INTR 2026-04-30 e0ad0ad fusb302 + rk818: source-role / OTG path scaffold 2026-04-30 437cd8d docs: correct rt5640 register/bit info caught by implementation agents 2026-04-30 355600c rt5640: power analog headset capture chain on recsrc=headset 2026-04-30 335f2de pl330: enable RK3399 DMA controllers (dmac_bus + dmac_peri) 2026-04-30 111af72 overlay: phone-orientation + phone-proximity userland scripts 2026-04-30 5dd4330 mpu6500 + stk3311: IRQ-driven sample updates 2026-04-30 c3f2674 rk818: expose battery gauge to userspace via sysctls 2026-04-30 75660ac bwfm: gate ctrl-credit reservation by TX-queue head, not unconditionally 2026-04-30 0449a26 rk_tsadc: port RK3399 thermal sensor driver from Linux mainline 2026-04-30 141c927 bwfm: control-frame credits, EAPOL priority, BCM43455 scan v0 shortcut 2026-04-30 26998bd rt5640: enable DMIC1 microphone capture path 2026-04-30 85f2299 rk_tsadc: port RK3399 thermal sensor driver from Linux mainline 2026-04-30 6240500 site: components matrix reflects wave-2 implementation status 2026-04-30 d5258bf docs: sweep HARDWARE.md and hardware.mdx for stale info 2026-04-30 132d03f rk_efuse: port RK3399 eFuse driver from Linux mainline 2026-04-30 83ab0d0 magnetometer: i2c4@0x0c probe scaffold (AK09911 vs AF8133J) 2026-04-30 06002ba sgm3140: expose flash + torch as gpioled(4) consumers 2026-04-30 cd593f5 rt5640: defer init to taskqueue (LOR fix, matches Linux regmap pattern) 2026-04-30 a272046 vibrator: expose motor as /dev/led/vibrator gpioled consumer 2026-04-30 d17cd14 fusb302: post-Hard_Reset recovery without manual reattach 2026-04-30 21b88a8 rk_vop: ack only fired interrupts; restore wait_for_vblanks 2026-04-30 6523c81 gd25lq128: status delta + parity bench plan 2026-04-30 ce9c277 bwfm: NVRAM trailing-NUL count matches Linux 2026-04-30 149b97c site: per-component reference pages + matrix index for the PinePhone Pro 2026-04-30 89431f1 site: cross-driver audit appendix — Linux/OpenBSD comparison + open-wedge root causes 2026-04-30 30977bf site: log SDIO IRQ enablement series + reframe GPU next as the modeset wedge 2026-04-30 5df226f Retry Pages deployment 2026-04-30 fd96034 Clarify WiFi finishing plan on site 2026-04-29 5c4b836 Keep DWMMC clock running for SDIO IRQ 2026-04-29 4551918 Avoid SDIO transactions in debug sysctls 2026-04-29 1dc2f2a Bound WiFi transfer debug snapshots 2026-04-29 c907a95 Add passive WiFi IRQ state sysctls 2026-04-29 fe0d986 Make WiFi transfer trace dumps opt-in 2026-04-29 3a9470a Instrument SDIO IRQ bringup state 2026-04-29 db845c8 Keep bwfm poll fallback during IRQ bringup 2026-04-29 66f6174 Fix dwmmc DMA interrupt handling with SDIO IRQ 2026-04-29 916fe51 Add SDIO IRQ support for bwfm 2026-04-29 9b91e46 site: log latest WiFi stability work 2026-04-29 3ae7795 Defer bwfm firmware key deletes 2026-04-29 6a4965e Use net80211 TX completion helper 2026-04-29 edea1e8 Improve bwfm TX queue accounting 2026-04-29 f606fc5 Fix bwfm net80211 TX mbuf ownership 2026-04-29 4ea189c Harden bwfm SDIO bounce buffer bounds 2026-04-29 eaef93a Fix WiFi transfer harness quoting 2026-04-29 0a3d215 Add WiFi transfer debug harness 2026-04-29 fd7fd70 Add bwfm SDIO task trace 2026-04-29 395005f Disable unsupported bwfm SDIO glomming 2026-04-29 3aab580 Answer loader terminal query in serial logger 2026-04-29 f0285df Instrument bwfm SDIO TX path 2026-04-29 0f7cd11 site: document modeset-lock wedge reproduction + open WarStory 2026-04-29 279739c scripts/wedge-repro: deterministic load generator for the modeset-lock wedge 2026-04-29 e22bae6 drm: gate WARN_ON kdb_backtrace+panic behind sysctls for wedge debugging 2026-04-29 31bfa1f bwfm: enable 802.11n / HT advertisement, disable firmware power save 2026-04-29 582e402 fusb302+rk818: add manual source-role sysctl for USB-C OTG host mode 2026-04-29 329517a site: reconcile essay statuses with reality (touch working, GPU partial) 2026-04-29 33e5f28 rk818: force-clear OTG/SWITCH2 from periodic dump too 2026-04-29 9dd8ffc site: rk818 charge fault resolved — DCDC_EN.OTG/SWITCH2 was the answer 2026-04-29 8da75ba rk818: clear OTG/SWITCH2 in DCDC_EN — battery now charges from PD 2026-04-29 c11afd2 rk818: correct INT_STS register addresses + decoded bit names 2026-04-28 8f68bf9 rk818: forward decls for the new helpers (build fix for f8e26a1) 2026-04-28 f8e26a1 rk818: live debug — periodic dump, peek/poke sysctls, set USB_VLIM_EN 2026-04-28 8deedba fusb302: handle inbound Hard_Reset (INTA.HARDRST) 2026-04-28 5c662e5 site: appendix entry on rk818 charger stuck in discharging 2026-04-28 d4e3c83 rk818: decode SUP_STS FSM + dump USB_CTRL in charger status 2026-04-28 4e5a98d rk818: dump charger status after USB input-limit write (real diff) 2026-04-28 3814faf rk818: dump charger status after USB input-limit write 2026-04-28 f3d490a site: add callout(9) driver audit appendix 2026-04-28 12a63fe fusb302: PD timers via callout instead of state-age polling 2026-04-28 e6ca263 fusb302: send Request from EVALUATE, not SELECT 2026-04-28 045efa2 fusb302: event-driven TX completion + per-TX retry program + COLLISION unmask 2026-04-28 a8b584d fusb302: default GoodCRC to Rev3 (downgrade only on Rev2 partner) 2026-04-28 ee8daad fusb302: dynamic SPECREV, programmed MEASURE/POWER, rx_msgid tracking 2026-04-28 ce438be fusb302: reattach now drops Rd for 200ms before re-init 2026-04-28 94b42f7 fusb302: re-detect orientation on BC_LVL drop, add reattach sysctl 2026-04-28 721a522 Revert "fusb302: drop CONTROL0.TX_START write — TXON token in FIFO fires the PHY" 2026-04-28 5ca6317 fusb302: switch from 10ms polling to IRQ-driven worker 2026-04-28 a1c839d fusb302: drop CONTROL0.TX_START write — TXON token in FIFO fires the PHY 2026-04-28 ab55d7e Revert "fusb302: re-detect orientation on BC_LVL drop (cable flip / source replug)" 2026-04-28 1dcd3a6 fusb302: re-detect orientation on BC_LVL drop (cable flip / source replug) 2026-04-28 1d25aa9 fusb302: instrument TX path with full register snapshot 2026-04-28 bbf7aff site: status snapshot picks up audio amp, Hyprland v3, USB-PD partial, WiFi working 2026-04-28 85063e9 site: add USB-PD sink debug essay (essay 16) 2026-04-28 507b3b4 site: audio essay reflects working speaker route via simple-amp GPIO 2026-04-28 2d3fc5f fusb302: flush TX FIFO before queuing each PD message 2026-04-28 a4f63d3 fusb302: retry cable detection while in PE_DISABLED 2026-04-28 ef6035e fusb302+rk818: apply PD-negotiated input current to the charger 2026-04-28 c3809d5 fusb302: actually trigger transmission with CONTROL0.TX_START 2026-04-28 a9121e3 fusb302: forgive Request/PS_RDY timeouts; stop spurious hard resets 2026-04-28 809d9cf fusb302: stop blasting hard resets; advertise PD r3.0 GoodCRC 2026-04-28 86c8e52 swaybar: status_command emits battery+clock i3bar JSON 2026-04-28 623f775 overlay: add battery-status waybar module + sway-flavored waybar config 2026-04-28 a91a2a4 fusb302: dump CONTROL0/3/MASK/MASKA/MASKB/SWITCHES0/1 in 5s diagnostic 2026-04-28 263aef5 fusb302: fix prior commit's comment (had INTERRUPT*/* closing /* mid-line) 2026-04-28 7fb5992 fusb302: clear CONTROL0.M_INT_MASK so interrupt latches actually fire 2026-04-28 0d6a355 fusb302: accumulate interrupt bits across diagnostic dump window 2026-04-27 33f0e7a fusb302: log chip status periodically + drain RX when FIFO non-empty 2026-04-27 6bf3223 fusb302: drop PDWN on inactive CC line post-attach 2026-04-27 88f04f4 fusb302: add USB-PD sink state machine 2026-04-27 3d52952 hypr: migrate to 0.54 v3 windowrule syntax + phone.conf overlay 2026-04-27 5e67a6d sway: launch under dbus-run-session 2026-04-27 be6f2f1 audio: include GPIO definitions for simple amp 2026-04-27 3b23d2f audio: drive simple amplifier enable GPIO 2026-04-27 34d27be audio: default to loudspeaker route only 2026-04-27 d275af2 audio: add RT5640 route diagnostics 2026-04-27 593f456 audio: restore audible RT5640 speaker route 2026-04-27 94c18d7 audio: isolate loudspeaker path and add RT5640 gain tuning 2026-04-27 ade2835 Add audio path diagnostics 2026-04-27 615a8a5 Route RT5640 speaker volume through HP mixer 2026-04-27 8c8e5ad Add Panfrost GPU clock control 2026-04-27 1aa95a8 Update GPU site status 2026-04-27 be91afa Refcount Panfrost file lifetime 2026-04-27 34bb3d9 Fix Panfrost scheduler parking diagnostics and clock 2026-04-26 3378d3d Queue Panfrost reset before scheduler stop 2026-04-26 1a5666e Defer Panfrost timeout reset to taskqueue 2026-04-26 10cf49e Drain Panfrost jobs before MMU teardown 2026-04-26 a443bc7 Avoid sleeping under Panfrost queue lock 2026-04-26 cf2dd90 Fix Panfrost reset fence signaling context 2026-04-26 f5184d0 Harden Panfrost reset fence recovery 2026-04-26 ef37a4e Gate Panfrost first-event tracing 2026-04-26 a87cce0 Update PinePhone Pro site status 2026-04-26 f3ec9e1 Fix Panfrost large BO allocation fallback 2026-04-26 19d8fcb Add verified phone kernel deploy tasks 2026-04-26 9c0839d Gate SDIO debug and update sensor status 2026-04-26 963fc6c Add PinePhone sensor and LED tasks 2026-04-26 2f5b25f Use plaintext fences for DTS snippets 2026-04-26 dc46437 Document phone screen power toggle 2026-04-26 e44ec65 Add repeatable EG25 modem power task 2026-04-25 2b631b6 Add repeatable modem status probe 2026-04-25 9e5446a Gate bwfm diagnostics 2026-04-25 d10638e Make PinePhone WiFi boot setup repeatable 2026-04-25 bc58198 Wait for WPA before WiFi DHCP 2026-04-25 56b3a7b Start PinePhone WiFi with WPA DHCP 2026-04-25 2862f34 Pass WPA IE to bwfm firmware 2026-04-25 066702e Use 802.3 transmit encapsulation for bwfm 2026-04-25 871c39d Mark firmware-associated bwfm nodes 2026-04-25 1475c7a Handle successful bwfm link events 2026-04-25 c610a2e Defer bwfm state firmware commands 2026-04-25 cec94d9 Use FreeBSD 2GHz channel flags for bwfm 2026-04-25 ec07891 Avoid live reload for bwfm_sdio 2026-04-25 bb04072 Advertise BCM4345 2GHz WiFi channels 2026-04-25 478dd58 Fix bwfm WiFi boot race and SD repair 2026-04-25 7b597e4 Fix files.arm64 patch after bwfm revert 2026-04-25 8967f12 Use a single canonical bwfm_sdio module 2026-04-25 c8bc213 Fix bwfm_sdio kernel file list patch 2026-04-25 ff2aa6f Bake bwfm_sdio into the phone kernel 2026-04-24 7ddb64b Update site for working WiFi scan 2026-04-24 a07afa7 Tag synthetic bwfm scans with rx channel 2026-04-24 8038425 Fix scan-cache debug for FreeBSD 15 2026-04-24 2b565e6 Dump net80211 scan cache after escan 2026-04-24 33c5cea Trace escan truncation guard 2026-04-24 f0d022c Trace escan result ingestion 2026-04-24 c9c2b84 Load Broadcom CLM blob on SDIO attach 2026-04-24 5b3b1de Trace Broadcom chanspec availability 2026-04-24 123db51 Use chanspec iovar in scan probe 2026-04-24 0c1331d Probe firmware channel before scan 2026-04-24 75ad558 Fail fast on dead phone SSH 2026-04-24 fdb4102 Add repeatable WiFi debug capture 2026-04-24 55ca778 Add repeatable phone module deploy workflow 2026-04-24 bc88584 Program firmware channel from net80211 2026-04-24 ffb35ec Match OpenBSD bwfm C_UP baseline 2026-04-24 7cbb8e5 Use passive broad scans in bwfm 2026-04-24 3acf8cb Let bwfm firmware choose scan channels 2026-04-24 d53e1b2 Reset bwfm security state before scan 2026-04-24 5a79e84 Trace bwfm firmware state before scan 2026-04-24 3299d7a End bwfm offloaded scans on immediate firmware failure 2026-04-24 d146f2b Advertise bwfm scan offload to net80211 2026-04-24 b14fafb Trigger bwfm scans from ic_scan_start 2026-04-24 4e10d2f Send full scan payload in bwfm WLC_SCAN fallback 2026-04-24 388b21b Fix bwfm scan header order for FreeBSD build 2026-04-24 46fa56e Use net80211 scan state in bwfm scan requests 2026-04-24 ad6066c Use FreeBSD VAP scan state in bwfm 2026-04-24 216918c Align bwfm scan handling with OpenBSD 2026-04-24 3735513 Fix honor build tasks and module workflow 2026-04-24 00fcaea Gate bwfm scan on firmware interface readiness 2026-04-23 c4473b4 Reassert bwfm scan state before scan 2026-04-23 a1e70bf Probe legacy bwfm scan command 2026-04-23 df25cf7 Probe bwfm escan v2 before v0 fallback 2026-04-23 3dddfd8 Use active bwfm scan requests 2026-04-23 bd485da Disable bwfm MPC before scan 2026-04-23 9e62421 Trace bwfm interface bring-up 2026-04-23 1d60b38 Set bwfm interface up before scan 2026-04-23 9958a1d Trace bwfm scan path 2026-04-23 7b6561d Trace bwfm MAC handoff into net80211 2026-04-23 55f5b45 Copy bwfm firmware MAC into net80211 2026-04-23 c9d97c0 Repair bwfm tx queue on first control send 2026-04-23 1594fe4 Initialize bwfm tx queue before deferred init 2026-04-23 d9c7523 Tighten bwfm opportunistic fn2 reads 2026-04-23 272d79c Read bwfm fn2 opportunistically once ready 2026-04-23 3611221 Queue bwfm control TX behind firmware credits 2026-04-23 01ee639 Trim bwfm poll spam and trace attach 2026-04-23 263fbf8 Tune BCM43455 SDIO fn2 registers 2026-04-23 884d0c3 Restore bwfm deferred init after NVRAM fix 2026-04-23 8496e21 Match Linux bwfm SDIO NVRAM layout 2026-04-23 024b11d Filter commit timelines before limiting 2026-04-23 840c46f Experiment with an ARM-mode CR4 reset stub 2026-04-23 6b7fc9d Record the latest bwfm CR4 debug findings 2026-04-23 897d286 Instrument CR4 state during bwfm SDIO bringup 2026-04-23 12784c4 Theme and serialize the Sway volume OSD 2026-04-23 52138be Add a replacing volume OSD for Sway 2026-04-23 be07991 Verify volume keys and drop audio debug spew 2026-04-23 2612871 Add ADC keys debug sysctls 2026-04-23 ba35d36 Fix files.arm64 patch hunk formatting 2026-04-23 32e626d Add PPP SARADC volume keys and refresh status docs 2026-04-23 1a21934 site: landing verdict — on-device audio working 2026-04-23 54ca78f essay 15: on-device audio closed — DAC1_DIG_VOL was the bug 2026-04-23 1f7efe7 essay 14: flip on-device audio status to working 2026-04-23 e958ffe essay 13: audio working — DAC1_DIG_VOL polarity (TLV that lied) 2026-04-23 4ce7a60 rt5640: fix DAC1_DIG_VOL polarity (0x0000 was -65.6dB) + OUT MIX regs 2026-04-23 5c36c05 rt5640: disable internal JD (JD_HP_AUTO was muting HPOL/HPOR) 2026-04-23 79bbc43 rt5640: fix output-mixer addrs + open digital path through AD_DA_MIXER 2026-04-23 f2d2ebd essay 13: war story for codec rails + HPO topology + stale-DTB blast 2026-04-23 08eafa7 essay 06: war story for rk_i2c iicbus IRQ blackhole 2026-04-23 dffb1d4 essay 05: war story for dwc3 TX watchdog vs ISR race 2026-04-23 a7b237f dts: flip dr_mode back to peripheral (CDC Ethernet over USB-C) 2026-04-23 862b66f dts: mark vcca1v8_codec + vcca3v0_codec as always-on 2026-04-23 c5e384c rt5640: full HP power-on sequence per Linux mainline 2026-04-23 d51515f rt5640: unmute DAC1 in HPO_MIXER (was muted = zero signal to speaker amp) 2026-04-23 2bfc941 rt5640: read back speaker-path regs after init (debug) 2026-04-23 57d58de rt5640: fix speaker register bits — DAC_L1 and SPKVOL routes were inverted 2026-04-23 7aac896 rt5640: enable speaker output path 2026-04-23 fc5d687 rk_i2s: change ISR diagnostics from boot-cap to transition+rate-limited 2026-04-23 2972362 rk_i2c + goodix: fix iicbus child IRQ alloc 2026-04-23 02fa9f8 goodix: fix BUS_RELEASE_RESOURCE arg count (3 not 5) 2026-04-23 2b9f381 goodix: bypass iicbus's bus_generic_rl path to find which layer drops IRQ alloc 2026-04-23 9fa5edf goodix: defer IRQ setup via config_intrhook to test attach-order hypothesis 2026-04-23 d2e5654 goodix: split rman_reserve from activation in IRQ debug 2026-04-23 7188cd6 goodix: heavy debug instrumentation for IRQ alloc failure 2026-04-23 1da53f2 goodix: revert to canonical iicbus SYS_RES_IRQ path
By subsystem
Bluetooth
2026-05-05 4352319 bcm_hostwake: fix standalone module build 2026-04-25 bb04072 Advertise BCM4345 2GHz WiFi channels 2026-04-22 f9cb4c3 site: essays 9-12 — Bluetooth arc from H4 framing to A2DP playing 2026-04-22 baafaea A2DP AUDIO CONFIRMED PLAYING 🎉 2026-04-22 6796444 BT diagnostic scripts: checkpoint-based state capture + A2DP reached 2026-04-22 64b2c55 bt_one_shot.sh: single-ACL pair+encrypt+A2DP sequence 2026-04-22 67f80aa A2DP debug: bluez auto-confirmation agent + loader env tweak 2026-04-22 4b65e2a bcm_firmware_load.pl: set BlueZ event mask to deliver SSP events 2026-04-22 d943f11 bcm bringup: respect HCI command credit + drop unnecessary VSCs 2026-04-21 1c54ec5 bt diagnostics: hcisniff, hcicmd, bt_a2dp, bt_listen scripts 2026-04-21 b8a2632 bcm_hostwake: pin DEV_WAKE HIGH, remove idle drop 2026-04-21 38146c0 bcm-hostwake: switch to DT overlay instead of base-DTB patch 2026-04-21 0b3ae0c dts patch: use correct bt pinctrl labels (bt_host_wake_pin / bt_wake_pin) 2026-04-21 8f3fdeb dts patch: fix line numbers for bcm-hostwake insertion 2026-04-21 4fedd5c bcm_hostwake: rewrite as simplebus FDT driver for real GPIO IRQ 2026-04-21 f88462a bcm_hostwake: revert to polling with DEV_WAKE drive 2026-04-21 8ccee03 bcm_hostwake: rewrite as real IRQ handler mimicking hci_bcm 2026-04-21 905f61b bcm loader: set sleep_mode=0 with Linux-default polarity 2026-04-21 242c4ef ng_hci: handle SSP events 0x32/0x33/0x34/0x35 2026-04-21 db20935 bcm loader: skip LPM VSC, enable SSP + BlueZ event mask 2026-04-21 033ecf4 ng_l2cap: drop empty ACL packets (BCM4345 keepalive quirk) 2026-04-21 313881d l2cap: regenerate patch via diff -u 2026-04-21 912a091 ng_l2cap: accept raw-HCI-initiated connections via lp_con_cfm 2026-04-21 532cba8 ng_hci: tolerate spurious Command_Complete + notify upstream on raw-HCI conn 2026-04-21 22d91e3 bcm firmware + ng_hci: fix post-patchram init + preserve INITED 2026-04-21 6b2783c ng_hci: default page_scan_rep_mode=R1 for unknown peers 2026-04-20 e9f95fc snps: 200Hz polled RX on BT UART to bypass IRQ-delivery stalls 2026-04-20 19feac2 BCM4345: switch chip+host UART to 1500000 baud 2026-04-20 cd6b7ed bcm_hostwake: experimental module probing BCM4345 HOST_WAKE GPIO 2026-04-20 91261a8 hcsecd: add SSP (Just Works) pairing support 2026-04-20 185a961 ng_h4frame: only tickle when mid-parsing HCI event packets 2026-04-20 35a1969 ng_h4frame: bump tickle threshold to 500ms to avoid interfering with active L2CAP 2026-04-20 52a4ec0 ng_h4frame: TX tickler workaround for BCM trailing-byte stall 2026-04-20 4c81665 Fix BT trailing-byte stall: ns8250 BUSY-swallow + BCM LPM disable 2026-04-20 cd1630b bt: add BCM4345C0 firmware (correct chip variant) 2026-04-20 b5790e3 bt: add bt_attach userland tool + BCM4345C5 firmware 2026-04-20 248fe0e ng_h4frame: new netgraph node for HCI H4 framing
USB
2026-05-10 05a091f site: essay 17 — DWC3 runtime role swap 2026-05-10 5fdec51 dwc3: drop role_swap diagnostic printfs (root cause fixed) 2026-05-10 8d886ad dwc3: release gadget IRQ in quiesce so xhci can claim it 2026-05-10 7cda476 dwc3: tighter instrumentation — print before AND after each call 2026-05-10 ecedc69 dwc3: instrument role_swap so the next wedge tells us where it hangs 2026-05-10 5db9a9c dwc3: park gadget before chip soft-reset on role swap 2026-05-09 75485c6 dwc3: hw.dwc3.role_swap sysctl — attempt runtime gadget→host alongside 2026-05-09 14a9677 dwc3: hw.dwc3.prtcap sysctl for live PRTCAPDIR toggle (no child re-attach) 2026-05-08 cbf59c7 docs: usb-c displayport bring-up design 2026-05-08 1dbe486 rk_typec_phy: add tunable USB-3 SuperSpeed bring-up 2026-05-08 5589d8a PINEPHONE_PRO: add axge / axe / ure for downstream USB Ethernet 2026-05-08 1b4004e site: usb-c host mode and source role enumerated a real hub 2026-05-07 5a1cb12 dwc3: log host-attach state unconditionally 2026-05-07 31de592 site: document usb-c host-mode bringup 2026-05-07 16a9f5e dwc3: add host-mode boot override 2026-05-05 32c352d docs: record USB Ethernet throughput 2026-05-02 6cb29ab usb-c: roll back post-wednesday role scaffold 2026-04-30 340dc6f usb-pd wifi sdio parity followups 2026-04-29 582e402 fusb302+rk818: add manual source-role sysctl for USB-C OTG host mode 2026-04-28 4e5a98d rk818: dump charger status after USB input-limit write (real diff) 2026-04-28 3814faf rk818: dump charger status after USB input-limit write 2026-04-28 bbf7aff site: status snapshot picks up audio amp, Hyprland v3, USB-PD partial, WiFi working 2026-04-28 85063e9 site: add USB-PD sink debug essay (essay 16) 2026-04-27 88f04f4 fusb302: add USB-PD sink state machine 2026-04-23 dffb1d4 essay 05: war story for dwc3 TX watchdog vs ISR race 2026-04-23 a7b237f dts: flip dr_mode back to peripheral (CDC Ethernet over USB-C)
Display
2026-05-05 2b134eb panfrost: wait for GPU reset completion 2026-05-05 fdec208 docs: record Panfrost DVFS bring-up 2026-05-05 3bfc1d0 panfrost: avoid max clock for light auto work 2026-05-05 70a9c84 panfrost: quiet DVFS transition logging 2026-05-05 d3b80a7 panfrost: avoid active-job DVFS transitions 2026-05-05 737b881 panfrost: suppress no-op DVFS transitions 2026-05-05 59bde6a panfrost: add OPP-aware GPU DVFS 2026-05-05 0eea8bd docs: record panfrost stress results 2026-05-05 fb81d0f rk_vop: mask vblank interrupts when idle 2026-05-04 aced94d rk_vop: use crtc drm device for event lock 2026-05-04 fee7f1f rk_vop: register latch counters after attach 2026-05-04 583e66c rk_vop: latch page-flip events until FS_INTR 2026-05-04 b2a9e81 site: record VOP wedge follow-up 2026-05-04 a830a08 rk_vop: restore atomic vblank wait 2026-05-04 d7bd9b5 drm: instrument panfrost scanout imports 2026-05-04 3c6af28 ports: pin libdrm patch for FreeBSD platform DRM enumeration 2026-05-02 3f72b0e rk_vop: roll back unproven vblank latch 2026-04-30 36d4794 rk_vop: latch page-flip events until FS_INTR 2026-04-30 21b88a8 rk_vop: ack only fired interrupts; restore wait_for_vblanks 2026-04-29 e22bae6 drm: gate WARN_ON kdb_backtrace+panic behind sysctls for wedge debugging 2026-04-27 8c8e5ad Add Panfrost GPU clock control 2026-04-27 be91afa Refcount Panfrost file lifetime 2026-04-27 34bb3d9 Fix Panfrost scheduler parking diagnostics and clock 2026-04-26 3378d3d Queue Panfrost reset before scheduler stop 2026-04-26 1a5666e Defer Panfrost timeout reset to taskqueue 2026-04-26 10cf49e Drain Panfrost jobs before MMU teardown 2026-04-26 a443bc7 Avoid sleeping under Panfrost queue lock 2026-04-26 cf2dd90 Fix Panfrost reset fence signaling context 2026-04-26 f5184d0 Harden Panfrost reset fence recovery 2026-04-26 ef37a4e Gate Panfrost first-event tracing 2026-04-26 f3ec9e1 Fix Panfrost large BO allocation fallback 2026-04-22 bc6b664 drm: fix rk_plane panic that triggered DRM atomic_helper NULL deref 2026-04-22 3874652 site: essays 5-8 — DWC3, Goodix, display, panfrost war stories
Audio
2026-05-06 0624070 rt5640: default DMIC to verified internal mic mode 2026-05-06 174d61f rt5640: avoid sleeping I2C in trigger 2026-05-06 5852817 rt5640: expose DMIC capture tuning knobs 2026-05-06 de1e38a audio: quiet amp sysclk and expose rt5640 clock 2026-05-06 35229b9 rt5640: document DMIC divider evidence 2026-05-06 9ea4599 rt5640: follow Linux DMIC data-pin binding 2026-05-06 9c7c04b rt5640: declare modify helper before DMIC apply 2026-05-06 566c384 rt5640: route DMIC pins through GPIO mux 2026-05-06 36cbc9c rt5640: declare write helper before DMIC apply 2026-05-06 0ed81d9 rt5640: add bounded DMIC tuning controls 2026-05-06 853796d audio: route firefox media away from pulseaudio 2026-04-30 437cd8d docs: correct rt5640 register/bit info caught by implementation agents 2026-04-30 355600c rt5640: power analog headset capture chain on recsrc=headset 2026-04-30 26998bd rt5640: enable DMIC1 microphone capture path 2026-04-30 cd593f5 rt5640: defer init to taskqueue (LOR fix, matches Linux regmap pattern) 2026-04-28 bbf7aff site: status snapshot picks up audio amp, Hyprland v3, USB-PD partial, WiFi working 2026-04-28 507b3b4 site: audio essay reflects working speaker route via simple-amp GPIO 2026-04-27 be6f2f1 audio: include GPIO definitions for simple amp 2026-04-27 3b23d2f audio: drive simple amplifier enable GPIO 2026-04-27 34d27be audio: default to loudspeaker route only 2026-04-27 d275af2 audio: add RT5640 route diagnostics 2026-04-27 593f456 audio: restore audible RT5640 speaker route 2026-04-27 94c18d7 audio: isolate loudspeaker path and add RT5640 gain tuning 2026-04-27 ade2835 Add audio path diagnostics 2026-04-27 615a8a5 Route RT5640 speaker volume through HP mixer 2026-04-23 be07991 Verify volume keys and drop audio debug spew 2026-04-23 1a21934 site: landing verdict — on-device audio working 2026-04-23 54ca78f essay 15: on-device audio closed — DAC1_DIG_VOL was the bug 2026-04-23 1f7efe7 essay 14: flip on-device audio status to working 2026-04-23 e958ffe essay 13: audio working — DAC1_DIG_VOL polarity (TLV that lied) 2026-04-23 4ce7a60 rt5640: fix DAC1_DIG_VOL polarity (0x0000 was -65.6dB) + OUT MIX regs 2026-04-23 5c36c05 rt5640: disable internal JD (JD_HP_AUTO was muting HPOL/HPOR) 2026-04-23 79bbc43 rt5640: fix output-mixer addrs + open digital path through AD_DA_MIXER 2026-04-23 c5e384c rt5640: full HP power-on sequence per Linux mainline 2026-04-23 d51515f rt5640: unmute DAC1 in HPO_MIXER (was muted = zero signal to speaker amp) 2026-04-23 2bfc941 rt5640: read back speaker-path regs after init (debug) 2026-04-23 57d58de rt5640: fix speaker register bits — DAC_L1 and SPKVOL routes were inverted 2026-04-23 7aac896 rt5640: enable speaker output path 2026-04-22 8133d93 site: essays 13-15 — on-device audio, status snapshot, roadmap
WiFi
2026-05-06 3fc6aac bwfm: reschedule SDIO task while TX queue has credits 2026-05-06 08a1c04 bwfm: keep rx glom parser out of disabled path 2026-05-06 b52c010 bwfm: fix rx glom parser build 2026-05-06 a7e0718 bwfm: add runtime SDIO rx glom parser 2026-05-05 6f28d6e Revert "bwfm: add experimental SDIO rx glom path" 2026-05-05 1eb35cc Revert "bwfm: include endian helpers for glom parser" 2026-05-05 fe93bae Revert "bwfm: expose rx glom parser diagnostics" 2026-05-05 d5e3467 Revert "bwfm: gate rx glom behind runtime sysctl" 2026-05-05 3d56f23 bwfm: gate rx glom behind runtime sysctl 2026-05-05 b431a34 bwfm: expose rx glom parser diagnostics 2026-05-05 f440bd3 bwfm: include endian helpers for glom parser 2026-05-05 df545fd bwfm: add experimental SDIO rx glom path 2026-05-05 a70d431 bwfm: add SDIO datapath perf counters 2026-05-05 dcd7f5e docs: record WiFi throughput retest 2026-05-05 37c3d3a docs: clarify WiFi IRQ status 2026-05-05 00c2339 site: record WiFi PM evidence 2026-05-05 2458d80 bwfm: expose firmware power save control 2026-05-05 a962cf5 bwfm: keep MPC off after active scans 2026-05-05 9703c32 bwfm: defer SDIO IRQ tasking during attach 2026-05-04 d900b71 overlay+site: powerd on by default, document the wifi+CRU fixes 2026-05-04 4f93cc4 bwfm: extend fn2-enable timeout to 5 s, log mbdata on timeout 2026-05-04 6f93843 Revert mmc_pwrseq attach power-cycle — doesn't fix bwfm fn2 timeout 2026-05-02 b8223f6 wifi: wait longer for bwfm boot attach 2026-04-30 f406007 wifi: add fallback rate matrix runner 2026-04-30 e6740a1 wifi: classify debug receipts 2026-04-30 b58ce61 wifi: capture irq fallback receipts 2026-04-30 340dc6f usb-pd wifi sdio parity followups 2026-04-30 75660ac bwfm: gate ctrl-credit reservation by TX-queue head, not unconditionally 2026-04-30 141c927 bwfm: control-frame credits, EAPOL priority, BCM43455 scan v0 shortcut 2026-04-30 ce9c277 bwfm: NVRAM trailing-NUL count matches Linux 2026-04-30 fd96034 Clarify WiFi finishing plan on site 2026-04-29 1dc2f2a Bound WiFi transfer debug snapshots 2026-04-29 c907a95 Add passive WiFi IRQ state sysctls 2026-04-29 fe0d986 Make WiFi transfer trace dumps opt-in 2026-04-29 db845c8 Keep bwfm poll fallback during IRQ bringup 2026-04-29 916fe51 Add SDIO IRQ support for bwfm 2026-04-29 9b91e46 site: log latest WiFi stability work 2026-04-29 3ae7795 Defer bwfm firmware key deletes 2026-04-29 edea1e8 Improve bwfm TX queue accounting 2026-04-29 f606fc5 Fix bwfm net80211 TX mbuf ownership 2026-04-29 4ea189c Harden bwfm SDIO bounce buffer bounds 2026-04-29 eaef93a Fix WiFi transfer harness quoting 2026-04-29 0a3d215 Add WiFi transfer debug harness 2026-04-29 fd7fd70 Add bwfm SDIO task trace 2026-04-29 395005f Disable unsupported bwfm SDIO glomming 2026-04-29 f0285df Instrument bwfm SDIO TX path 2026-04-29 31bfa1f bwfm: enable 802.11n / HT advertisement, disable firmware power save 2026-04-28 bbf7aff site: status snapshot picks up audio amp, Hyprland v3, USB-PD partial, WiFi working 2026-04-25 9e5446a Gate bwfm diagnostics 2026-04-25 d10638e Make PinePhone WiFi boot setup repeatable 2026-04-25 bc58198 Wait for WPA before WiFi DHCP 2026-04-25 56b3a7b Start PinePhone WiFi with WPA DHCP 2026-04-25 2862f34 Pass WPA IE to bwfm firmware 2026-04-25 066702e Use 802.3 transmit encapsulation for bwfm 2026-04-25 871c39d Mark firmware-associated bwfm nodes 2026-04-25 1475c7a Handle successful bwfm link events 2026-04-25 c610a2e Defer bwfm state firmware commands 2026-04-25 cec94d9 Use FreeBSD 2GHz channel flags for bwfm 2026-04-25 bb04072 Advertise BCM4345 2GHz WiFi channels 2026-04-25 478dd58 Fix bwfm WiFi boot race and SD repair 2026-04-25 7b597e4 Fix files.arm64 patch after bwfm revert 2026-04-24 7ddb64b Update site for working WiFi scan 2026-04-24 a07afa7 Tag synthetic bwfm scans with rx channel 2026-04-24 fdb4102 Add repeatable WiFi debug capture 2026-04-24 ffb35ec Match OpenBSD bwfm C_UP baseline 2026-04-24 7cbb8e5 Use passive broad scans in bwfm 2026-04-24 3acf8cb Let bwfm firmware choose scan channels 2026-04-24 d53e1b2 Reset bwfm security state before scan 2026-04-24 5a79e84 Trace bwfm firmware state before scan 2026-04-24 3299d7a End bwfm offloaded scans on immediate firmware failure 2026-04-24 d146f2b Advertise bwfm scan offload to net80211 2026-04-24 b14fafb Trigger bwfm scans from ic_scan_start 2026-04-24 4e10d2f Send full scan payload in bwfm WLC_SCAN fallback 2026-04-24 388b21b Fix bwfm scan header order for FreeBSD build 2026-04-24 46fa56e Use net80211 scan state in bwfm scan requests 2026-04-24 ad6066c Use FreeBSD VAP scan state in bwfm 2026-04-24 216918c Align bwfm scan handling with OpenBSD 2026-04-24 00fcaea Gate bwfm scan on firmware interface readiness 2026-04-23 c4473b4 Reassert bwfm scan state before scan 2026-04-23 a1e70bf Probe legacy bwfm scan command 2026-04-23 df25cf7 Probe bwfm escan v2 before v0 fallback 2026-04-23 3dddfd8 Use active bwfm scan requests 2026-04-23 bd485da Disable bwfm MPC before scan 2026-04-23 9e62421 Trace bwfm interface bring-up 2026-04-23 1d60b38 Set bwfm interface up before scan 2026-04-23 9958a1d Trace bwfm scan path 2026-04-23 7b6561d Trace bwfm MAC handoff into net80211 2026-04-23 55f5b45 Copy bwfm firmware MAC into net80211 2026-04-23 c9d97c0 Repair bwfm tx queue on first control send 2026-04-23 1594fe4 Initialize bwfm tx queue before deferred init 2026-04-23 d9c7523 Tighten bwfm opportunistic fn2 reads 2026-04-23 272d79c Read bwfm fn2 opportunistically once ready 2026-04-23 3611221 Queue bwfm control TX behind firmware credits 2026-04-23 01ee639 Trim bwfm poll spam and trace attach