Thank you for your contribution! Sashiko AI review found 1 potential issue(s) 
to consider:
- [High] The newly introduced horizontal display timings for the 120Hz mode are 
mathematically incorrect, resulting in `hsync_end` being smaller than 
`hsync_start`, and an `htotal` value that doesn't match the `.clock` multiplier.
--

--- Patch [1]: [PATCH] drm/panel: chipwealth-ch13726a: Fix washed out colors on 
120hz mode ---
commit 87afbda6cc13589f090573e5294d277fb599926d
Author: Aaron Kling <[email protected]>

drm/panel: chipwealth-ch13726a: Fix washed out colors on 120hz mode

This commit attempts to fix a washed out color issue at 120Hz by adjusting
the horizontal display timings and enabling continuous clock and burst mode
to stabilize blank intervals.

> diff --git a/drivers/gpu/drm/panel/panel-chipwealth-ch13726a.c 
> b/drivers/gpu/drm/panel/panel-chipwealth-ch13726a.c
> --- 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,

[Severity: High]
Will this cause the hsync_end value to be smaller than the hsync_start value?

In the updated 120Hz mode timings, hsync_start evaluates to 1140 (1080 + 60),
while hsync_end evaluates to 1116 (1080 + 28 + 8). If hsync_end is smaller
than hsync_start, the DRM core's basic validation checks in
drm_mode_validate_basic() will likely mark the mode as MODE_H_ILLEGAL and
prune it, making the 120Hz mode unavailable.

Additionally, htotal evaluates to 1172 (1080 + 28 + 4 + 60), but the .clock
calculation uses a horizontal multiplier of 1208 (1080 + 60 + 8 + 60). Should
htotal match the multiplier used in the clock calculation?

-- 
Sashiko AI review ยท 
https://sashiko.dev/#/patchset/[email protected]?part=1

Reply via email to