mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Thomas Zimmermann <tzimmermann@suse.de>
To: Qinyun Tan <qinyuntan@linux.alibaba.com>,
	dri-devel@lists.freedesktop.org
Cc: airlied@redhat.com, jfalempe@redhat.com, kraxel@redhat.com,
	dmitry.osipenko@collabora.com, hansg@kernel.org,
	maarten.lankhorst@linux.intel.com, mripard@kernel.org,
	simona@ffwll.ch, leandro.ribeiro@collabora.com,
	daniels@collabora.com, pekka.paalanen@collabora.com,
	virtualization@lists.linux.dev,
	spice-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 1/4] drm/ast: create blend mode property on cursor plane
Date: Tue, 1 Sep 2026 14:30:07 +0200	[thread overview]
Message-ID: <15f87b4e-3da8-4ce9-9cde-b4c8cefe1d80@suse.de> (raw)
In-Reply-To: <1f7a2056-825b-4b18-ac60-94f13ee40212@suse.de>

Hi

Am 01.09.26 um 13:54 schrieb Thomas Zimmermann:
> Hi,
>
> thanks for the updated patch.
>
> Did you see the review from the Sashiko bot?  The default value is 
> PRE_MULTI, but the driver only supports COVERAGE.  This needs to be 
> changed as part of this patch. The default assignment is at [1] in 
> __drm_atomic_helper_plane_state_init().
>
> The ast driver needs to override drm_plane_funcs.atomic_create_state 
> for the cursor plane to update the value pixel_blend to COVERAGE for 
> new plane states. Same goes for vbox.

Or even better: I just sent out a patch to pick the right default value 
for the plane state. Let's first see what comes out of this. Patch is at 
[1].

[1] 
https://lore.kernel.org/dri-devel/20260901122731.83854-1-tzimmermann@suse.de/

Best regards
Thomas

>
> [1] 
> https://gitlab.freedesktop.org/drm/misc/kernel/-/blob/drm-misc-next/drivers/gpu/drm/drm_atomic_state_helper.c?ref_type=heads#L281
>
> Best regards
> Thomas
>
>
> Am 01.09.26 um 10:32 schrieb Qinyun Tan:
>> Since commit 860e748bddcc ("drm: ensure blend mode supported if pixel
>> format with alpha exposed"), drm_mode_config_validate() warns when a
>> plane exposes an alpha pixel format but not the "pixel blend mode"
>> property. The ast cursor plane (ARGB4444, ARGB8888) trips this on
>> driver load:
>>
>>    [PLANE:37:plane-1] pixel format with alpha exposed but blend mode 
>> not setup
>>    WARNING: drivers/gpu/drm/drm_mode_config.c:872 at 
>> drm_mode_config_validate+0x48f/0x510 [drm]
>>    ...
>>    Call Trace:
>>     drm_dev_register+0x1ce/0x290 [drm]
>>     ast_pci_probe+0x19d/0x3f0 [ast]
>>     local_pci_probe+0x41/0x90
>>
>> Per Thomas Zimmermann's review, the ASPEED documentation describes the
>> hardware cursor as blending with straight (non-pre-multiplied) alpha,
>> which corresponds to DRM_MODE_BLEND_COVERAGE. Expose a "pixel blend
>> mode" property advertising only DRM_MODE_BLEND_COVERAGE to make the
>> hardware semantics explicit and silence the warning.
>>
>> Fixes: 860e748bddcc ("drm: ensure blend mode supported if pixel 
>> format with alpha exposed")
>> Suggested-by: Thomas Zimmermann <tzimmermann@suse.de>
>> Signed-off-by: Qinyun Tan <qinyuntan@linux.alibaba.com>
>> ---
>> v2: advertise DRM_MODE_BLEND_COVERAGE instead of PREMULTI, per Thomas
>> Zimmermann's review and the ASPEED documentation.
>>
>>   drivers/gpu/drm/ast/ast_cursor.c | 3 +++
>>   1 file changed, 3 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/ast/ast_cursor.c 
>> b/drivers/gpu/drm/ast/ast_cursor.c
>> index fd19c45f2abe2..690d4cd1db5ee 100644
>> --- a/drivers/gpu/drm/ast/ast_cursor.c
>> +++ b/drivers/gpu/drm/ast/ast_cursor.c
>> @@ -25,6 +25,7 @@
>>   #include <linux/sizes.h>
>>     #include <drm/drm_atomic.h>
>> +#include <drm/drm_blend.h>
>>   #include <drm/drm_damage_helper.h>
>>   #include <drm/drm_format_helper.h>
>>   #include <drm/drm_gem_atomic_helper.h>
>> @@ -355,6 +356,8 @@ int ast_cursor_plane_init(struct ast_device *ast)
>>       }
>>       drm_plane_helper_add(cursor_plane, 
>> &ast_cursor_plane_helper_funcs);
>>       drm_plane_enable_fb_damage_clips(cursor_plane);
>> +    drm_plane_create_blend_mode_property(cursor_plane,
>> +                         BIT(DRM_MODE_BLEND_COVERAGE));
>>         return 0;
>>   }
>

-- 
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstr. 146, 90461 Nürnberg, Germany, www.suse.com
GF: Jochen Jaser, Andrew McDonald, (HRB 36809, AG Nürnberg)



  reply	other threads:[~2026-09-01 12:30 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-01  8:32 [PATCH v2 0/4] drm: create blend mode property on alpha-capable planes of simple drivers Qinyun Tan
2026-09-01  8:32 ` [PATCH v2 1/4] drm/ast: create blend mode property on cursor plane Qinyun Tan
2026-09-01 11:54   ` Thomas Zimmermann
2026-09-01 12:30     ` Thomas Zimmermann [this message]
2026-09-01 12:51       ` Qinyun Tan
2026-09-03  7:05         ` Thomas Zimmermann
2026-09-04  5:31           ` Qinyun Tan
2026-09-03  7:01   ` Thomas Zimmermann
2026-09-01  8:32 ` [PATCH v2 2/4] drm/qxl: create blend mode property on primary and cursor planes Qinyun Tan
2026-09-01 11:45   ` Thomas Zimmermann
2026-09-01  8:32 ` [PATCH v2 3/4] drm/virtio: create blend mode property on cursor plane Qinyun Tan
2026-09-01 11:46   ` Thomas Zimmermann
2026-09-01  8:32 ` [PATCH v2 4/4] drm/vboxvideo: create blend mode property on planes Qinyun Tan
2026-09-03  7:00   ` Thomas Zimmermann

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=15f87b4e-3da8-4ce9-9cde-b4c8cefe1d80@suse.de \
    --to=tzimmermann@suse.de \
    --cc=airlied@redhat.com \
    --cc=daniels@collabora.com \
    --cc=dmitry.osipenko@collabora.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=hansg@kernel.org \
    --cc=jfalempe@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=leandro.ribeiro@collabora.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=mripard@kernel.org \
    --cc=pekka.paalanen@collabora.com \
    --cc=qinyuntan@linux.alibaba.com \
    --cc=simona@ffwll.ch \
    --cc=spice-devel@lists.freedesktop.org \
    --cc=virtualization@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

all inboxes | Powered by JetHome®