From mboxrd@z Thu Jan 1 00:00:00 1970 From: Claude Code Review Bot To: dri-devel-reviews@example.com Subject: Claude review: drm/tegra: gr2d/gr3d: Move pm_runtime_enable to gr*d_probe Date: Tue, 05 May 2026 08:41:52 +1000 Message-ID: In-Reply-To: <20260503163842.213489-1-clamor95@gmail.com> References: <20260503163842.213489-1-clamor95@gmail.com> X-Mailer: Claude Code Patch Reviewer Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Overall Series Review Subject: drm/tegra: gr2d/gr3d: Move pm_runtime_enable to gr*d_probe Author: Svyatoslav Ryhel Patches: 4 Reviewed: 2026-05-05T08:41:52.459997 --- This is a well-motivated 2-patch series fixing power management issues in t= he Tegra GR2D/GR3D DRM drivers. The series makes two corrections: 1. Reorders address register map initialization before `host1x_client_regis= ter()` to close a theoretical race window. 2. Moves `pm_runtime_enable()` and autosuspend configuration from the runti= me resume callback to `probe()`, and removes the corresponding PM teardown = from `exit()`. This follows the standard Linux PM pattern and fixes a real = resume malfunction. The current upstream code has `pm_runtime_enable()` inside `gr*d_runtime_re= sume()`, which is architecturally wrong =E2=80=94 runtime PM must be enable= d before runtime resume can ever be called by the PM core. The only way thi= s ever worked is through the `SET_SYSTEM_SLEEP_PM_OPS` path (`pm_runtime_fo= rce_resume`), and it breaks on the second system suspend/resume cycle becau= se `pm_runtime_enable()` gets called with `disable_depth` already at 0, pro= ducing an "Unbalanced pm_runtime_enable!" warning and subsequent misbehavio= r. Both patches are correct and the series is in a good state. One typo and on= e minor concern noted below. The Acked-by from Mikko Perttunen on patch 2 i= s a good sign. **Series: Looks good with minor nits.** --- Generated by Claude Code Patch Reviewer