T1: 8814AU path-C/D mirrors in canary mask sets#76
Merged
Conversation
Extends the existing mask classes to the path-C/D registers
captured for 8814AU, mirroring what's already in place for paths
A/B:
- CAPTURE_STATE_5G_ARTIFACTS gains 0x1820 / 0x1a20
(rTxAGC_C_CCK11_CCK1 / rTxAGC_D_CCK11_CCK1) — CCK-only
TX-AGC for paths C/D, same long-lived-kernel-iface asymmetry
at 5G as 0xc20 / 0xe20.
- RUNTIME_EPHEMERAL gains 0x181c / 0x1a1c bits 31:21 —
path-C/D TX scaling, the pwrtrk-tracked thermal-swing field.
Devourer's PowerTracking8812a is gated to CHIP_8812 only, so
on 8814 the kernel walks paths C/D while devourer leaves them
static — same divergence class, same masking applies.
Test suite grows from 17 to 20 cases.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Extends both canary mask classes to the path-C/D registers captured for 8814AU, mirroring what's already in place for paths A/B. With paths A/B masked but C/D unmasked, every 8814 diff was reporting four spurious divergences on regs that have well-understood asymmetry.
Capture-state asymmetry (5G only)
CAPTURE_STATE_5G_ARTIFACTSgains:rTxAGC_C_CCK11_CCK1_Jaguar2(path C)rTxAGC_D_CCK11_CCK1_Jaguar2(path D)Same long-lived-kernel-iface vs fresh-devourer-process asymmetry as 0xc20 / 0xe20: CCK-only TX-AGC that's never written at 5G by either side but kernel iface retains a prior 2.4G value.
Runtime-ephemeral (BB-swing thermal)
RUNTIME_EPHEMERALgains:rC_TxScale_Jaguar2(path C)rD_TxScale_Jaguar2(path D)PowerTracking8812ais gated toCHIP_8812only, so on 8814 the kernel's phydm watchdog walks the path-C/D TX-swing thermal index while devourer leaves it static. Same divergence class, same masking applies. Lower bits (AGC table select, static base) stay diffed.Test plan
python3 -m pytest tests/test_canary_diff.py -v— 20 / 20 passing locally (was 17)test_5g_capture_state_artifact_8814_path_c_d_masked,test_8814_pathcd_bb_swing_thermal_masked,test_8814_pathcd_bb_swing_lower_bits_still_diffedCanary diff unit testsjob