linux/drivers/gpu/drm/ast
Qinyun Tan 313f798f52 drm/ast: create blend mode property on cursor plane
Since commit 860e748bdd ("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: 860e748bdd ("drm: ensure blend mode supported if pixel format with alpha exposed")
Suggested-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
Tested-by: Thomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: Qinyun Tan <qinyuntan@linux.alibaba.com>
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://patch.msgid.link/20260901083234.1828755-2-qinyuntan@linux.alibaba.com
2026-09-08 15:12:26 +02:00
..
ast_2000.c drm/ast: Gen1: Fix open-coded register access 2026-04-08 11:04:49 +02:00
ast_2100.c drm/ast: Gen2: Fix open-coded register access 2026-04-08 11:04:49 +02:00
ast_2200.c drm/ast: Store CRTC memory request threshold in device quirks 2025-10-15 09:59:43 +02:00
ast_2300.c drm/ast: Gen4: Fix open-coded register access 2026-04-08 11:04:49 +02:00
ast_2400.c drm/ast: Store CRTC memory request threshold in device quirks 2025-10-15 09:59:43 +02:00
ast_2500.c drm/ast: Gen6: Fix open-coded register access 2026-04-08 11:04:49 +02:00
ast_2600.c drm/ast: Store HSync adjustment in device quirks 2025-10-15 09:59:47 +02:00
ast_cursor.c drm/ast: create blend mode property on cursor plane 2026-09-08 15:12:26 +02:00
ast_ddc.c drm/ast: Define struct ast_ddc in ast_ddc.c 2024-04-11 09:38:17 +02:00
ast_ddc.h drm/ast: Define struct ast_ddc in ast_ddc.c 2024-04-11 09:38:17 +02:00
ast_dp.c drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
ast_dp501.c drm-misc-next for v7.1-rc1: 2026-05-06 10:12:25 +10:00
ast_drv.c drm/ast: Fix open-coded scu_rev access 2026-04-08 11:04:49 +02:00
ast_drv.h drm/ast: Gen1: Fix open-coded register access 2026-04-08 11:04:49 +02:00
ast_mm.c drm/ast: Remove vram_fb_available from struct ast_device 2025-03-12 08:38:12 +01:00
ast_mode.c drm-misc-next for v7.1-rc1: 2026-05-06 10:12:25 +10:00
ast_post.c drm/ast: Use constants for MCR registers 2026-04-08 11:04:48 +02:00
ast_post.h drm/ast: Store register addresses in struct ast_dramstruct 2026-04-08 11:04:49 +02:00
ast_reg.h drm/ast: Support DRM_FORMAT_XRGB1555 on the primary plane 2026-04-20 09:12:01 +02:00
ast_sil164.c Backmerge v6.12-rc6 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux into drm-next 2024-11-04 14:25:33 +10:00
ast_tables.h drm/ast: Move display-clock tables to per-Gen source files 2025-09-29 13:28:07 +02:00
ast_vbios.c drm/ast: Add helpers for VBIOS mode lookup 2025-02-03 14:01:12 +01:00
ast_vbios.h drm/ast: Add helpers for VBIOS mode lookup 2025-02-03 14:01:12 +01:00
ast_vga.c Backmerge v6.12-rc6 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux into drm-next 2024-11-04 14:25:33 +10:00
Kconfig PCI: Add CONFIG_MMU dependency 2025-04-23 15:40:30 -05:00
Makefile drm/ast: Remove generic device initialization 2025-09-29 13:28:16 +02:00