[26.04_linux-nvidia] MediaTek MT8901 SPI/I2C ACPI power-management support - #605
bdintakurti-nv wants to merge 2 commits into
Conversation
BaseOS Kernel ReviewWarning
|
PR Validation ReportPatchscan ✅ No Missing FixesAll cherry-picked commits checked — no missing upstream fixes found. PR Lint ✅ All checks passedDetailsChecking 2 commits... Cherry-pick digest: ┌──────────────┬──────────────────────────────────────────────────────────────────┬────────────┬─────────┬───────────────────────────┐ │ Local │ Referenced upstream / Patch subject │ Patch-ID │ Subject │ SoB chain │ ├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤ │ e8fae81dcf70 │ [SAUCE] i2c: mt65xx: enable suspend and resume │ N/A │ N/A │ zhang, bdintaku │ ├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤ │ 5658c02afdc0 │ [SAUCE] spi: mt65xx: enable acpi and power management │ N/A │ N/A │ dasari, bdintaku │ └──────────────┴──────────────────────────────────────────────────────────────────┴────────────┴─────────┴───────────────────────────┘ Lint: all checks passed. |
|
Codex reports two functional issues:
Commit hygiene also needs attention:
Finally, what is the concrete upstream plan for this work—owner, target trees/lists, and expected posting date? These are substantial SAUCE changes to shared MediaTek drivers and depend on a large private SSPM/Power Wrap abstraction. Please prioritize upstreaming, ideally beginning with an RFC for the firmware and power-management architecture. Upstream may have questions about the private SCMI transport and |
6bcae44 to
4c780f5
Compare
|
Updated with the review fixes: added carrier sign-offs, fixed the CONFIG_ACPI=n/COMPILE_TEST path, removed For the SSPM timeout concern, this is the same limitation discussed for USB: the shared Power Wrap transport returns -ETIMEDOUT both when a request was not sent and when it was sent but the acknowledgment timed out. The client therefore cannot safely determine the hardware state or perform rollback. MediaTek owns the upstreaming for these changes, I will coordinate with them for this. |
Summary of remaining issues
|
c9338d0 to
6e33513
Compare
Summary of remaining issuesThe new system-resume retries address the earlier gap, and targeted builds pass on both PR heads. Codex reports four remaining issues across the equivalent patches:
The first two remain from the previous review; the last two arise from this push. |
6e33513 to
aef4bae
Compare
|
I have this finding with codex: |
aef4bae to
cf5bcc5
Compare
|
It seems like this one still not addressed: SPI runtime suspend suppresses D3 failure. |
cf5bcc5 to
ebae73b
Compare
1fed709 to
0bc6d4c
Compare
be30c70 to
13830ab
Compare
|
I have this medium finding: |
13830ab to
0f7699b
Compare
|
Findings from Codex — these apply to both #605 and #606. They are conditional transport-failure paths, not reproduced regressions. The first two may be manifestations of the same unconfirmed D0 state.
I think these are possible paths, but I’m not sure how realistic they are in practice. Do you agree with these findings, and can you comment on whether any should block an ACK? |
Add ACPI support for NVDA0210 controllers and skip DT-only clock, pad-selection, and property handling on ACPI systems. Integrate Power Wrap for controller power control and add runtime and system suspend/resume callbacks. Schedule autosuspend after successful controller registration. Treat failed Power Wrap suspend requests as ambiguous. Recover D0 immediately, keep runtime PM active only after D0 and clocks are restored, and otherwise leave the device suspended so the next resume retries before hardware access. Retry failed noirq rollback from regular system resume. Balance probe/remove and clock error paths, use ACPI_FREE() for ACPI paths, and retain internal linkage for the local nbit helper. Signed-off-by: srinivasareddy dasari <srinivasa.dasari@mediatek.com> Signed-off-by: Bharat Dintakurti <bdintakurti@nvidia.com>
Integrate the Power Wrap client with the MediaTek I2C driver so ACPI-enumerated controllers release their clocks and power resources during suspend and restore them during resume. Add matching probe, remove, and error-unwind handling while leaving the existing device-tree path unchanged. After an ambiguous system-suspend failure, invalidate the cached state, attempt immediate D0 rollback, and retry D0 during regular resume while keeping the adapter suspended until hardware access is confirmed. Signed-off-by: Housong Zhang <housong.zhang@mediatek.com> Signed-off-by: Bharat Dintakurti <bdintakurti@nvidia.com>
0f7699b to
e8fae81
Compare
|
Thanks, Jamie. I updated both PRs. Failed D0 recovery now blocks a later system suspend until D0 is confirmed. A failed D3 request gets one automatic retry, not an indefinite retry loop. If both D3 and D0 fail, the next runtime resume confirms D0 before hardware access. |
|
|
|
No more findings from me. |
|
Applied to Canonical
Matched to this PR by |
Add MediaTek MT8901 SPI and I2C ACPI power-management support.
The series:
autosuspend and Power Wrap coordination during runtime and system sleep.
required.
Dependencies (patches intentionally NOT carried here):
MediaTek Power Wrap support: #570
This PR does not build standalone until #570 lands. Both drivers include <linux/soc/mediatek/mtk-pwrap.h> and use its
exported mtk_pwrap_dev_*() APIs.
Validation:
Launchpad bug: https://bugs.launchpad.net/ubuntu/+source/linux-nvidia-bos/+bug/2167886