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/i915/color: Program fixed-function CSC on SDR planes
Date: Mon, 09 Mar 2026 08:26:52 +1000	[thread overview]
Message-ID: <review-patch3-20260306165307.3233194-4-chaitanya.kumar.borah@intel.com> (raw)
In-Reply-To: <20260306165307.3233194-4-chaitanya.kumar.borah@intel.com>

Patch Review

**BUG (Critical) — CSC mode register corruption for YUV formats on SDR planes.**

In `glk_plane_color_ctl()`, the existing code for SDR planes with YUV formats already sets `PLANE_COLOR_CSC_MODE_MASK` (bits 19:17):

```c
if (fb->format->is_yuv && !icl_is_hdr_plane(display, plane->id)) {
    switch (plane_state->hw.color_encoding) {
    case DRM_COLOR_YCBCR_BT709:
        plane_color_ctl |= PLANE_COLOR_CSC_MODE_YUV709_TO_RGB709;  // sets bits 19:17
        break;
    ...
    }
}
```

Then the new code unconditionally OR's in another CSC mode for non-HDR planes:

```c
if (!icl_is_hdr_plane(display, plane->id))
    plane_color_ctl |= intel_csc_ff_type_to_csc_mode(plane_state->hw.csc_ff_type,
                                                      plane_state->hw.csc_ff_enable);
```

Since both use the same `PLANE_COLOR_CSC_MODE_MASK` bitfield (bits 19:17, defined via `REG_GENMASK(19, 17)`), OR-ing two non-zero CSC mode values will produce a corrupted value. For example, if the YUV path sets mode 2 (`0b010`) and CSC_FF sets mode 1 (`0b001`), the result is mode 3 (`0b011`), which is the wrong conversion.

This needs to either:
1. Make the two paths mutually exclusive (the CSC_FF colorop should take precedence when enabled, replacing the legacy `color_encoding` path), or
2. Use a mask-and-set pattern to clear the field before writing.

---
Generated by Claude Code Patch Reviewer

  reply	other threads:[~2026-03-08 22:26 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-06 16:52 [PATCH 00/10] drm/i915/color: Enable SDR plane color pipeline Chaitanya Kumar Borah
2026-03-06 16:52 ` [PATCH 01/10] drm/colorop: Add DRM_COLOROP_CSC_FF Chaitanya Kumar Borah
2026-03-08 22:26   ` Claude review: " Claude Code Review Bot
2026-03-06 16:52 ` [PATCH 02/10] drm/i915/color: Add CSC on SDR plane color pipeline Chaitanya Kumar Borah
2026-03-08 22:26   ` Claude review: " Claude Code Review Bot
2026-03-06 16:53 ` [PATCH 03/10] drm/i915/color: Program fixed-function CSC on SDR planes Chaitanya Kumar Borah
2026-03-08 22:26   ` Claude Code Review Bot [this message]
2026-03-06 16:53 ` [PATCH 04/10] drm/i915/color: Add support for 1D LUT in " Chaitanya Kumar Borah
2026-03-08 22:26   ` Claude review: " Claude Code Review Bot
2026-03-06 16:53 ` [PATCH 05/10] drm/i915/color: Fix HDR pre-CSC LUT programming loop Chaitanya Kumar Borah
2026-03-08 22:26   ` Claude review: " Claude Code Review Bot
2026-03-06 16:53 ` [PATCH 06/10] drm/i915/color: Extract HDR pre-CSC LUT programming to helper function Chaitanya Kumar Borah
2026-03-08 22:26   ` Claude review: " Claude Code Review Bot
2026-03-06 16:53 ` [PATCH 07/10] drm/i915/color: Program Pre-CSC registers for SDR Chaitanya Kumar Borah
2026-03-08 22:26   ` Claude review: " Claude Code Review Bot
2026-03-06 16:53 ` [PATCH 08/10] drm/i915/color: Extract HDR post-CSC LUT programming to helper function Chaitanya Kumar Borah
2026-03-08 22:26   ` Claude review: " Claude Code Review Bot
2026-03-06 16:53 ` [PATCH 09/10] drm/i915/color: Program Plane Post CSC registers for SDR planes Chaitanya Kumar Borah
2026-03-08 22:26   ` Claude review: " Claude Code Review Bot
2026-03-06 16:53 ` [PATCH 10/10] drm/i915/color: Add color pipeline support " Chaitanya Kumar Borah
2026-03-08 22:26   ` Claude review: " Claude Code Review Bot
2026-03-08 22:26 ` Claude review: drm/i915/color: Enable SDR plane color pipeline 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-patch3-20260306165307.3233194-4-chaitanya.kumar.borah@intel.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