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/msm/disp/dpu: consider SSPP line width during mode valid Date: Tue, 31 Mar 2026 17:55:49 +1000 Message-ID: In-Reply-To: <20260328-msm-next-v1-1-12ac4e27c670@oss.qualcomm.com> References: <20260328-msm-next-v1-1-12ac4e27c670@oss.qualcomm.com> <20260328-msm-next-v1-1-12ac4e27c670@oss.qualcomm.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 **The fix is incomplete for the non-3d_merge path.** The patch only constrains the final `drm_mode_validate_size()` call, changi= ng: ```c 2 * dpu_kms->catalog->caps->max_mixer_width ``` to: ```c 2 * min_t(u32, max_mixer_width, max_linewidth) ``` But earlier in the same function (around line 1598-1600), there is: ```c if (!dpu_kms->catalog->caps->has_3d_merge && mode->hdisplay > dpu_kms->catalog->caps->max_mixer_width) return MODE_BAD_HVALUE; ``` For targets *without* `has_3d_merge` where `max_linewidth < max_mixer_width= ` (e.g., sm6150 has no `has_3d_merge`, max_mixer_width=3D2560, max_linewidt= h=3D2160), this early check still allows modes up to 2560 wide, even though= the SSPP can only handle 2160. Those modes would pass `mode_valid` and the= n presumably fail at `atomic_check`. **This early check should also be clamped by `max_linewidth`**, something l= ike: ```c if (!dpu_kms->catalog->caps->has_3d_merge && mode->hdisplay > min_t(u32, dpu_kms->catalog->caps->max_mixer_width, dpu_kms->catalog->caps->max_linewidth)) return MODE_BAD_HVALUE; ``` **Minor: the commit message could be more specific.** The message says "few= targets have lesser SSPP line width" =E2=80=94 it would be helpful to name= the affected targets (sm6150, sm6125, sm6115, qcm2290, sm6375, etc.) and p= erhaps add a `Fixes:` tag if this addresses a regression or user-reported i= ssue, or at least a `Cc: stable` if backport is desired. **The code itself is otherwise correct:** `min_t(u32, ...)` is the right ma= cro, the `max_width` variable is properly typed, and the comment update acc= urately describes the new logic. --- Generated by Claude Code Patch Reviewer