Skip to content

[QUALIFICATION - DO NOT MERGE] SP11 7.2.5-v1 isolated input test - #52

Closed
ooaklee wants to merge 2085 commits into
sp11/ubuntu-qcom-x1e-7.2.y-betafrom
x/qualification-7.2.5-v24
Closed

ooaklee wants to merge 2085 commits into
sp11/ubuntu-qcom-x1e-7.2.y-betafrom
x/qualification-7.2.5-v24

Conversation

@ooaklee

@ooaklee ooaklee commented Sep 28, 2026 •

Copy link
Copy Markdown
Owner

This is a test-only carrier; do not merge it. It packages the isolated GPI event-pointer ordering candidate on the 7.2.5 refresh from #51 so touchscreen and pen behavior can be qualified before further feature groups advance.

The candidate is now 7.2.5-jg-0sp11v1, restarting the SP11 counter for the new upstream patch series. The branch name retains the original v24 label to preserve this PR and its history; it is not the current package version. The old v24 bundle is retained as historical, uninstalled evidence and must not be used for the next trial.

Relative to #51, only drivers/dma/qcom/gpi.c and debian.qcom-x1e/changelog change. There is no Golden audio, TX DMIC, camera repair, battery-provider or platform-profile topic in this candidate. Existing base features remain present.

Exact current source

The last commit changes the changelog only. A real rebuild is in progress in separate work/output directories; existing package files are not being renamed. The v1 bundle has not yet completed artifact qualification and is not ready to install.

Version and tooling checks

  • Linux-container evaluation of the repository's packaging rules confirms the version, revision, ABI, do_dtbs=true and do_stubble=false.
  • Actual Debian comparisons confirm 7.2.0-jg-0sp11v23 < 7.2.5-jg-0sp11v1 < 7.2.5-jg-0sp11v24. Neither 7.2.5 candidate is installed on the qualification machine; its shared boot-support package is still the v23 version. Renumbering an already-installed same-series v24 would require separate downgrade handling.
  • The clean producer remains Lexr v0.5.0-rc.4, revision fceefddeef16f5cff04aba7e72950692bd89a20a.
  • Lexr's status, installer, boot-support and release-preparation unit tests pass. Its build/installer ABI parsers accept the proposed identity.
  • OpenCode/GLM 5.1 supports this scoped renumber and rebuild, not hardware qualification. Current Lexr userspace/hardware diagnostics have no 7.2.5 compatibility policy. Its camera capture command also has a patch-line-blind minimum-generation gate; the FullIO release-pairing range accepts neither v24 nor v1. These limitations remain explicit; no gates were weakened and no userspace components were replaced.

Historical v24 artifact evidence — not a v1 build result

The earlier source 0f8b4e536e9cec37a308405eb844266285c5dbe7, tree 476c0974945478b54fdaf50afb9251a5ccdc4d1a, completed a full Lexr build and local inspection at version 7.2.5-jg-0sp11v24:

  • Five checksummed packages: image, modules, ABI headers, common headers and lexr-kernel-boot-support.
  • All 7,816 modules had the v24 ABI; required input/audio modules and touch/pen configuration were present.
  • Source mode resolved to external-required, with zero embedded DTBs. Both Denali DTBs matched the independent focused builds: OLED 5aa8a21becb67f2f119960be271b86f6f471d37b71a8d45a8d97e7f712ac0325; LCD 2f621e90ee735762cea50bab5762118f7a990093d5f93c2387c5be5cd3075d2a.
  • Variant-specific boot-support paths/digests/selectors, executable lifecycle hooks and exact-ABI image/support triggers passed structural checks. This did not prove installed-system convergence.
  • Relocated and runtime-only bundle inspection passed; runtime selection retained boot support.
  • Historical v24 boot image SHA-256: 1caddb591a3f5b3ed4df665baa538d81bb690e5063a219ee0ee757339bac9cd0. Do not reuse this digest as the v1 image identity.

Nonfatal upstream/toolchain warnings were retained. These artifacts were never a public kernel release or a hardware pass. Version-sensitive package/module/boot-support checks must be repeated on the completed v1 bundle.

Physical gate

  1. Finish the v1 build and verify exact source provenance, package checksums and identities, every module ABI, configuration, packaged DTBs and boot-support lifecycle. Pin the collector to the actual new image digest; repeat integrity checks after transfer.
  2. Independently verify the known-good v23 fallback, package health, boot entries and recovery availability. Use a persistent remote session. Run current Lexr preflight and install dry-run, review the plan, then verify the actual installation receipt and boot doctor before any reboot.
  3. Before a supervised candidate boot, establish candidate-only speaker isolation without changing the fallback: desktop mute did not prevent earlier static. This is an input-only trial, not an audio test. Boot without screen contact and capture exact kernel/DTB identity, input driver state and persistent kernel logs.
  4. Under supervised testing, check first contact, sustained touch, idle/recovery, pen interaction and repeated suspend/resume. Stop on an Oops, new taint, unexpected sound, input failure or freeze.
  5. Reconfirm the known-good fallback after the trial. Keep older v10/[QUALIFICATION - DO NOT MERGE] SP11 v10 jg-1 touch test #50 evidence separate: it concerns the 7.2.2 base. X1P/LCD and non-SP11 GPI-client testing remain separate gates.

The refresh and GPI candidate remain unqualified on hardware. v23's working 7.2.0 result is the control; the upstream SPI-core fix alone is not proof that the historical touchscreen freeze is resolved. Close this packaging carrier without merging once its evidence has served topic qualification.

jglathe and others added 30 commits September 16, 2026 22:34
slim5x: i2c0: correct pinctrl-0
5-2in1: add commented- out dedicated driver atna40ct01

Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
… 3 15Q8X10

add x126100 chip designation and compatible
add initial device tree

Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
…ncept ISO

needs to boot and have efivars - use Thinkpad T14s as compatible
also added Vivobook 15 x1p42100
also added HP Omnibook X 14-fe1
also added Thinkbook 16
also added Acer Swift Go 14
also added Surface Pro 12"

Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
fix typos in tlmm definition

Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
since calculating tlmmgpio was unsuccessfful, use the common known one: tlmm 3

remove all possible touchpads except for the actual detected one, @38
disable all sophisticated pinctrl, only on the i2c devices

Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
shared with keyboard, f yeah

Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
since its apparently shared with the keyboard, disable it for now
there needs to be a mux driver which does the handling for it

Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
required for 6.17

Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
add dependency for python3-libfdt
add stubble-script hwids/finddtbs.py as debian/scripts/misc/find-dtbs.py

Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
… T14s

T14s is powerful, but the fan doesn't cool it enough for full load.
Tone it down to the experimentally determined limits
QMP Combo PHYs default to USB3DP lane routing, which can break static setups like
DP-to-HDMI bridges by misallocating lanes to USB3.
Revive the optional "qcom,combo-initial-mode" DT property [1] to explicitly
set the initial mode ("usb3dp", "dp", "usb3"). In static configs (no mode-switch
or orientation-switch props), honor it and skip lane inference to avoid overrides.
This simplifies HDMI enablement on undocumented Snapdragon X laptops while
preserving dynamic Type-C behavior.

[1]: https://lore.kernel.org/r/20250821-topic-x1e80100-hdmi-v1-2-f14ad9430e88@linaro.org

Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Microsoft Surface Pro 12 is using this (well, my definition of it), changed to
Stephan Gerhold's one.

Remove the edp0_hpd_default reference from Thinkbook 16 as TLMM 119 is used by the HDMI bridge
as enable pin.

Link: https://lore.kernel.org/r/20250822-x1e80100-add-edp-hpd-v2-1-6310176239a6@linaro.org

Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
…to dp controller, fix backlight"

now duplicate template, therefore remove it

Link: https://lore.kernel.org/r/20250822-x1e80100-add-edp-hpd-v2-1-6310176239a6@linaro.org

This reverts commit 22f5ffacc9cd4f5a5074b863223f80bc0f0d6b33.
…lt pinctrl

seems to be needed

Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Relates-to commit 8c0b058.

Signed-off-by: James Addison <jay@jp-hosting.net>
adding the remaining commits of 20251101-asus_usbc_dp-v1-0-9fd4eb9935e8@hotmail.com
... but on the generalized x1-asus-vivobook-s15.dtsi

Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
this works with Ubuntu kernel builds that don't know the SPRCHRGD in QSEECOM

Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
found in Lenovo Ideapad Slim 3 15Q8X10

raw EDID:

00 ff ff ff ff ff ff 00 09 e5 ea 0c 00 00 00 00
0c 22 01 04 a5 21 15 78 03 af e5 97 5e 58 92 28
1f 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 9c 3e 80 c8 70 b0 3c 40 30 20
36 00 49 ce 10 00 00 1a 00 00 00 fd 00 28 3c 4c
4c 10 01 0a 20 20 20 20 20 20 00 00 00 fe 00 42
4f 45 20 43 51 0a 20 20 20 20 20 20 00 00 00 fc
00 4e 56 31 35 33 57 55 4d 2d 4e 34 31 0a 01 63

70 20 79 02 00 81 00 15 74 1a 00 00 03 01 28 3c
00 00 53 4a 53 4a 3c 00 00 00 00 80 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 e3 90

Detailed Timing Descriptors:
DTD 1:
1920x1200   60.002995 Hz  16:10    75.604 kHz    160.280000 MHz (329 mm x 206 mm)
   Hfront   48 Hsync  32 Hback  120 Hpol P
   Vfront    3 Vsync   6 Vback   51 Vpol N

Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
like on Thinkbook 16 and Ideapad 5

Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
seem to be problematic

Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
as tested out by Anthony Ruhier and Val Packett [1]

[1]: https://lore.kernel.org/all/a5efb372-1a2a-4262-abc8-49bbeffa6961@packett.cool/

Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
name change from x1e80100 and x1p42100

Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
There is a small window where the device can suspend after
pm_runtime_enable() and before pm_runtime_forbid(), causing an
unnecessary suspend/resume cycle while the PHY is not yet registered.

Move pm_runtime_forbid() before pm_runtime_enable() to eliminate
this race.

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
add Purwa-specific dts

Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Put the firmware paths into the separate dts

also correct the gpu firmware path to consistent naming.

Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
jglathe and others added 18 commits September 16, 2026 22:34
…14s" as compatible to ensure install on Ubuntu Concept ISO

Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
The Lenovo IdeaCentre Mini 01Q8X10 exists on both X1E80100 (Hamoa) and
X1P42100 (Purwa). A single two-entry compatible cannot tell those
device trees apart.

Move the board out of the generic X1E80100 enum and document two
three-entry lists:

  lenovo,hamoa-ideacentre-mini-01q8x10, lenovo,ideacentre-mini-01q8x10,
  qcom,x1e80100

  lenovo,purwa-ideacentre-mini-01q8x10, lenovo,ideacentre-mini-01q8x10,
  qcom,x1p42100

Assisted-by: Grok 4.5 (xAI)
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
The IdeaCentre Mini 01Q8X10 chassis is shared by Hamoa (X1E80100) and
Purwa (X1P42100) SKUs. Move the board description into
x1-lenovo-ideacentre-mini-01q8x10.dtsi and leave
hamoa-lenovo-ideacentre-mini-01q8x10.dts as a thin wrapper that includes
the SoC DTSI and the common board file.

Assisted-by: Grok 4.5 (xAI)
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Add the Purwa SKU of the Lenovo IdeaCentre Mini 01Q8X10. The chassis is
the common x1-lenovo-ideacentre-mini-01q8x10DTSI; this file supplies the
Purwa SoC include, firmware paths, and the PMC8380_6 nodes that are
absent on this board.

Assisted-by: Grok 4.5 (xAI)
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
TLMM18 only enables M.2-1 on pcie6a. The second slot (pcie3) is gated
by PMC8380_3 GPIO5; both regulators previously pointed at the same
TLMM pin, so the DT had no effect on that rail.

Switch vreg_nvme2_3p3 to the PMIC GPIO, add its pinctrl state, and
keep a 2 s startup delay plus always-on. Without the delay the pcie3
slot fails to probe; always-on is a stand-in until an M.2 power
sequencer exists. Both slots work on Purwa with NVMe SSDs.

Tested-on: IdeaCentre Mini 01Q8X10, Purwa (X1-26-100)

Assisted-by: Grok 4.5 (xAI)
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
mdss_dp0/1/2 had no sound-name-prefix, so the three DisplayPort
backends were not distinct DAIs on the card. Add the prefixes.

Enable the LPASS VA macro with the 2.4 MHz rate. This chassis has no
onboard DMICs; the node still provides the fsgen clock to tx_macro and
rx_macro. Without it both codecs fail to probe (-ENOENT).

Tested-on: IdeaCentre Mini 01Q8X10, Purwa (X1-26-100)

Assisted-by: Grok 4.5 (xAI)
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
usb_mp port 1 (hsphy1, qmpphy1, PTN3222 @ 0x4f, TLMM 184) is not
populated. lsusb only shows two xHCI controllers: USB-C on usb_1_ss0
and the rear ports behind a Genesys hub on usb_mp port 0.

Remove that repeater, its reset pin, and the second MP PHYs. Pin
usb_mp to usb2-0 / usb3-0 so the controller does not claim empty
PHYs.

Tested-on: IdeaCentre Mini 01Q8X10, Purwa (X1-26-100)

Assisted-by: Grok 4.5 (xAI)
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
v2 of the ps883x patchset does this by platform, remove the
parameter

Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
…path

Address v1 review:
- Drop parade,disable-usb4. Use of_machine_is_compatible() for
  qcom,x1e80100 / qcom,x1p42100 / qcom,hamoa / qcom,purwa instead.
- Keep DP altmode handling in ps883x_set(); treat STATE_F like D and
  STATE_E like C, matching qcom-qmp-combo.
- Replace usleep_range(20000, 30000) with fsleep(20000) and explain
  why the post-config delay is required.

Bindings and board DTS from v1 are now stale and should be dropped
when the series is reshaped.

Assisted-by: Grok(xAI):4.6
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
to 30ms. 20ms seems to be not enough.

Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Several docks, including the Lenovo 40B0 and SSK SC220, still send the
legacy TYPEC_DP_STATE_F mode request (deprecated since DisplayPort Alt
Mode spec version 1.0b).

Group it with TYPEC_STATE_D.

Assisted-by: Grok(xAI):4.6
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Retain the existing beta and new upstream histories while reconstructing
the integration tree from the new upstream and the 32 already-merged SP11
commits. Those replayed commits preserve their authors, dates, subjects and
edits; the touchscreen DT patch differs only in surrounding context.

Keep Abel Vesa's existing Denali EC-reset GPIO reservation, which was
dropped from the rewritten upstream series. Retain the new upstream
PS883x compatible-based USB4 policy and packaging configuration.

Do not include the held GPI ordering, camera repair, TX DMIC, Golden audio,
battery-provider or platform-profile topics. This is a software review
checkpoint and does not establish hardware qualification or readiness to
merge into the beta branch.

Signed-off-by: Leon Silcott <leon@boasi.io>
Check the device delta against the rebased upstream. Allow only the exact ancestry-preserving refresh merge, continue checking the aggregate source delta, and keep arbitrary merges forbidden in subsequent topic ranges.

Signed-off-by: Leon Silcott <leon@boasi.io>
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)
Retain upstream do_dtbs=true and do_stubble=false. This carrier adds only the GPI ordering candidate and qualification ABI above the 7.2.5 refresh; it does not add the remaining held feature groups.

Signed-off-by: Leon Silcott <leon@boasi.io>
Use 7.2.5-jg-0sp11v1 for the first 7.2.5 qualification candidate. The SP11 release counter is local to the upstream patch series; retain the upstream jg-0 revision.

This changes packaging identity only. Rebuild the packages before testing; preserve the earlier v24 artifacts as historical evidence. The isolated input scope and outstanding hardware gates are unchanged.

Signed-off-by: Leon Silcott <leon@boasi.io>
@ooaklee ooaklee changed the title [QUALIFICATION - DO NOT MERGE] SP11 v24 isolated input test on 7.2.5 [QUALIFICATION - DO NOT MERGE] SP11 7.2.5-v1 isolated input test Sep 28, 2026
@ooaklee

ooaklee commented Sep 29, 2026 •

Copy link
Copy Markdown
Owner Author

September 29 qualification result — hold remains

The installed and booted candidate was 7.2.5-jg-0sp11v1-qcom-x1e from this PR at e89ea031c208450ca56f342346d74bff0eb809b1, despite the historical v24 branch name. Installation succeeded with the fix now merged as ooaklee/lexr.sh#72. The user reported sustained touch/pen success, but suspend hard-failed and required a forced power cycle. The prior boot log recorded PM: suspend entry (deep), then filesystem sync completion and no resume completion; a blocked probe worker was present before suspend and recurred after reboot. Causation remains unresolved.

ALSA reported no sound cards. This input-only build does not contain the held TX/Golden audio stack, so it is not a full audio-parity test or a hardware failure verdict on that untested port. The user returned to working v23, which remains the verified default and recovery kernel.

The six refreshed topic refs and dependency mapping are now published in the refresh checkpoint. All existing PR heads are unchanged. Do not repeat failed suspend or audio stimuli unattended, merge this packaging carrier, or treat the positive input result as complete hardware qualification.

@ooaklee

ooaklee commented Oct 4, 2026

Copy link
Copy Markdown
Owner Author

Closing this superseded review/qualification vehicle without merging. Current review work is tracked in ooaklee/linux_ms_dev_kit-sp11#51, ooaklee/linux_ms_dev_kit-sp11#61, 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 8ba2b75713feb5c72bbc11dd8cce4048e23cdeea, ABI 7.2.5-jg-0sp11v8-qcom-x1e; see the experimental v8 release. Ordinary-use results on one X1E/OLED unit are recorded, but the release remains experimental and the detailed hardware, lifecycle, deviation, CI and provenance gates in ooaklee/linux_ms_dev_kit-sp11#68 remain open.

This PR's branch and exact head e89ea031c208, authored history, discussion and test evidence are retained unchanged. Closing is administrative supersession, not a merge, an acceptance decision, or a claim that the old and current trees are identical. Beta and the repository default are unchanged.

The historical branch label contains v24, but this PR's later package identity was 7.2.5 v1. Its failed deep-suspend result remains recorded here. The old v1 head is not an ancestor of v8; the GPI source was replayed and separately checked. Source-port correspondence must not be confused with identical commit ancestry.

The two additional deferred GPI corrections are explicitly deferred, not removed from an accepted fix list. V8's existing working GPI/touch implementation remains intact; the known residual risks and separate width-cast disposition are not waived.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.