Re: [PATCH] drm/panel: chipwealth-ch13726a: Fix washed out colors on 120hz mode
From: Aaron Kling
Date: Mon Jul 27 2026 - 21:43:58 EST
On Mon, Jul 27, 2026 at 7:44 PM Aaron Kling via B4 Relay
<devnull+webgeek1234.gmail.com@xxxxxxxxxx> wrote:
>
> From: Aaron Kling <webgeek1234@xxxxxxxxx>
>
> The issue was determined to be two-fold:
>
> 1. The non-continuous clock dropping into LPM during blanks causes
> voltage drift at 120hz enough to affect the gamma curve.
>
> 2. The agressive horizontal blanking width did not allow enough settle
> time, further compounding the voltage drift.
>
> In addition to switching to continuous clock, burst mode is also enabled
> to further stabilize the blank intervals.
>
> Assisted-by: Gemini:2.5-Pro
> Signed-off-by: Aaron Kling <webgeek1234@xxxxxxxxx>
> ---
> For the initial submission, the washed out colors were expected to need
> to be fixed by a color profile. However, further investigation showed
> there was a problem with the timings.
> ---
> drivers/gpu/drm/panel/panel-chipwealth-ch13726a.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/panel/panel-chipwealth-ch13726a.c b/drivers/gpu/drm/panel/panel-chipwealth-ch13726a.c
> index 562dc573528dd..92f0c4f1587cb 100644
> --- a/drivers/gpu/drm/panel/panel-chipwealth-ch13726a.c
> +++ b/drivers/gpu/drm/panel/panel-chipwealth-ch13726a.c
> @@ -128,11 +128,11 @@ static int ch13726a_unprepare(struct drm_panel *panel)
> static const struct drm_display_mode thor_bottom_modes[] = {
> {
> /* 120Hz */
> - .clock = (1080 + 28 + 4 + 36) * (1240 + 16 + 4 + 8) * 120 / 1000,
> + .clock = (1080 + 60 + 8 + 60) * (1240 + 16 + 4 + 8) * 120 / 1000,
> .hdisplay = 1080,
> - .hsync_start = 1080 + 28,
> - .hsync_end = 1080 + 28 + 4,
> - .htotal = 1080 + 28 + 4 + 36,
> + .hsync_start = 1080 + 60,
> + .hsync_end = 1080 + 28 + 8,
> + .htotal = 1080 + 28 + 4 + 60,
> .vdisplay = 1240,
> .vsync_start = 1240 + 16,
> .vsync_end = 1240 + 16 + 4,
> @@ -281,7 +281,7 @@ static int ch13726a_probe(struct mipi_dsi_device *dsi)
> dsi->lanes = 4;
> dsi->format = MIPI_DSI_FMT_RGB888;
> dsi->mode_flags = MIPI_DSI_MODE_VIDEO |
> - MIPI_DSI_CLOCK_NON_CONTINUOUS;
> + MIPI_DSI_MODE_VIDEO_BURST;
>
> ctx->panel.prepare_prev_first = true;
>
>
> ---
> base-commit: 0d33d21e47d9dc66f91e44da3fc9220c74d93df7
> change-id: 20260727-ch13726a-washout-54ef8fa65be6
>
> Best regards,
> --
> Aaron Kling <webgeek1234@xxxxxxxxx>
>
>
The sashiko report that the timings in this change are inconsistent is
correct. Which caused the 120hz mode to be discarded entirely, so the
60hz mode was being used which has correct colors. Fixing the timings
to be consistent restores the 120hz mode, but still with incorrect
colors. So this patch should be abandoned while further investigations
continue. Sorry for the churn.
Aaron