From: sashiko-bot@kernel.org
To: "Laurentiu Palcu" <laurentiu.palcu@oss.nxp.com>
Cc: Frank.Li@kernel.org, imx@lists.linux.dev,
dri-devel@lists.freedesktop.org
Subject: Re: [PATCH] drm/imx: dcss: Silence blend mode not set boot warning
Date: Fri, 21 Aug 2026 12:41:53 +0000 [thread overview]
Message-ID: <20260821124153.C00D11F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260821122608.2077746-1-laurentiu.palcu@oss.nxp.com>
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [High] Initial pixel_blend_mode property is set to an unsupported value (PREMULTI), causing userspace compositor crashes.
- [High] Fast-path atomic commits silently drop alpha and pixel_blend_mode property updates.
--
--- Patch [1]: [PATCH] drm/imx: dcss: Silence blend mode not set boot warning ---
commit b8d70d6b989c5f19b4322dbd26927d62d307bf28
Author: Laurentiu Palcu <laurentiu.palcu@oss.nxp.com>
drm/imx: dcss: Silence blend mode not set boot warning
This addresses a boot warning about missing blend mode when a pixel format
with alpha is exposed. It adds the alpha and blending properties to the
primary plane.
> diff --git a/drivers/gpu/drm/imx/dcss/dcss-crtc.c b/drivers/gpu/drm/imx/dcss/dcss-crtc.c
> index ab41759a9f52d..8358219c94c0d 100644
> --- a/drivers/gpu/drm/imx/dcss/dcss-crtc.c
> +++ b/drivers/gpu/drm/imx/dcss/dcss-crtc.c
[ ... ]
> @@ -202,6 +203,11 @@ int dcss_crtc_init(struct dcss_crtc *crtc, struct drm_device *drm)
> return ret;
> }
>
> + drm_plane_create_alpha_property(&crtc->plane[0]->base);
> + drm_plane_create_blend_mode_property(&crtc->plane[0]->base,
> + BIT(DRM_MODE_BLEND_PIXEL_NONE) |
> + BIT(DRM_MODE_BLEND_COVERAGE));
[Severity: High]
Does exposing only PIXEL_NONE and COVERAGE cause issues with the default plane
reset?
Looking at the driver, it uses the default drm_atomic_helper_plane_reset hook:
drivers/gpu/drm/imx/dcss/dcss-plane.c:
struct drm_plane_funcs dcss_plane_funcs = {
...
.reset = drm_atomic_helper_plane_reset,
...
};
This core helper unconditionally initializes state->pixel_blend_mode to
DRM_MODE_BLEND_PREMULTI. If the property is created here with only
PIXEL_NONE and COVERAGE supported, will userspace compositors (like Weston)
receive an invalid enum value during startup and crash when querying
properties?
> +
> crtc->irq = platform_get_irq_byname(pdev, "vblank");
> if (crtc->irq < 0)
> return crtc->irq;
[ ... ]
> diff --git a/drivers/gpu/drm/imx/dcss/dcss-plane.c b/drivers/gpu/drm/imx/dcss/dcss-plane.c
> index 1746dc5d4b642..06413d0612349 100644
> --- a/drivers/gpu/drm/imx/dcss/dcss-plane.c
> +++ b/drivers/gpu/drm/imx/dcss/dcss-plane.c
[ ... ]
> @@ -336,7 +344,8 @@ static void dcss_plane_atomic_update(struct drm_plane *plane,
> dcss_dtg_plane_pos_set(dcss->dtg, dcss_plane->ch_num,
> dst.x1, dst.y1, dst_w, dst_h);
> dcss_dtg_plane_alpha_set(dcss->dtg, dcss_plane->ch_num,
> - fb->format, new_state->alpha >> 8);
> + fb->format, new_state->alpha >> 8,
> + new_state->pixel_blend_mode);
[Severity: High]
Does the fast-path logic earlier in this function silently drop alpha and
pixel_blend_mode updates?
Earlier in dcss_plane_atomic_update(), there is an early return based on
dcss_plane_needs_setup():
if (old_state->fb && !drm_atomic_crtc_needs_modeset(crtc_state) &&
!dcss_plane_needs_setup(new_state, old_state)) {
dcss_plane_atomic_set_base(dcss_plane);
return;
}
Since dcss_plane_needs_setup() only checks geometry, formatting, rotation, and
scaling:
return state->crtc_x != old_state->crtc_x ||
...
state->scaling_filter != old_state->scaling_filter;
Will an atomic commit that only modifies the alpha or pixel_blend_mode
properties cause dcss_plane_needs_setup() to return false?
This would result in returning early and skipping the
dcss_dtg_plane_alpha_set() hardware update entirely.
>
> if (!dcss_plane->ch_num && (new_state->alpha >> 8) == 0)
> enable = false;
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260821122608.2077746-1-laurentiu.palcu@oss.nxp.com?part=1
prev parent reply other threads:[~2026-08-21 12:41 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-21 12:26 [PATCH] drm/imx: dcss: Silence blend mode not set boot warning Laurentiu Palcu
2026-08-21 12:41 ` 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=20260821124153.C00D11F000E9@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=Frank.Li@kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=imx@lists.linux.dev \
--cc=laurentiu.palcu@oss.nxp.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox