Devicetree
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Tomi Valkeinen" <tomi.valkeinen@ideasonboard.com>
Cc: devicetree@vger.kernel.org, conor+dt@kernel.org, robh@kernel.org,
	krzk+dt@kernel.org
Subject: Re: [PATCH v2 10/16] drm/tidss: Add support for DPIENABLE bit
Date: Thu, 14 May 2026 08:36:32 +0000	[thread overview]
Message-ID: <20260514083633.60E3EC2BCC6@smtp.kernel.org> (raw)
In-Reply-To: <20260513-beagley-ai-display-v2-10-9e9bcefde6bc@ideasonboard.com>

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] Clearing DPIENABLE immediately in dispc_vp_disable() before the current frame finishes can cause pipeline stalls and framedone timeouts.
--

commit a9d868fee075a198f505bcb29c9c76b018bdefa8
Author: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>

drm/tidss: Add support for DPIENABLE bit

This commit adds support for the VP_CONTROL.DPIENABLE bit to manage the
DPI block state, specifically to provide power savings on AM62L SoCs when
it is not in use. It enables the bit in dispc_vp_enable() and disables it
in dispc_vp_disable() and dispc_vp_init().

> diff --git a/drivers/gpu/drm/tidss/tidss_dispc.c b/drivers/gpu/drm/tidss/tidss_dispc.c
> index 92cba069ed6c2..82e0b3184cc4c 100644
> --- a/drivers/gpu/drm/tidss/tidss_dispc.c
> +++ b/drivers/gpu/drm/tidss/tidss_dispc.c

[ ... ]

> @@ -1222,6 +1229,11 @@ void dispc_vp_disable(struct dispc_device *dispc, u32 hw_videoport)
>  {
>  	VP_REG_FLD_MOD(dispc, hw_videoport, DISPC_VP_CONTROL, 0,
>  		       DISPC_VP_CONTROL_ENABLE_MASK);
> +
> +	if (dispc->feat->has_vp_control_dpienable &&
> +	    dispc->vp_data[hw_videoport].dpi_output)
> +		VP_REG_FLD_MOD(dispc, hw_videoport, DISPC_VP_CONTROL, 0,
> +			       DISPC_VP_CONTROL_DPIENABLE_MASK);
>  }
>  
>  void dispc_vp_unprepare(struct dispc_device *dispc, u32 hw_videoport)

Could clearing DISPC_VP_CONTROL_DPIENABLE_MASK immediately cause a pipeline
stall and framedone timeout?

In this function, DISPC_VP_CONTROL_ENABLE_MASK is cleared to signal the
video port to stop at the end of the current frame. The caller,
tidss_crtc_atomic_disable(), then waits for the framedone completion event
after this function returns.

If DISPC_VP_CONTROL_DPIENABLE_MASK takes effect immediately instead of
waiting for the end of the frame, could it abruptly shut down the DPI
output block while the VP is still actively scanning out?

If so, this sudden shutdown might stall the pipeline, preventing the
framedone interrupt from firing and causing a timeout.

Should the DPI block be disabled later in dispc_vp_unprepare(), which
executes safely after the hardware has signaled framedone, similar to how
OLDI is handled?

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260513-beagley-ai-display-v2-0-9e9bcefde6bc@ideasonboard.com?part=10

  reply	other threads:[~2026-05-14  8:36 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-13 13:17 [PATCH v2 00/16] drm/tidss: Add BeagleY-AI display support (and some more) Tomi Valkeinen
2026-05-13 13:17 ` [PATCH v2 01/16] dt-bindings: display: ti: Move ti,am62l-dss binding to a new binding file Tomi Valkeinen
2026-05-13 13:17 ` [PATCH v2 02/16] dt-bindings: display: ti,am65x-dss: Simplify binding Tomi Valkeinen
2026-05-13 13:17 ` [PATCH v2 03/16] dt-bindings: display: ti,am625-oldi: Add optional power-domain for OLDI Tomi Valkeinen
2026-05-13 13:17 ` [PATCH v2 04/16] dt-bindings: display: ti,am65x-dss: Add ti,dpi-io-ctrl Tomi Valkeinen
2026-05-13 13:17 ` [PATCH v2 05/16] dt-bindings: display: ti,am65x-dss: Add AM62P DSS Tomi Valkeinen
2026-05-13 13:17 ` [PATCH v2 06/16] drm/tidss: Remove extra pm_runtime_mark_last_busy Tomi Valkeinen
2026-05-13 13:17 ` [PATCH v2 07/16] drm/tidss: oldi: Remove define for unused register OLDI_LB_CTRL Tomi Valkeinen
2026-05-13 13:17 ` [PATCH v2 08/16] drm/tidss: Add mechanism to detect DPI output Tomi Valkeinen
2026-05-13 13:17 ` [PATCH v2 09/16] drm/tidss: Add external data and sync signal edge configuration Tomi Valkeinen
2026-05-14  7:57   ` sashiko-bot
2026-05-13 13:17 ` [PATCH v2 10/16] drm/tidss: Add support for DPIENABLE bit Tomi Valkeinen
2026-05-14  8:36   ` sashiko-bot [this message]
2026-05-13 13:17 ` [PATCH v2 11/16] drm/tidss: oldi: Fix OLDI signal polarities Tomi Valkeinen
2026-05-13 13:17 ` [PATCH v2 12/16] drm/tidss: oldi: Convert OLDI to an aux driver Tomi Valkeinen
2026-05-14 10:55   ` sashiko-bot
2026-05-13 13:17 ` [PATCH v2 13/16] drm/tidss: Add support for AM62P display subsystem Tomi Valkeinen
2026-05-13 13:17 ` [PATCH v2 14/16] arm64: dts: ti: k3-am62p-j722s-common-main: Make main_conf a syscon Tomi Valkeinen
2026-05-14 11:19   ` sashiko-bot
2026-05-13 13:17 ` [PATCH v2 15/16] arm64: dts: ti: k3-am62p-j722s-common-main: Add support for DSS Tomi Valkeinen
2026-05-14 11:32   ` sashiko-bot
2026-05-13 13:17 ` [PATCH v2 16/16] arm64: dts: ti: beagley-ai: Enable HDMI display and audio Tomi Valkeinen
2026-05-14 11:56   ` sashiko-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=20260514083633.60E3EC2BCC6@smtp.kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=robh@kernel.org \
    --cc=sashiko-reviews@lists.linux.dev \
    --cc=tomi.valkeinen@ideasonboard.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