Repository navigation
Conversation
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>
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#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 This PR's branch and exact head 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. |
Qualification purpose
This draft is a build-and-hardware-test branch only. Do not merge it into the beta integration branch.
It qualifies the one-commit GPI event-ordering candidate from #45 on the freshly synchronized
7.2.2-jg-1beta base. It intentionally excludes the Golden audio series and every other open feature topic so a touchscreen result has one attributable kernel delta.Exact composition
bf631f9a13b3(sp11/ubuntu-qcom-x1e-7.2.y-beta)4943ee7b280c(jg/ubuntu-qcom-x1e-7.2.y)bd9f5e29b2a8from dmaengine: qcom: gpi: order event ring pointer reads #45e71361df70467.2.2-jg-1sp11v10-qcom-x1eThe Debian version and derived ABI were checked in the Lexr Ubuntu build container, including ordering above both
7.2.2-jg-1and7.2.2-jg-0sp11v9.Exact Lexr artifact evidence
Package SHA-256 values:
Evidence collection
The read-only collector now supports --profile v10 with exact candidate, ABI, package version, and packaged vmlinuz SHA-256 a7a6501db4387ddc37b2deff63ce7b88b4b7169bd2a7395ae951380cf4fb9199. Bash syntax, ShellCheck at warning severity, and a 77-file manifest-verified Linux smoke collection pass. A matching ABI with a missing image or any missing/wrong-version package fails closed; the exact image hash and all four exact package versions pass. Use it before first touch and after each state transition.
Required Surface test
Structural checks
The local integration guardrail passed for both topic commits, including the per-commit source check. Hardware behavior remains unqualified until tested on the Surface.