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/v3d: Refactor CPU ioctl into unified submission chain Date: Sat, 16 May 2026 15:59:29 +1000 Message-ID: In-Reply-To: <20260510-v3d-sched-misc-fixes-v2-11-ca4aba343ef6@igalia.com> References: <20260510-v3d-sched-misc-fixes-v2-0-ca4aba343ef6@igalia.com> <20260510-v3d-sched-misc-fixes-v2-11-ca4aba343ef6@igalia.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 Merges the indirect CSD path into a single `struct v3d_submit`. The two-pas= s fence attachment is eliminated. There's a subtlety worth noting: `v3d_lookup_bos()` is called *before* `v3d= _setup_csd_jobs_and_bos()`, and the comment explains why: ```c /* Look up the CPU jobs' BOs first, so v3d_setup_csd_jobs_and_bos(), which * locks all jobs' BOs at its end, picks them up too in the case of indirect * CSD. */ ``` This ordering dependency is correct =E2=80=94 `v3d_setup_csd_jobs_and_bos()= ` calls `v3d_submit_lock_reservations()` internally, which iterates all job= s' BOs. **Observation**: After this patch, the `v3d_indirect_csd_info` struct still= has `struct v3d_csd_job *job` and `struct drm_gem_object *indirect` member= s. The `job` pointer is set via `container_of(submit.jobs[1], ...)`. This c= ross-reference between the submit array and the indirect_csd struct is fine= since both are stack-local and have the same lifetime. No issues. --- Generated by Claude Code Patch Reviewer