From mboxrd@z Thu Jan 1 00:00:00 1970 From: Claude Code Review Bot To: dri-devel-reviews@example.com Subject: Claude review: Re:Re: [PATCH 6.18.y] drm/vkms: Fix ABBA deadlock in vblank disable and timer callback Date: Tue, 26 May 2026 07:07:31 +1000 Message-ID: In-Reply-To: <581657f0.ba8.19e2eaaf003.Coremail.w15303746062@163.com> References: <20260525131610.608273-1-w15303746062@163.com> <581657f0.ba8.19e2eaaf003.Coremail.w15303746062@163.com> X-Mailer: Claude Code Patch Reviewer Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Patch Review *(cherry-pick of 02e2681ffe1addde1fc8c35d05657b16bfa79613)* This is the payoff patch =E2=80=94 removes all of vkms' custom vblank timer= code and replaces it with the framework. Key changes: - Removes `vkms_vblank_simulate()`, `vkms_enable_vblank()`, `vkms_disable_v= blank()`, `vkms_get_vblank_timestamp()`, `vkms_crtc_atomic_enable()`, `vkms= _crtc_atomic_disable()` - Adds `vkms_crtc_handle_vblank_timeout()` (the custom part vkms still need= s for CRC/writeback) - Uses `DRM_CRTC_VBLANK_TIMER_FUNCS` in `vkms_crtc_funcs` - Uses `drm_crtc_vblank_atomic_enable/disable` in helper funcs - Removes `vblank_hrtimer` and `period_ns` from `struct vkms_output` The conversion is correct. The custom `handle_vblank_timeout` preserves vkm= s' compositor-triggering logic (the `drm_crtc_handle_vblank()` call plus wo= rkqueue scheduling for CRC generation), while delegating all timer manageme= nt to the framework. **Note:** The patch correctly keeps `vkms_crtc_atomic_flush` (not replaced = by the helper) because vkms has custom flush logic for CRC source handling.= Only `atomic_enable`/`atomic_disable` use the generic helpers. No issues. Clean cherry-pick. --- --- Generated by Claude Code Patch Reviewer