Repository navigation
Conversation
add rfkill, mac addresses, pcie4 pinctrl Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
previously was /usr/lib/, /usr/share/ Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
When booting in EL2 Linux takes ownership of the SMMUv3 and needs a 40-bit address space on /soc so that PCIe (and other masters) can actually reach RAM above 32 GB. Add the necessary #address-cells/#size-cells + dma-ranges/ranges inside the existing x1-el2.dtso. Suppress the avoid_default_addr_size warning that this naturally triggers on an overlay that touches the SoC bus node. Link: https://lore.kernel.org/all/aSl48gV9laFb-MR1@linaro.org/ Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
EDID: 00 ff ff ff ff ff ff 00 0d ae 76 14 00 00 00 00 1c 21 01 04 a5 1e 13 78 03 ee 95 a3 54 4c 99 26 0f 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 42 3c 80 a0 70 b0 24 40 30 20 a6 00 2d bc 10 00 00 18 00 00 00 fd 00 28 3c 4a 4a 10 01 0a 20 20 20 20 20 20 00 00 00 fe 00 43 4d 4e 0a 20 20 20 20 20 20 20 20 20 00 00 00 fe 00 4e 31 34 30 4a 43 45 2d 45 4c 31 0a 20 00 1b Detailed Timing Descriptors: DTD 1: 1920x1200 60.002801 Hz 8:5 74.163 kHz 154.260000 MHz (301 mm x 188 mm) Hfront 48 Hsync 32 Hback 80 Hpol N Vfront 10 Vsync 6 Vback 20 Vpol N Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Add bindings for Embedded Controller (EC) in Dell XPS 13 9345 (platform
codename 'tributo'). It may be partially or fully compatible with EC
found in Snapdragon-based Dell Latitude, Inspiron ('thena').
Signed-off-by: Aleksandrs Vinarskis <alex@vinarskis.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Introduce EC driver for Dell XPS 13 9345 (codename 'tributo') which may
partially of fully compatible with Snapdragon-based Dell Latitude,
Inspiron ('thena'). Primary function of this driver is unblock EC's
thermal management, specifically to provide it with necessary
information to control device fans, peripherals power.
The driver was developed primarily by analyzing ACPI DSDT's _DSM and
i2c dumps of communication between SoC and EC. Changes to Windows
driver's behavior include increasing temperature feed loop from ~50ms
to 100ms here.
While Xps's EC is rather complex and controls practically all device
peripherals including touch row's brightness and special keys such as
mic mute, these do not go over this particular i2c interface.
Not yet implemented features:
- On lid-close IRQ event is registered. Windows performs what to
appears to be thermistor constants readout, though its not obvious
what it used for.
- According to ACPI's _DSM there is a method to readout fans' RPM.
- Initial thermistor constants were sniffed from Windows, these can be
likely fine tuned for better cooling performance.
- There is additional temperature reading that Windows sents to EC but
more rare than others, likely SoC T_j / TZ98 or TZ4. This is the only
thermal zone who's reading can exceed 115C without triggering thermal
shutdown.
- Given similarities between 'tributo' and 'thena' platforms, including
EC i2c address, driver can be potentially extended to support both.
Signed-off-by: Aleksandrs Vinarskis <alex@vinarskis.com>
Follow pattern of pmk8350 to add missing pmk8550 VADC to hamoa. Register address of 0x9000 matches example schema for spmi-adc5-gen3. Signed-off-by: Aleksandrs Vinarskis <alex@vinarskis.com>
Describe embedded controller, its interrupt and required thermal zones. Add EC's reset GPIO to reserved range, as triggering it during device operation leads to unrecoverable and unusable state. Signed-off-by: Aleksandrs Vinarskis <alex@vinarskis.com>
Add support for ADC_TM part of PMIC5 Gen3. This is an auxiliary driver under the Gen3 ADC driver, which implements the threshold setting and interrupt generating functionalities of QCOM ADC_TM drivers, used to support thermal trip points. Reviewed-by: Jonathan Cameron <jonathan.cameron@huawei.com> Signed-off-by: Jishnu Prakash <jishnu.prakash@oss.qualcomm.com>
as found in the pcie3 node of the dsdt, using pmc8380_3 gpio 5 Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Add embedded controller node for Glymur CRDs which adds fan control, temperature sensors, access to EC state changes through SCI events and suspend entry/exit notifications to the EC. Signed-off-by: Sibi Sankar <sibi.sankar@oss.qualcomm.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com> Co-developed-by: Anvesh Jain P <anvesh.p@oss.qualcomm.com> Signed-off-by: Anvesh Jain P <anvesh.p@oss.qualcomm.com>
Add embedded controller node for Hamoa/Purwa CRDs which adds fan control, temperature sensors, access to EC internal state changes and suspend entry/exit notifications to the EC. Signed-off-by: Sibi Sankar <sibi.sankar@oss.qualcomm.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com> Co-developed-by: Anvesh Jain P <anvesh.p@oss.qualcomm.com> Signed-off-by: Anvesh Jain P <anvesh.p@oss.qualcomm.com>
Add embedded controller node for Hamoa IOT EVK boards which adds fan control, temperature sensors, access to EC internal state changes and suspend entry/exit notifications to the EC. Signed-off-by: Sibi Sankar <sibi.sankar@oss.qualcomm.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Reviewed-by: Gaurav Kohli <gaurav.kohli@oss.qualcomm.com> Tested-by: Gaurav Kohli <gaurav.kohli@oss.qualcomm.com> Co-developed-by: Anvesh Jain P <anvesh.p@oss.qualcomm.com> Signed-off-by: Anvesh Jain P <anvesh.p@oss.qualcomm.com>
Add embedded controller node for Hamoa/Purwa CRDs which adds fan control, temperature sensors, access to EC internal state changes and suspend entry/exit notifications to the EC. link: https://lore.kernel.org/all/20260327-add-driver-for-ec-v7-0-7684c915e42c@oss.qualcomm.com/ Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
It is apparently not available, use eusb5 until we find out which is which also cleanup on i2c9 (keyboard) and i2c19, touchpad is no wakeup-source Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
to avoid oddities during boot Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
…nd DAIs Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
…tate The MSM DP bridge implements dp_audio_prepare and dp_audio_shutdown but not dp_audio_startup. drm_bridge_connector_audio_startup() treats a missing dp_audio_startup as success and allows the DPCM layer to proceed to dp_audio_prepare even when no display is connected. msm_dp_audio_prepare() then returns -EINVAL because power_on is false, producing continuous dmesg spam at boot and on every PipeWire re-probe: ASoC error (-22): at snd_soc_dai_hw_params() on i2s-hifi DisplayPort2 Playback: ASoC error (-22): at __soc_pcm_hw_params() Add a dp_audio_startup implementation that checks power_on and returns -ENOTSUPP when no display is connected, gating the entire audio setup sequence at startup so prepare is never reached when the DP link is not active. -ENOTSUPP is used deliberately as snd_soc_ret() in soc-utils.c treats it as an expected non-error condition and suppresses the log output, avoiding unnecessary noise when no display is attached. Signed-off-by: Steev Klimaszewski <threeway@gmail.com>
…llers Enable the gpi_dma0..gpi_dma2 controllers currently no clients yet Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Reference the reserved memory region for audio PD dynamic loading and remote heap requirements. Add the required VMID list for memory ownership transfers. Signed-off-by: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
…me PM Convert the LPASS WSA macro codec driver to use the PM clock framework for runtime power management. The driver now relies on pm_clk helpers and runtime PM instead of manually enabling and disabling macro, dcodec, mclk, npl, and fsgen clocks. Runtime suspend and resume handling is delegated to the PM core via pm_clk_suspend() and pm_clk_resume(), while existing runtime PM callbacks continue to manage regcache state. This ensures clocks are enabled only when the WSA macro is active, improves power efficiency on LPASS platforms supporting LPI/island modes, and aligns the driver with common ASoC runtime PM patterns used across Qualcomm LPASS codec drivers. Signed-off-by: Ajay Kumar Nandam <ajay.nandam@oss.qualcomm.com>
…e PM Convert the LPASS VA macro codec driver to use the PM clock framework for runtime power management. The driver now relies on pm_clk helpers and runtime PM instead of manually enabling and disabling macro, dcodec, mclk, and npl clocks. All clock control during runtime suspend and resume is delegated to the PM core via pm_clk_suspend() and pm_clk_resume(). This change ensures clocks are only enabled when the VA macro is active, improves power efficiency on LPASS platforms supporting LPI/island modes, and aligns the driver with common ASoC runtime PM patterns used across Qualcomm LPASS codec drivers. Signed-off-by: Ajay Kumar Nandam <ajay.nandam@oss.qualcomm.com>
The NPL clock is only present on some platforms. When it is absent, wsa->npl remains NULL, but the driver unconditionally programs its rate. Guard clk_set_rate() for the NPL clock so platforms without NPL do not attempt to access it. No functional change on platforms that provide the NPL clock. Signed-off-by: Ajay Kumar Nandam <ajay.nandam@oss.qualcomm.com>
- remove codec - remove codec, dmic, speaker related DAIs - remove swr config, lpass, wsa macro, va macro - add DisplayPort related DAIs - add DisplaPort sound names Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
and follow-up changes re thermal zones in dell xps13 9345 Thermal zones definition on sgerhold's branch was different (newer) Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Have each opted-in WSA884x report a successful, error-free PA enable to the WSA macro. Enable both protection paths after the second confirmed PA and disable them before the first PA teardown. Require protected feedback DAIs to have a live 2S/4-ohm classification so VI/CPS readiness cannot outrun the PA profile. Roll back PA and DRE state when an enable write, PA status check, or macro lookup fails. Keep the counters, lock, and enabled state in each WSA macro instance so non-protected cards remain unchanged. [Leon: Replaced the source globals with per-macro state, scoped lookup to the source card, balanced duplicate/remove events per amp, made the helper Kconfig-safe, required a confirmed 2S/4-ohm feedback profile, and withheld the PA event after write or FSM errors.] Link: geocausa/SP11X1e-audio@31466d6 Link: e72bffc Signed-off-by: Leon Silcott <leon@boasi.io> (cherry picked from commit ed9753b)
Describe the WSA8845 VISENSE and CPS feedback links used by the protected speaker graph. Select them only from the Denali sound card and give that card a board-specific compatible ahead of the generic X1E80100 fallback. [Leon: Re-lifted only the common Denali VI/CPS graph and transport data, added the board-specific compatible, and omitted the experimental board target.] Link: geocausa/SP11X1e-audio@31466d6 Link: 6035b3e Signed-off-by: Leon Silcott <leon@boasi.io> (cherry picked from commit e4eb89e)
Describe both integrated WSA8845 speaker loads as 4 ohms so the codec can select the matching PA profile after confirming the hardware 2S supply. Link: geocausa/SP11X1e-audio@967b539 Link: 6035b3e Signed-off-by: Leon Silcott <leon@boasi.io> (cherry picked from commit bddc915)
The SP11 FullIO topology SAL module declares ten input ports. AR_MAX_MOD_LINKS bounds the stored output connection arrays, but it does not bound this module metadata. Rejecting the input count prevents the sound card from probing with -EINVAL. Keep the output-port array bound while accepting the valid SAL declaration. Signed-off-by: Leon Silcott <leon@boasi.io> (cherry picked from commit 6938d2a)
The hardware-qualified Denali graph uses a 48 kHz, 16-bit, stereo pull ring with two 1920-byte periods. Restore those ALSA constraints and map only the page which contains the 3840-byte ring. Keep the existing generic push/pull allocation for every other card and topology. Fail closed if the protected Denali runtime reaches prepare with geometry other than the qualified values. Signed-off-by: Leon Silcott <leon@boasi.io> (cherry picked from commit bd43421)
The qualified SP11 playback path keeps its integrated pull graph running across ALSA STOP and reprepare, and uses the topology soft-pause module for pause and resume. Restore the exact zero-length parameters for instance 0x466b, register both completion events, and retain the measured 20 ms ramp, 25 ms downstream delay, and 5 ms completion margin. Limit the persistent lifecycle to Denali playback with both a protected profile and a pull endpoint. Keep the existing command correlation, uncertain-state quarantine, and final close handling around it. Signed-off-by: Leon Silcott <leon@boasi.io> (cherry picked from commit daec021)
The hardware-qualified Denali protected profile uses the full WSA PA gain range and selects its operating point through UCM. Do not apply the provisional 0 dB PA cap to that profile. Keep the -3 dB digital-volume limit everywhere, and retain the upstream PA cap for every X1E80100 machine without the Denali speaker-feedback guard. Signed-off-by: Leon Silcott <leon@boasi.io> (cherry picked from commit c06f712)
The qualified integrated SP11 graph sends its pull-ring parameter through the graph client port. Use that route when protection is active so command correlation and ordering remain graph-scoped. Preserve the existing APM service route for generic unprotected push/pull users. Signed-off-by: Leon Silcott <leon@boasi.io> (cherry picked from commit 6fa0d8e)
Restore the qualified protected graph's own uncached position page and use its DSP address for the fixed pull ring. Read the live counter with DMA barriers and reject zero, torn, and out-of-range indices before updating the ALSA pointer. Identify this lifecycle only when the protected topology contains pull instance 0x4660 and soft-pause instance 0x466b. Preserve the generic ALSA-owned position buffer for every other push/pull graph, and retain uncertain mappings under the existing fail-closed teardown policy. Use the captured SP11 subgraph order for graph-client run-state commands. Treat a lost soft-pause completion as uncertain so the next teardown or prepare performs a confirmed graph stop instead of claiming that playback resumed. Signed-off-by: Leon Silcott <leon@boasi.io> (cherry picked from commit 6bdbee1)
The hardware-qualified FullIO pull transaction proceeds from its protected configuration directly to the ordered graph-client START. Do not insert the generic APM GRAPH_PREPARE command for the exact SP11 topology. Advance the existing fail-closed prepared state locally so start still requires successful protection configuration or confirmed bypass. All other protected and generic graphs retain the existing PREPARE command. Signed-off-by: Leon Silcott <leon@boasi.io> (cherry picked from commit 4dc8837)
The qualified integrated transaction configures the pull endpoint media format before walking the protected PCM converter and MFC chain. Restore that order for the exact SP11 topology. Keep the existing PCM-then-shared-memory order for every ordinary and non-SP11 graph. Signed-off-by: Leon Silcott <leon@boasi.io> (cherry picked from commit a2f2c71)
Match the qualified position-map token and send the soft-pause parameter over the APM service port used by the captured SP11 transaction. The exact protected-topology predicate still prevents either path from serving another graph. Keep pull-ring setup and event registration on the graph client, matching their qualified routes and preserving graph-scoped command correlation. Signed-off-by: Leon Silcott <leon@boasi.io> (cherry picked from commit c575f95)
Clear the retained-map uncertainty only when the DSP definitively rejects the matching graph-owned position mapping. This lets the synchronous failure path release coherent DMA without treating a confirmed NACK like an unknown DSP outcome. Reject a second position allocation on the same graph as a defensive backstop against overwriting retained mapping state. Signed-off-by: Leon Silcott <leon@boasi.io> (cherry picked from commit 4f41d24)
A persistent Denali pull graph may reach prepare while it is still DSP soft-paused. Resume it and require the matching completion before reporting the reused graph as running. Keep the stream uncertain on a missing completion so a later prepare cannot silently reuse a potentially paused graph. Signed-off-by: Leon Silcott <leon@boasi.io> (cherry picked from commit 7dd3578)
The graph-owned position mapping uses the qualified fixed BIT(30) token. Reserve that sequence value from generated mapping tokens and classify graph-position responses by the complete non-graph-id token class. This prevents a generic fixed-region mapping from becoming indistinguishable after the sequence counter reaches the reserved value while preserving the qualified DSP transaction. Signed-off-by: Leon Silcott <leon@boasi.io> (cherry picked from commit aaa5c46)
Do not let a later STOP overwrite the fail-closed state left by a missing soft-pause completion. Confirm a hard graph stop first, then clear persistent pull state so the next prepare performs the complete setup. Also clear the soft-pause marker after hw_free confirms the same recovery, preventing stale pause state from surviving into a rebuilt graph. Signed-off-by: Leon Silcott <leon@boasi.io> (cherry picked from commit f0d9f69)
The hardware-qualified SP11 v19 image clears Offset2 while enabling the WSA VI and CPS master ports. The guarded 7.2.2 relift dropped that behavior. Apply the active value automatically only to WSA controller ports 10, 11 and 13 on Microsoft Denali. Keep the inactive transport configuration unchanged and leave generic controllers untouched. This restores the qualified behavior without exposing SP11 policy through a module parameter or making SP11 naming part of the public userspace contract. Link: 537d1ac Signed-off-by: Leon Silcott <leon@boasi.io> (cherry picked from commit 618b3e1)
The guarded 7.2.2 port kept the 2S 4-ohm final values but dropped the hardware-qualified Denali WSA8845 cold, start and stop transactions. The right amplifier consequently reports PA status 0x6 and remains disabled during playback. Restore the v19 register sequences verbatim and select them only when the machine is Microsoft Denali, protected feedback is described, the speaker load is 4 ohms and the codec reports a 2S supply. Generic WSA884x devices retain the upstream lifecycle. Also restore the bounded PA FSM reset and retry path. Retain the relifted protection-clock accounting and keep a failed recovery as a hard playback error. Link: e72bffc Signed-off-by: Leon Silcott <leon@boasi.io> (cherry picked from commit d1edbc8)
The WSA8845 devices remain powered and advertise simple clock-stop support on Microsoft Denali. Treating each transient SoundWire detach as context loss dirties the full register cache and replays the cold transaction on attachment, unlike the hardware-qualified v19 lifecycle. Keep the initialized codec state across the Denali protected 2S 4-ohm detach and sync only writes queued while cache-only. Preserve the existing context-loss path, including full dirty-cache restore, for every other device and profile. Link: e72bffc Signed-off-by: Leon Silcott <leon@boasi.io> (cherry picked from commit 09a3f4e)
DPCM releases the Denali VI and CPS backends before the front end performs its final protected graph stop. The graph correctly rejects those ready-to-not-ready transitions while start_count is nonzero, but the machine driver then aborts SoundWire hw_free and shutdown. This produces four -EBUSY warnings and can retain the stream runtime on every close. Treat only a busy readiness clear as deferred so SoundWire teardown continues. Complete both deferred clears after a confirmed final protected graph stop, under the existing protection lock. Keep ready transitions into a running graph rejected, and do not clear state after an uncertain or failed stop. Signed-off-by: Leon Silcott <leon@boasi.io> (cherry picked from commit cceb155)
The Denali cold, start, and stop transactions already carry their own gain, current-limit, and watchdog state. Running the generic speaker post-PMU and PDM watchdog writes afterwards changes that qualified transition and can leave the paired amplifiers asymmetric. Restore the protected-profile bypass used by the qualified v19 path. Non-Denali and unprotected WSA884x users retain the generic programming. Signed-off-by: Leon Silcott <leon@boasi.io> (cherry picked from commit e0fe0c6)
The hardware-qualified SP11 v19 path materializes TOP_CFG1 after each enabled VI feedback pair. The guarded 7.2.2 relift retained the feedback clocks but dropped this producer-side write, leaving the physical lane order inconsistent with the qualified V,I,V,I stream. Restore the write at the original lifecycle boundary and gate it with the existing protected-feedback profile. This is equivalent to the original Denali check while preserving upstream defaults and behavior on every other machine. Link: f17a678 Signed-off-by: Leon Silcott <leon@boasi.io> (cherry picked from commit 156115d)
The device writes event elements into coherent memory before publishing its event ring read pointer. Both gpi_process_events() and gpi_mark_stale_events() read that pointer through readl_relaxed() and then consume the event memory without an ordering guarantee. On architectures such as arm64, this can expose a published event before all its fields are visible. Denali QSPI exposed this as an accepted completion whose length was observed as zero. Use ordered MMIO reads only for the event pointer. Keep all other register accesses relaxed. This follows the ordered ioread32() pattern used by the Qualcomm IPA GSI event-ring consumer. Fixes: 5d0c353 ("dmaengine: qcom: Add GPI dma driver") Signed-off-by: Leon Silcott <leon@boasi.io> (cherry picked from commit bd9f5e2) (cherry picked from commit f9c68b9)
Signed-off-by: Leon Silcott <leon@boasi.io>
|
Closing this superseded review/qualification vehicle without merging. Current review work is tracked in ooaklee/linux_ms_dev_kit-sp11#57, ooaklee/linux_ms_dev_kit-sp11#58, ooaklee/linux_ms_dev_kit-sp11#68; ooaklee/linux_ms_dev_kit-sp11#68 is the single combined 7.2.5 qualification candidate. This does not discard the original feature intent or close any outstanding acceptance gate. The current combined source is This PR's branch and exact head |
Qualification only — do not merge or install unattended
This is a package/test carrier for the TX DMIC + Golden playback dependency
group, not a full-feature integration PR. The existing topic PRs remain the
source-review records. No hardware pass, safe speaker operation or suspend fix
is claimed. Golden contributor attestation and non-SP11 qualification remain
separate gates.
Hardware qualification — audio failed (2026-09-29)
The user booted the exact v2 ABI and reported unsolicited speaker static after
login lasting at least two minutes, recurring on a volume increase. Static later
stopped; the user muted and returned to the known-good v23 kernel, then confirmed
no static since returning. V2 fails audio qualification on this unit. Do not
merge, promote, or repeat v2 playback/volume tests unattended.
Read-only capture verified the intended v2 kernel and matching OLED DTB, the
audio card and both amplifier drivers. Returning to v23 is independently verified;
v23 remains the default/fallback. All 817 commonly captured audio-file hashes,
the complete captured topology inventory, and UCM routing text are unchanged.
This proves on-disk parity, not identical effective controls or DSP state.
No runtime audio stimulus or configuration change was initiated by the investigator.
Two leads remain causally unproven:
unsupported aggregate response; the guarded v2 source omits that active
diagnostic behavior. Both saved v23 boots show 107 individual records, 106
accepted and one rejected. An offline harness running the two source-extracted
calibration functions against the hash-verified installed topology reproduces
108 versus 1 transport requests on the first such call, with ten mocked
scenarios passing under address/undefined-behavior sanitizers. It also shows
why blindly restoring the old diagnostic is unsuitable: it continues after
an injected individual-write failure. These are mocked request-boundary tests,
not DSP, concurrency, kernel-build or hardware acceptance.
neither saved v23 boot records these messages. Packet opcodes and exact
user-audible event times are unavailable. The drops do not prove premature
teardown or explain the static; callback/lifetime safety guards must remain.
The timeout, aggregate-unsupported and register-cache warnings also occur in
v23 and do not distinguish this regression. Offline calibration transaction and
port-lifetime auditing continues; there is no proven audio fix. No current v2
touch, microphone or suspend pass is inferred. All contributor-attestation,
non-SP11, dependency-group and full-feature hardware gates remain.
Exact composition
e57ec2987d4540fa89280d349f79c4d9bcd7cf27(7.2.5).bdae86ee3b4ef317df96b0e2e1b3a77c15b9a221.3cfbd3b5e025ab693df41680dcbf22154fbf51b8; every commit remains an ancestor.23b00ef80d6fwith originalauthor/date/message and source attribution retained.
91917314b7fd14498e527fcdcb511f1c1817a2c5.1b2df4e5b152350c54ead8e67c17d2838641ddac.7.2.5-jg-0sp11v2.7.2.5-jg-0sp11v2-qcom-x1e.Relative to the installed v1 input carrier (#52,
e89ea031c208), the entirenon-changelog diff is byte-identical to the refresh-to-TX/Golden diff: 26 paths.
The GPI file is byte-identical to v1, and no other packaging/configuration file
changes. The held camera repair, battery-provider and platform-profile ports
are excluded; their base drivers are not removed. This does not discard them
from the final parity objective.
See the published topic mapping and actual v1 hardware result.
V1's positive touch/pen observations and failed suspend are not v2 acceptance.
V1 omitted TX/Golden; its missing ALSA cards did not constitute a failure verdict
on the then-untested port. The subsequent v2 audio failure is recorded above. V23 remains the known-good recovery reference.
Completed software and package evidence — 2026-09-29
above the refresh. Existing aggregate baseline diagnostics remain recorded;
this is not a warning-free whole-tree claim.
do_dtbs=true/do_stubble=false; the version sorts after v1.b74247d08f7ccf90110a291c62c5fb56d895c55f, built withGo 1.26.4. This is exactly the source tagged
v0.5.0-rc.5; the producer'solder descriptive label reflects the tag not being fetched when it was built.
Build, boot-support, installer and build-helper unit tests pass.
Build/boot-support source is unchanged from v1's rc.4 producer; installer
ownership fixes are included.
source; same pinned container and recipe as v1, fresh workvolume/output, eight jobs. The full compile/link/modules/DTBs and Debian package
build completed successfully, producing all five intended package roles.
e2b6a8df8ea0639af781da707353f7745145b5071ffbf4bec77209f275fbb974.The final packaged config differs from v1 only in the exact version signature.
complete module-list agreement with the separately built source references,
both compiled Denali DTBs, and exact-ABI boot-support/image hooks and triggers.
The external-DTB delivery mode is expected; no
.dtbautoor.dtbPE section.This is structural package evidence, not installed lifecycle or hardware proof.
and runtime-only selection pass. Runtime selection retains boot support.
changes from v1 are ephemeral container hostnames in six Equivs dependency
package warnings; no new compiler diagnostic was found. This is not a waiver
or a warning-free claim.
496938d074ef8feffc2b09b5b6277cfc5390fb2e67a01c0af30c12db0398bfc4.13e722f2921972dc0adb2ef705c999a08d942cac475d186233a4d68611c4072f.50c8751319f75191a64cd1a230d8645f8e84d2f8a7da150d78dce1ec3367a343.Surface read-only preflight — passed before installation
The verified bundle was copied with explicit user approval. A logged GNU screen
ran the reviewed read-only checks using
v0.5.0-rc.5at the same CLI commit.Native preflight identifies v2 as
absent-and-eligible, verifies all fivepackages, and accepts v23 as the running/recovery kernel. Recovery doctor is
ready and resolves the default to v23 without a stale selection. The usual
multi-boot discovery warning remains; other operating systems are not certified.
Kernel/initramfs and captured GRUB/configuration hashes, CLI bytes and installed
package records matched before/after; dpkg audit was empty. No mutation was
performed during that preflight. The separately authorised installation below
supersedes the earlier not-installed status.
Historical Surface installation — passed before the hardware trial
On September 29, explicit user approval allowed installing v2 while preserving
v23 as default and fallback. The screened installation completed successfully
using Lexr
v0.5.0-rc.5, with no force, overwrite or unverified-input bypass.v2 packages were added and shared boot support advanced from v1 to v2; no
package removal or unrelated package-record change occurred.
All three v2 GRUB entries have matching external OLED DTB bindings. Doctor
reports ready, GRUB syntax passes and dpkg audit is empty.
configuration, System.map and OLED DTB hashes are unchanged, as are grubenv
and the captured GRUB default settings. Boot ID is unchanged; no rollback
was needed.
At installation completion, v2 had not yet been booted or hardware-qualified.
No reboot or audio/suspend stimulus occurred during installation. The later
user-performed boot and failed audio qualification are recorded above; the
installation result does not establish audio, input, probe or suspend parity.
Source inspection also confirms the topology lookup name remains
qcom/x1e80100/X1E80100-Microsoft-Surface-Pro-11-tplg.bin. The Denali-specificmatch does not itself require a userspace namespace rename. This does not prove
UCM control compatibility or safe audio; preserve and identify the working
userspace for the controlled hardware comparison rather than reinstalling it
speculatively. OpenCode/Zai-Codex reviewed the supplied evidence and scope;
it did not independently inspect the Surface or certify hardware behavior.
Gates before any test
installation are complete. Post-install bindings and v23 preservation pass;
the subsequent first boot failed audio qualification. No further v2 playback
reproduction is needed; investigate offline and separately review any new candidate.
a combined audio result replaces the remaining dependency-group hardware tests.
No automatic reboot, volume/playback/notification stimulus or repeated suspend.
Desktop mute is not a verified speaker-isolation mechanism.
attempting any new suspend test. Its cause is unresolved.
and provenance before final integration. Do not merge this packaging carrier.