From: Claude Code Review Bot <claude-review@example.com>
To: dri-devel-reviews@example.com
Subject: Claude review: drm/gpuvm: Add DRM_GPUVA_REPEAT flag and logic
Date: Sat, 14 Mar 2026 06:48:45 +1000 [thread overview]
Message-ID: <review-patch6-20260313150956.1618635-7-adrian.larumbe@collabora.com> (raw)
In-Reply-To: <20260313150956.1618635-7-adrian.larumbe@collabora.com>
Patch Review
The core of the series. Several observations:
**`do_div` usage:** `do_div` modifies its first argument in-place (it's a macro that assigns the quotient back). The code uses it correctly for the divisibility check (checking the remainder), but it's worth noting that `va_diff` is modified in the can_merge path:
```c
+ if (do_div(va_diff, a->gem.repeat_range))
+ return false;
```
This is fine since `va_diff` isn't used after.
**`repeat_range` as u32 but comparisons with u64:** The `gem.repeat_range` field is `u32` in `drm_gpuva` and `drm_gpuva_op_map`, but `va.range` is `u64`. The `do_div` macro on 32-bit architectures expects a u32 divisor, which is satisfied here. However, in `validate_map_request`:
```c
+ if (unlikely(!op->gem.repeat_range ||
+ va_range < op->gem.repeat_range ||
+ do_div(va_range, op->gem.repeat_range)))
```
`va_range` is modified by `do_div` to contain the quotient -- this is intentional since it's only used for the check. Fine.
**DRM_GPUVA_USERBITS shift:** Moving `DRM_GPUVA_USERBITS` from `(1 << 2)` to `(1 << 3)` is a kernel-internal change. As long as no userspace driver depends on this value (which it shouldn't since it's not UAPI), this is fine.
The offset handling for repeated mappings is the critical logic -- when splitting a repeated VA, the GEM offset stays the same (offset + 0) rather than advancing. This is correct for the semantics: each repetition starts at the same BO offset.
---
Generated by Claude Code Patch Reviewer
next prev parent reply other threads:[~2026-03-13 20:48 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-13 15:09 [PATCH v5 00/11] Support repeated mappings in GPUVM and Panthor Adrián Larumbe
2026-03-13 15:09 ` [PATCH v5 01/11] drm/panthor: Expose GPU page sizes to UM Adrián Larumbe
2026-03-13 20:48 ` Claude review: " Claude Code Review Bot
2026-03-13 15:09 ` [PATCH v5 02/11] drm/gpuvm: Remove dead code Adrián Larumbe
2026-03-13 20:48 ` Claude review: " Claude Code Review Bot
2026-03-13 15:09 ` [PATCH v5 03/11] drm/gpuvm: Fix comment to reflect remap operation operand status Adrián Larumbe
2026-03-13 20:48 ` Claude review: " Claude Code Review Bot
2026-03-13 15:09 ` [PATCH v5 04/11] drm/gpuvm: Add a helper to check if two VA can be merged Adrián Larumbe
2026-03-13 20:48 ` Claude review: " Claude Code Review Bot
2026-03-13 15:09 ` [PATCH v5 05/11] drm/gpuvm: Add a flags field to drm_gpuva_op_map Adrián Larumbe
2026-03-13 20:48 ` Claude review: " Claude Code Review Bot
2026-03-13 15:09 ` [PATCH v5 06/11] drm/gpuvm: Add DRM_GPUVA_REPEAT flag and logic Adrián Larumbe
2026-03-13 20:48 ` Claude Code Review Bot [this message]
2026-03-13 15:09 ` [PATCH v5 07/11] drm/gpuvm: Ensure correctness of unmap/remaps of repeated regions Adrián Larumbe
2026-03-13 20:48 ` Claude review: " Claude Code Review Bot
2026-03-13 15:09 ` [PATCH v5 08/11] drm/panthor: Add support for repeated mappings Adrián Larumbe
2026-03-13 20:48 ` Claude review: " Claude Code Review Bot
2026-03-13 15:09 ` [PATCH v5 09/11] drm/panthor: Handle remap case " Adrián Larumbe
2026-03-13 20:48 ` Claude review: " Claude Code Review Bot
2026-03-13 15:09 ` [PATCH v5 10/11] drm/panthor: Pass vm_bind_op to vm_prepare_map_op_ctx Adrián Larumbe
2026-03-13 20:48 ` Claude review: " Claude Code Review Bot
2026-03-13 15:09 ` [PATCH v5 11/11] drm/panthor: Bump the driver version to 1.8 Adrián Larumbe
2026-03-13 20:48 ` Claude review: " Claude Code Review Bot
2026-03-13 20:48 ` Claude review: Support repeated mappings in GPUVM and Panthor Claude Code Review Bot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=review-patch6-20260313150956.1618635-7-adrian.larumbe@collabora.com \
--to=claude-review@example.com \
--cc=dri-devel-reviews@example.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox