All of lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Kaustabh Chakraborty" <kauschluss@disroot.org>
Cc: dri-devel@lists.freedesktop.org
Subject: Re: [PATCH v4 3/3] drm/exynos: remove simplefb nodes before init
Date: Sun, 09 Aug 2026 08:50:26 +0000	[thread overview]
Message-ID: <20260809085027.4792C1F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260809-exynos-dsim-fixes-v4-3-ca67c51e61b7@disroot.org>

Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:

New issues:
- [Medium] Incorrect error handling path for aperture_remove_all_conflicting_devices() triggers WARN_ON() storms by attempting to unbind unbound components.

Pre-existing issues:
- [Medium] The setup loop for `possible_clones` iterates over an empty `encoder_list` because encoders are not registered until sub-components are bound.
--

--- Patch [3]: [PATCH v4 3/3] drm/exynos: remove simplefb nodes before init ---
commit 9e7932152628258cc8174577476729d0609085e6
Author: Kaustabh Chakraborty <kauschluss@disroot.org>

drm/exynos: remove simplefb nodes before init

This commit uses aperture_remove_all_conflicting_devices() to remove
simple-framebuffer devices before initializing the DSI and FIMD/DECON stack.
This ensures memory regions do not overlap during display transitions.

> diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c b/drivers/gpu/drm/exynos/exynos_drm_drv.c
> index 9ee30086879f9..e05e520449edc 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_drv.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c
[ ... ]
> @@ -268,6 +269,11 @@ static int exynos_drm_bind(struct device *dev)
>  	list_for_each_entry(encoder, &drm->mode_config.encoder_list, head)
>  		encoder->possible_clones = clone_mask;
>  

[Severity: Medium]
This is a pre-existing issue, but does this loop successfully find any
encoders?

In the Exynos DRM architecture, encoders are registered by sub-components
during their bind phase, which is triggered by component_bind_all().
Since this setup block is placed before component_bind_all(), the
encoder_list is always empty, making this dead code and leaving
possible_clones unconfigured for all encoders.

> +	/* Remove existing devices which own the framebuffer memory. */
> +	ret = aperture_remove_all_conflicting_devices(exynos_drm_driver.name);
> +	if (ret)
> +		goto err_unbind_all;
                ^^^^

[Severity: Medium]
Will this error path trigger WARN_ON() storms?

If aperture_remove_all_conflicting_devices() fails, the code jumps to
err_unbind_all, which executes component_unbind_all().

Since component_bind_all() has not yet been executed, all matched components
have component->bound == false. For each component, component_unbind()
evaluates WARN_ON(!component->bound) and triggers a kernel warning stack
trace.

Could this jump to err_mode_config_cleanup instead, similar to the failure
path for component_bind_all()?

> +
>  	/* Try to bind all sub drivers. */
>  	ret = component_bind_all(drm->dev, drm);
>  	if (ret)

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260809-exynos-dsim-fixes-v4-0-ca67c51e61b7@disroot.org?part=3

      reply	other threads:[~2026-08-09  8:50 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-09  8:27 [PATCH v4 0/3] Fixes and enhancements for Exynos (7870) DSIM bridge driver Kaustabh Chakraborty
2026-08-09  8:27 ` [PATCH v4 1/3] drm/bridge: samsung-dsim: enable MFLUSH_VS for Exynos 7870 DSIM Kaustabh Chakraborty
2026-08-09  8:41   ` sashiko-bot
2026-08-09  8:27 ` [PATCH v4 2/3] drm/bridge: samsung-dsim: use DSIM interrupt to wait for PLL stability Kaustabh Chakraborty
2026-08-09  8:48   ` sashiko-bot
2026-08-09  8:27 ` [PATCH v4 3/3] drm/exynos: remove simplefb nodes before init Kaustabh Chakraborty
2026-08-09  8:50   ` 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=20260809085027.4792C1F000E9@smtp.kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=kauschluss@disroot.org \
    --cc=sashiko-reviews@lists.linux.dev \
    /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.