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, 28 Apr 2026 14:52:59 +1000 Message-ID: In-Reply-To: <20260427075856.85208-1-clamor95@gmail.com> References: <20260427075856.85208-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: 3 Reviewed: 2026-04-28T14:52:59.542322 --- This is a single-patch series that moves `pm_runtime_enable()`, `pm_runtime= _use_autosuspend()`, and `pm_runtime_set_autosuspend_delay()` from the `gr*= d_runtime_resume()` callbacks into `gr*d_probe()` for both gr2d and gr3d Te= gra DRM drivers. The fundamental change is **correct and desirable**. Calling `pm_runtime_en= able()` from within a `runtime_resume` callback is wrong for two reasons: 1. It creates a chicken-and-egg problem =E2=80=94 runtime PM must be enable= d before `runtime_resume` can be invoked through normal paths, so on initia= l boot (without a prior sleep/resume cycle), runtime PM is never enabled. 2. On each subsequent resume, it calls `pm_runtime_enable()` again, decreme= nting `disable_depth` below zero, producing a kernel warning about an unbal= anced enable. Moving these calls to `probe()` properly pairs them with the `pm_runtime_di= sable()` already present in `gr*d_remove()`. However, there is a **call ordering issue** that should be fixed before mer= ging. --- --- Generated by Claude Code Patch Reviewer