public inbox for drm-ai-reviews@public-inbox.freedesktop.org
 help / color / mirror / Atom feed
* [PATCH 0/2] Disable Panel Replay as quirk for LGD panel
@ 2026-03-13 12:21 Jouni Högander
  2026-03-13 12:21 ` [PATCH 1/2] drm/dp: Add quirk to disable Panel Replay on certain panels Jouni Högander
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Jouni Högander @ 2026-03-13 12:21 UTC (permalink / raw)
  To: intel-gfx, intel-xe; +Cc: dri-devel, Jouni Högander

We are currently observing problems with Panel Replay on setup having
LGD panel. Due to this disable Panel Replay if this specific panel is detected.

Jouni Högander (2):
  drm/dp: Add quirk to disable Panel Replay on certain panels
  drm/i915/psr: Disable Panel Replay on DP_DPCD_QUIRK_NO_PANEL_REPLAY
    quirk

 drivers/gpu/drm/display/drm_dp_helper.c  | 2 ++
 drivers/gpu/drm/i915/display/intel_psr.c | 6 ++++++
 include/drm/display/drm_dp_helper.h      | 8 ++++++++
 3 files changed, 16 insertions(+)

-- 
2.43.0


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 1/2] drm/dp: Add quirk to disable Panel Replay on certain panels
  2026-03-13 12:21 [PATCH 0/2] Disable Panel Replay as quirk for LGD panel Jouni Högander
@ 2026-03-13 12:21 ` Jouni Högander
  2026-03-13 21:04   ` Claude review: " Claude Code Review Bot
  2026-03-13 12:21 ` [PATCH 2/2] drm/i915/psr: Disable Panel Replay on DP_DPCD_QUIRK_NO_PANEL_REPLAY quirk Jouni Högander
  2026-03-13 21:04 ` Claude review: Disable Panel Replay as quirk for LGD panel Claude Code Review Bot
  2 siblings, 1 reply; 6+ messages in thread
From: Jouni Högander @ 2026-03-13 12:21 UTC (permalink / raw)
  To: intel-gfx, intel-xe; +Cc: dri-devel, Jouni Högander

We are currently observing problems with LG panel when Panel Replay is
enabled. Add new quirk DP_DPCD_QUIRK_NO_PANEL_REPLAY and set it for
the problematic panel model.

Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
---
 drivers/gpu/drm/display/drm_dp_helper.c | 2 ++
 include/drm/display/drm_dp_helper.h     | 8 ++++++++
 2 files changed, 10 insertions(+)

diff --git a/drivers/gpu/drm/display/drm_dp_helper.c b/drivers/gpu/drm/display/drm_dp_helper.c
index a697cc227e28..96c8b53ba4e4 100644
--- a/drivers/gpu/drm/display/drm_dp_helper.c
+++ b/drivers/gpu/drm/display/drm_dp_helper.c
@@ -2540,6 +2540,8 @@ static const struct dpcd_quirk dpcd_quirk_list[] = {
 	{ OUI(0x00, 0x22, 0xb9), DEVICE_ID_ANY, true, BIT(DP_DPCD_QUIRK_CONSTANT_N) },
 	/* LG LP140WF6-SPM1 eDP panel */
 	{ OUI(0x00, 0x22, 0xb9), DEVICE_ID('s', 'i', 'v', 'a', 'r', 'T'), false, BIT(DP_DPCD_QUIRK_CONSTANT_N) },
+	/* Problems observed with LG panel */
+	{ OUI(0x00, 0x22, 0xb9), DEVICE_ID_ANY, false, BIT(DP_DPCD_QUIRK_NO_PANEL_REPLAY) },
 	/* Apple panels need some additional handling to support PSR */
 	{ OUI(0x00, 0x10, 0xfa), DEVICE_ID_ANY, false, BIT(DP_DPCD_QUIRK_NO_PSR) },
 	/* CH7511 seems to leave SINK_COUNT zeroed */
diff --git a/include/drm/display/drm_dp_helper.h b/include/drm/display/drm_dp_helper.h
index 1d0acd58f486..ca36b5a9c1b6 100644
--- a/include/drm/display/drm_dp_helper.h
+++ b/include/drm/display/drm_dp_helper.h
@@ -824,6 +824,14 @@ enum drm_dp_quirk {
 	 * driver still need to implement proper handling for such device.
 	 */
 	DP_DPCD_QUIRK_NO_PSR,
+	/**
+	 * @DP_DPCD_QUIRK_NO_PANEL_REPLAY:
+	 *
+	 * The device does not support Panel Replay even if reports
+	 * that it supports or driver still need to implement proper
+	 * handling for such device.
+	 */
+	DP_DPCD_QUIRK_NO_PANEL_REPLAY,
 	/**
 	 * @DP_DPCD_QUIRK_NO_SINK_COUNT:
 	 *
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 2/2] drm/i915/psr: Disable Panel Replay on DP_DPCD_QUIRK_NO_PANEL_REPLAY quirk
  2026-03-13 12:21 [PATCH 0/2] Disable Panel Replay as quirk for LGD panel Jouni Högander
  2026-03-13 12:21 ` [PATCH 1/2] drm/dp: Add quirk to disable Panel Replay on certain panels Jouni Högander
@ 2026-03-13 12:21 ` Jouni Högander
  2026-03-13 21:04   ` Claude review: " Claude Code Review Bot
  2026-03-13 21:04 ` Claude review: Disable Panel Replay as quirk for LGD panel Claude Code Review Bot
  2 siblings, 1 reply; 6+ messages in thread
From: Jouni Högander @ 2026-03-13 12:21 UTC (permalink / raw)
  To: intel-gfx, intel-xe; +Cc: dri-devel, Jouni Högander

Do not detect Panel Replay support if DP_DPCD_QUIRK_NO_PANEL_REPLAY is set
for panel.

Closes: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/7521
Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
---
 drivers/gpu/drm/i915/display/intel_psr.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
index 5041a5a138d1..a62e0bd10f39 100644
--- a/drivers/gpu/drm/i915/display/intel_psr.c
+++ b/drivers/gpu/drm/i915/display/intel_psr.c
@@ -609,6 +609,12 @@ static void _panel_replay_init_dpcd(struct intel_dp *intel_dp, struct intel_conn
 	if (intel_dp->mst_detect == DRM_DP_MST)
 		return;
 
+	if (drm_dp_has_quirk(&intel_dp->desc, DP_DPCD_QUIRK_NO_PANEL_REPLAY)) {
+		drm_dbg_kms(display->drm,
+			    "Panel Replay support not currently available for this panel\n");
+		return;
+	}
+
 	ret = drm_dp_dpcd_read_data(&intel_dp->aux, DP_PANEL_REPLAY_CAP_SUPPORT,
 				    &connector->dp.panel_replay_caps.dpcd,
 				    sizeof(connector->dp.panel_replay_caps.dpcd));
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Claude review: Disable Panel Replay as quirk for LGD panel
  2026-03-13 12:21 [PATCH 0/2] Disable Panel Replay as quirk for LGD panel Jouni Högander
  2026-03-13 12:21 ` [PATCH 1/2] drm/dp: Add quirk to disable Panel Replay on certain panels Jouni Högander
  2026-03-13 12:21 ` [PATCH 2/2] drm/i915/psr: Disable Panel Replay on DP_DPCD_QUIRK_NO_PANEL_REPLAY quirk Jouni Högander
@ 2026-03-13 21:04 ` Claude Code Review Bot
  2 siblings, 0 replies; 6+ messages in thread
From: Claude Code Review Bot @ 2026-03-13 21:04 UTC (permalink / raw)
  To: dri-devel-reviews

Overall Series Review

Subject: Disable Panel Replay as quirk for LGD panel
Author: =?UTF-8?q?Jouni=20H=C3=B6gander?= <jouni.hogander@intel.com>
Patches: 3
Reviewed: 2026-03-14T07:04:35.088190

---

This is a straightforward 2-patch quirk series to disable Panel Replay on LG panels (OUI `0x00, 0x22, 0xb9`) that are reporting problems. The approach follows the established pattern used by `DP_DPCD_QUIRK_NO_PSR` and is well-structured. However, there is one significant concern about the quirk scope being too broad.

---
Generated by Claude Code Patch Reviewer

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Claude review: drm/dp: Add quirk to disable Panel Replay on certain panels
  2026-03-13 12:21 ` [PATCH 1/2] drm/dp: Add quirk to disable Panel Replay on certain panels Jouni Högander
@ 2026-03-13 21:04   ` Claude Code Review Bot
  0 siblings, 0 replies; 6+ messages in thread
From: Claude Code Review Bot @ 2026-03-13 21:04 UTC (permalink / raw)
  To: dri-devel-reviews

Patch Review

**Quirk scope is overly broad (major concern):**

The quirk entry uses `DEVICE_ID_ANY`:
```c
{ OUI(0x00, 0x22, 0xb9), DEVICE_ID_ANY, false, BIT(DP_DPCD_QUIRK_NO_PANEL_REPLAY) },
```

OUI `0x00, 0x22, 0xb9` is the LG Display OUI. Using `DEVICE_ID_ANY` means this quirk will match **all** LG Display sink devices (non-branch, `is_branch=false`), not just the specific problematic panel model. The cover letter says "LGD panel" (singular), and the commit message says "LG panel" — this suggests a specific panel model is affected, but the quirk disables Panel Replay for every LG eDP/DP sink panel.

Compare with the existing `DP_DPCD_QUIRK_NO_PSR` for Apple panels — that was also `DEVICE_ID_ANY`, but that was a broader decision about all Apple panels. Here, the commit message says "problems with LG panel" implying a specific model. If the specific device ID is known (as it was for the `LP140WF6-SPM1` entry on line 2542), it should be used to avoid unnecessarily disabling Panel Replay on other LG panels that work fine.

The comment is also vague:
```c
/* Problems observed with LG panel */
```
It would be better to include the specific panel model or reference the bug tracker issue (which is in patch 2's commit message but not here).

**Enum placement is correct:** `DP_DPCD_QUIRK_NO_PANEL_REPLAY` is placed right after `DP_DPCD_QUIRK_NO_PSR`, which is logically sensible since they are related features.

**Documentation comment has minor grammar issue:**
```c
 * The device does not support Panel Replay even if reports
 * that it supports or driver still need to implement proper
 * handling for such device.
```
"even if reports" should be "even if it reports", and "driver still need" should be "the driver still needs". This is the same wording as `DP_DPCD_QUIRK_NO_PSR` though, so that's a pre-existing issue being copied.

---
Generated by Claude Code Patch Reviewer

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Claude review: drm/i915/psr: Disable Panel Replay on DP_DPCD_QUIRK_NO_PANEL_REPLAY quirk
  2026-03-13 12:21 ` [PATCH 2/2] drm/i915/psr: Disable Panel Replay on DP_DPCD_QUIRK_NO_PANEL_REPLAY quirk Jouni Högander
@ 2026-03-13 21:04   ` Claude Code Review Bot
  0 siblings, 0 replies; 6+ messages in thread
From: Claude Code Review Bot @ 2026-03-13 21:04 UTC (permalink / raw)
  To: dri-devel-reviews

Patch Review

**Placement in `_panel_replay_init_dpcd` is correct.** The quirk check is placed early in the function, after the MST check but before reading the Panel Replay DPCD capabilities, which avoids unnecessary DPCD reads:

```c
if (drm_dp_has_quirk(&intel_dp->desc, DP_DPCD_QUIRK_NO_PANEL_REPLAY)) {
    drm_dbg_kms(display->drm,
               "Panel Replay support not currently available for this panel\n");
    return;
}
```

This follows the same pattern as `DP_DPCD_QUIRK_NO_PSR` usage in `_psr_init_dpcd`.

**No issues with this patch itself.** The implementation is clean and correct. `intel_dp->desc` is populated by `drm_dp_read_desc()` before `_panel_replay_init_dpcd` is called, so the quirk data will be available.

**Summary:** The series is functionally correct and follows existing patterns well. The main concern is whether `DEVICE_ID_ANY` is intentional or if a specific device ID should be used to avoid disabling Panel Replay on all LG Display panels. The author should clarify whether all LG panels are affected or just a specific model.

---
Generated by Claude Code Patch Reviewer

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-03-13 21:04 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-13 12:21 [PATCH 0/2] Disable Panel Replay as quirk for LGD panel Jouni Högander
2026-03-13 12:21 ` [PATCH 1/2] drm/dp: Add quirk to disable Panel Replay on certain panels Jouni Högander
2026-03-13 21:04   ` Claude review: " Claude Code Review Bot
2026-03-13 12:21 ` [PATCH 2/2] drm/i915/psr: Disable Panel Replay on DP_DPCD_QUIRK_NO_PANEL_REPLAY quirk Jouni Högander
2026-03-13 21:04   ` Claude review: " Claude Code Review Bot
2026-03-13 21:04 ` Claude review: Disable Panel Replay as quirk for LGD panel Claude Code Review Bot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox