All of lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Aaron Kling" <webgeek1234@gmail.com>
Cc: dri-devel@lists.freedesktop.org
Subject: Re: [PATCH] drm/panel: chipone-icna35xx: Fix picture parameter set
Date: Tue, 28 Jul 2026 01:08:21 +0000	[thread overview]
Message-ID: <20260728010821.AC2D41F00A3D@smtp.kernel.org> (raw)
In-Reply-To: <20260727-icna35xx-pps-v1-1-691d79d13ee4@gmail.com>

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] Direct calls to `mipi_dsi_dcs_write()` bypass the `mipi_dsi_multi_context` error accumulation, ignoring both previous errors and their own failures.
--

--- Patch [1]: [PATCH] drm/panel: chipone-icna35xx: Fix picture parameter set ---
commit 5c76e85884612ecbbcfd07cbe14b3a2d283f6c53
Author: Aaron Kling <webgeek1234@gmail.com>

drm/panel: chipone-icna35xx: Fix picture parameter set
    
This commit updates the chipone-icna35xx panel driver to send picture
parameter set (PPS) data using vendor-specific DCS writes rather than the
standard MIPI DSI command. This resolves an issue with configuring 10-bit
modes on these panels.

> diff --git a/drivers/gpu/drm/panel/panel-chipone-icna35xx.c b/drivers/gpu/drm/panel/panel-chipone-icna35xx.c
> index 2cc16494a4cef..b2422ffc1d1c5 100644
> --- a/drivers/gpu/drm/panel/panel-chipone-icna35xx.c
> +++ b/drivers/gpu/drm/panel/panel-chipone-icna35xx.c

[ ... ]

> @@ -91,7 +92,14 @@ static int icna3512_init_sequence(struct panel_info *pinfo)
>  	mipi_dsi_generic_write_seq_multi(&dsi_ctx, 0x48, 0x20);
>  
>  	drm_dsc_pps_payload_pack(&pps, &pinfo->desc->dsc);
> -	mipi_dsi_picture_parameter_set_multi(&dsi_ctx, &pps);
> +	mipi_dsi_generic_write_seq_multi(&dsi_ctx, 0x9F, 0x01);
> +	mipi_dsi_generic_write_seq_multi(&dsi_ctx, 0xC6, 0x11, 0x88);
> +
> +	mipi_dsi_dcs_write(dsi_ctx.dsi, 0xC7, pps_ptr, 32);
> +	mipi_dsi_dcs_write(dsi_ctx.dsi, 0xC8, pps_ptr + 32, 32);
> +	mipi_dsi_dcs_write(dsi_ctx.dsi, 0xC9, pps_ptr + 64, 24);

[Severity: Medium]
Do these direct mipi_dsi_dcs_write() calls bypass the multi-context error
handling?

Since icna3512_init_sequence() is using mipi_dsi_multi_context, the
_multi() variants will check and update dsi_ctx.accum_err. Calling
mipi_dsi_dcs_write() directly ignores any previous errors and discards
its own return values, which might lead to silent failures if the PPS data
transmission fails.

> +
> +	mipi_dsi_generic_write_seq_multi(&dsi_ctx, 0xFD, 0xA5, 0xA5);
>  
>  	mipi_dsi_msleep(&dsi_ctx, 20);

[ ... ]

> @@ -133,7 +142,14 @@ static int icna3520_init_sequence(struct panel_info *pinfo)
>  	mipi_dsi_generic_write_seq_multi(&dsi_ctx, 0xB2, 0x24);
>  
>  	drm_dsc_pps_payload_pack(&pps, &pinfo->desc->dsc);
> -	mipi_dsi_picture_parameter_set_multi(&dsi_ctx, &pps);
> +	mipi_dsi_generic_write_seq_multi(&dsi_ctx, 0x9F, 0x01);
> +	mipi_dsi_generic_write_seq_multi(&dsi_ctx, 0xC0, 0x1A, 0x71);
> +
> +	mipi_dsi_dcs_write(dsi_ctx.dsi, 0xC1, pps_ptr, 32);
> +	mipi_dsi_dcs_write(dsi_ctx.dsi, 0xC2, pps_ptr + 32, 32);
> +	mipi_dsi_dcs_write(dsi_ctx.dsi, 0xC3, pps_ptr + 64, 24);

[Severity: Medium]
Does this sequence in icna3520_init_sequence() also bypass the error
accumulation?

Similar to the above, we might need a multi-aware wrapper or macro here
to ensure errors are caught and execution stops appropriately if a previous
command failed.

> +
> +	mipi_dsi_generic_write_seq_multi(&dsi_ctx, 0xFD, 0xA5, 0xA5);
>  
>  	mipi_dsi_msleep(&dsi_ctx, 20);

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260727-icna35xx-pps-v1-1-691d79d13ee4@gmail.com?part=1

      reply	other threads:[~2026-07-28  1:08 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-28  1:02 [PATCH] drm/panel: chipone-icna35xx: Fix picture parameter set Aaron Kling via B4 Relay
2026-07-28  1:02 ` Aaron Kling
2026-07-28  1:08 ` sashiko-bot [this message]

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=20260728010821.AC2D41F00A3D@smtp.kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=sashiko-reviews@lists.linux.dev \
    --cc=webgeek1234@gmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.