public inbox for drm-ai-reviews@public-inbox.freedesktop.org
 help / color / mirror / Atom feed
From: Claude Code Review Bot <claude-review@example.com>
To: dri-devel-reviews@example.com
Subject: Claude review: drm: panel: add support for the Renesas R63419 based dual-DSI video mode Display Panels
Date: Mon, 25 May 2026 18:37:56 +1000	[thread overview]
Message-ID: <review-patch2-20260522-topic-sm8650-ayaneo-pocket-s2-r63419-v6-2-16edddda9951@linaro.org> (raw)
In-Reply-To: <20260522-topic-sm8650-ayaneo-pocket-s2-r63419-v6-2-16edddda9951@linaro.org>

Patch Review

**Overall: Good, minor issues only.**

**Issue 1 (minor): `wt0600_desc` and `wt0630_desc` should be `const`**

```c
static struct panel_desc wt0600_desc = {
```
```c
static struct panel_desc wt0630_desc = {
```

These are only ever read via `of_device_get_match_data()` and never modified. Every other panel driver in the tree declares its descriptor structs as `static const`. These should be:

```c
static const struct panel_desc wt0600_desc = {
```

**Issue 2 (minor): Dead `dsi_info` field in `struct panel_desc`**

```c
struct panel_desc {
	const struct drm_display_mode *mode;
	unsigned int lanes;
	unsigned long mode_flags;
	enum mipi_dsi_pixel_format format;
	const struct mipi_dsi_device_info dsi_info;
};
```

The `dsi_info` field is declared in the struct but never initialized in either `wt0600_desc` or `wt0630_desc`, and never referenced anywhere. The probe function creates its own `struct mipi_dsi_device_info info = { }` on the stack instead. This appears to be a leftover from an earlier revision. It should be removed.

**Issue 3 (observation, not a bug): Display-on before exit-sleep ordering**

```c
static int renesas_r63419_on(struct renesas_r63419_panel *ctx)
{
	struct mipi_dsi_multi_context dsi_ctx = { 0 };

	dsi_link_switch(ctx, &dsi_ctx, 0);
	mipi_dsi_dcs_set_display_on_multi(&dsi_ctx);
	dsi_link_switch(ctx, &dsi_ctx, 1);
	mipi_dsi_dcs_set_display_on_multi(&dsi_ctx);
	mipi_dsi_msleep(&dsi_ctx, 150);

	dsi_link_switch(ctx, &dsi_ctx, 0);
	mipi_dsi_dcs_exit_sleep_mode_multi(&dsi_ctx);
	dsi_link_switch(ctx, &dsi_ctx, 1);
	mipi_dsi_dcs_exit_sleep_mode_multi(&dsi_ctx);
	mipi_dsi_msleep(&dsi_ctx, 50);

	return dsi_ctx.accum_err;
}
```

This sends `SET_DISPLAY_ON` before `EXIT_SLEEP_MODE`, which is the opposite of the typical MIPI DCS sequence (where the panel is brought out of sleep first, then display is enabled). If this is what the R63419 vendor spec requires, it's fine — but it's worth a double-check since it's unusual. Most panel drivers do `exit_sleep → delay → display_on`.

**No other issues.** The rest of the driver is solid:

- The `dsi_link_switch` helper pattern for sharing a single `mipi_dsi_multi_context` across both DSI links is a clean approach for error accumulation.
- Regulator error handling in `renesas_r63419_prepare()` correctly disables VDD supplies when VCC enable fails.
- The power-off sequence in `unprepare` correctly reverses the power-on order (VCC then VDD).
- Reset GPIO polarity (`GPIOD_OUT_HIGH` → active/asserted at probe, deasserted with `0` in prepare) is correct for active-low reset.
- Use of `devm_regulator_bulk_get_const()` with separate VDD and VCC arrays matches the need for sequenced power-on.
- `prepare_prev_first = true` is appropriate for DSI panels that need the host initialized before the panel.
- All devm APIs are used correctly, making a `remove` function unnecessary.

---
Generated by Claude Code Patch Reviewer

  reply	other threads:[~2026-05-25  8:37 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-22 12:51 [PATCH v6 0/2] drm: panel: support the R63419 based dual-DSI video mode Display Panels Neil Armstrong
2026-05-22 12:51 ` [PATCH v6 1/2] dt-bindings: display: panel: document the Renesas " Neil Armstrong
2026-05-25  8:37   ` Claude review: " Claude Code Review Bot
2026-05-22 12:51 ` [PATCH v6 2/2] drm: panel: add support for " Neil Armstrong
2026-05-25  8:37   ` Claude Code Review Bot [this message]
2026-05-25  8:37 ` Claude review: drm: panel: support the " Claude Code Review Bot
  -- strict thread matches above, loose matches on Subject: below --
2026-05-21  8:14 [PATCH v5 0/2] " Neil Armstrong
2026-05-21  8:14 ` [PATCH v5 2/2] drm: panel: add support for the Renesas " Neil Armstrong
2026-05-25 10:36   ` Claude review: " Claude Code Review Bot
2026-05-04  8:02 [PATCH v3 0/2] drm: panel: support the " Neil Armstrong
2026-05-04  8:02 ` [PATCH v3 2/2] drm: panel: add support for the Renesas " Neil Armstrong
2026-05-04 22:29   ` Claude review: " Claude Code Review Bot
2026-04-30 12:22 [PATCH v2 0/2] drm: panel: support the " Neil Armstrong
2026-04-30 12:22 ` [PATCH v2 2/2] drm: panel: add support for the Renesas " Neil Armstrong
2026-05-05  0:27   ` Claude review: " 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-patch2-20260522-topic-sm8650-ayaneo-pocket-s2-r63419-v6-2-16edddda9951@linaro.org \
    --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