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/panthor: Automate CSG IRQ processing at group unbind time Date: Sat, 16 May 2026 13:32:46 +1000 Message-ID: In-Reply-To: <20260512-panthor-signal-from-irq-v2-7-95c614a739cb@collabora.com> References: <20260512-panthor-signal-from-irq-v2-0-95c614a739cb@collabora.com> <20260512-panthor-signal-from-irq-v2-7-95c614a739cb@collabora.com> X-Mailer: Claude Code Patch Reviewer Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit MIME-Version: 1.0 Patch Review Moves `group_bind_locked()` and `group_unbind_locked()` after `sched_process_csg_irq_locked()` to avoid forward declarations, then adds: ```c scoped_guard(spinlock_irqsave, &ptdev->scheduler->events_lock) { /* Process all pending IRQs before returning the slot. */ sched_process_csg_irq_locked(ptdev, group->csg_id); ptdev->scheduler->csg_slots[group->csg_id].group = NULL; group->csg_id = -1; } ``` This atomically processes remaining IRQs and clears the slot under `events_lock`, eliminating the race window identified in patch 6. The manual `sched_process_csg_irq_locked()` calls in `tick_ctx_apply()` and `panthor_sched_suspend()` are removed since they're now handled by `group_unbind_locked()`. Clean and correct. No concerns. --- --- Generated by Claude Code Patch Reviewer