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/imagination: Fit paired fragment job in the correct CCCB Date: Tue, 31 Mar 2026 17:33:24 +1000 Message-ID: In-Reply-To: <20260330-job-submission-fixes-cleanup-v1-2-7de8c09cef8c@imgtec.com> References: <20260330-job-submission-fixes-cleanup-v1-0-7de8c09cef8c@imgtec.com> <20260330-job-submission-fixes-cleanup-v1-2-7de8c09cef8c@imgtec.com> X-Mailer: Claude Code Patch Reviewer Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit MIME-Version: 1.0 Patch Review **Status**: Correct fix, Cc: stable appropriate. The core problem: when `prepare_job()` was called recursively for the paired fragment job, it passed the geometry job's `queue` (entity), so `pvr_queue_get_job_cccb_fence()` checked space in the geometry CCCB instead of the fragment CCCB. The fix moves the fragment job's `done_fence` init and CCCB space check into `pvr_queue_get_paired_frag_job_dep()`, which correctly derives the fragment queue from `frag_job->ctx->queues.fragment`: ```c + struct pvr_queue *frag_queue = frag_job ? frag_job->ctx->queues.fragment : NULL; ... + pvr_queue_job_fence_init(frag_job->done_fence, frag_queue); + return pvr_queue_get_job_cccb_fence(frag_queue, frag_job); ``` This eliminates the recursive `prepare_job()` call entirely. After this change, `pvr_queue_prepare_job()` can use `pvr_queue_job_fence_init(job->done_fence, queue)` unconditionally for non-paired-fragment jobs, which simplifies the code. The early-return check for `job->paired_job->has_pm_ref` is preserved for the case where `prepare_job()` is called again after the paired fragment job has already been submitted. **No issues.** --- Generated by Claude Code Patch Reviewer