Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 00/15] drm/atomic: only add states of active or transient active colorops
@ 2026-11-11 16:05 Melissa Wen
  2026-11-11 16:05 ` [PATCH v5 01/15] drm/amd/display: Update colorop pipeline tests for new fixed matrix op Melissa Wen
                   ` (18 more replies)
  0 siblings, 19 replies; 22+ messages in thread
From: Melissa Wen @ 2026-11-11 16:05 UTC (permalink / raw)
  To: airlied, alexander.deucher, alex.hung, aurabindo.pillai,
	christian.koenig, contact, daniels, harry.wentland,
	maarten.lankhorst, mripard, mwen, sebastian.wick, simona,
	siqueira, sunpeng.li, tzimmermann
  Cc: Uma Shankar, Chaitanya Kumar Borah, Xaver Hugl, Pekka Paalanen,
	Matthew Schwartz, amd-gfx, kernel-dev, Rob Clark,
	Dmitry Baryshkov, Sean Paul, Marijn Suijten, linux-arm-msm,
	freedreno, intel-xe, intel-gfx, dri-devel, louis.chauvet,
	John Harrison

This series is a follow-up of what was discussed in [1] and on #wayland
IRC channel regarding policy and userspace expectations on changes in
colorop properties and the current status of the color pipeline in which
the colorop is part of. In short, we agreed that userspace can change
properties of colorops that are currently part of an active color
pipeline or when the pipeline is switching status in the same commit.
However, userspace cannot change colorop properties of inactive color
pipeline in the expactation that it will be activated at some point in
the future.

Userspace also expects persistence of color pipeline already set, even
if it becomes inactive for a while, when activated, colorop settings
previouly set should be preserved.

This series uncovered some bugs on IGT tests that were already fixed [2]
and applied. The bad merge conflict resolution mentioned in the previous
version [v3] is already resolved. On the other hand, when rebasing this
series on drm-misc, other issues on AMD KUnit tests appeared due to the
introduction of the new FIXED_MATRIX colorop type. As a result, the
first two new patches address them.

I also tried to address some Sashiko's complaints on pre-existent issues
that affects the stability of this series, but not all since I want to
keep a healthy scope for reviews. Now some AMD fixes in this series are
attached to the DRM changes, so better apply the whole serie in a single
branch and hope that this doesn't get deleted in the event of a merge
conflict.

[v1] https://lore.kernel.org/dri-devel/20260526142940.504911-1-mwen@igalia.com/
Changes:
- define a macro to walk in the color pipeline (Alex H.)
- fix checkpatch warning (Alex H.)

[v2] https://lore.kernel.org/dri-devel/20260604180457.1110110-1-mwen@igalia.com/
Changes:
- [Drop] drm/atomic: duplicate state of all colorops
  If inactive colorops state are duplicated on resume, the commit will be
  rejected. 
- [New] Four new patches to make AMD driver match the policy of colorop
  updates only for colorops in active color pipelines plus individual
  colorop updates. It also tries to untangle COLOR_PIPELINE = Bypass from
  colorop BYPASS prop = true. I think patches 3-5 can be cherry-picked and
  applied if it looks correct for AMD, I just included them here for
  context (for example, Sashiko reported an issue in the previous version
  of this series).

[v3] https://lore.kernel.org/dri-devel/20260609121230.1358786-1-mwen@igalia.com/
Changes:
- make drm_atomic_add_affected_colorops static and move to
  drm_atomic_helper.c (John H.)
- skip check when just duplicating state for suspend/resume persistence.
- [re-add] drm/atomic: duplicate state of all colorops to preserve all
  colorop status in a suspend/resume
- rewite commit message and better explain what's considered an active
  colorop (John H.)
- [new] drm/atomic: check if an active colorop has a blob if its type
  requires one
- drop the ternary and add just a warn_on since both current callers
  iterate planes already in the atomic state in AMD's active pipeline
  check (John H.)
- explain the reason to use commited colorop in AMD's active pipeline
  check (John H.)
- [new] drm/amd/display: don't ignore failure on blend colorop setup
- [new] drm/amd/display: distinguish colorop setup error from no colorop support

[v4] https://lore.kernel.org/dri-devel/20260811171011.184964-1-mwen@igalia.com/
Changes:
- Fixes for Kunit tests related to FIXED_MATRIX type
  - [new] drm/amd/display: Update colorop pipeline tests for new fixed matrix op
  - [new] drm/amd/display: add missing FIXED_MATRIX colorop to AMD KUnit tests
- Fixes for KUnit tests with the new policy in place:
  - [new] drm/amd/display: add plane to commit on KUnit cursor mode tests
- post-pone making drm_atomic_add_affected_colorops static to a point in this
  series in which this is not needed by AMD anymore (Harry):
  - In drm/amd/display: allow individual colorop change, drop the
    drm_atomic_add_affected_colorops() call from dm_update_plane_state(),
    since the colorop helpers now fall back to the committed state
  - [new] drm/atomic: make drm_atomic_add_affected_colorops() static
- check colorop type when allowing individual changes (Harry)
- update __set_dm_plane_colorop_fixed_matrix to get the commited state if no
  new state as for other colorop individual changes (Harry)
- update KUnit tests accordingly (Harry)
- [moved] drm/amd/display: only check colorops of an active color pipeline

[1] https://lore.kernel.org/dri-devel/20260519211111.228303-1-mwen@igalia.com/
[2] https://lore.kernel.org/igt-dev/20261021151929.62529-1-mwen@igalia.com/

Best Regards,

Melissa

John Harrison (1):
  drm/amd/display: Update colorop pipeline tests for new fixed matrix op

Melissa Wen (14):
  drm/amd/display: add missing FIXED_MATRIX colorop to AMD KUnit tests
  drm/atomic: only add states of active or transient active colorops
  drm/amd/display: add plane to commit on KUnit cursor mode tests
  drm/amd/display: only check colorops of an active color pipeline
  drm/atomic: reject colorop update from inactive color pipeline
  drm/atomic: duplicate state of all colorops
  drm/atomic: check if an active colorop has a blob if its type requires
    one
  drm/amd/display: truly bypass plane colorop 3x4 matrix and hdr mult
  drm/amd/display: make shaper bypass mode cleaner
  drm/amd/display: make blnd bypass mode clearer
  drm/amd/display: don't ignore failure on blend colorop setup
  drm/amd/display: allow individual colorop changes
  drm/atomic: make drm_atomic_add_affected_colorops() static
  drm/amd/display: distinguish colorop setup error from no colorop
    support

 .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c |  13 -
 .../amd/display/amdgpu_dm/amdgpu_dm_color.c   | 236 ++++++++----------
 .../amd/display/amdgpu_dm/amdgpu_dm_cursor.c  |  26 +-
 .../amdgpu_dm/tests/amdgpu_dm_color_test.c    | 118 +++++----
 .../amdgpu_dm/tests/amdgpu_dm_colorop_test.c  |   4 +
 .../amdgpu_dm/tests/amdgpu_dm_cursor_test.c   |  49 ++++
 drivers/gpu/drm/drm_atomic.c                  | 199 +++++++++++----
 drivers/gpu/drm/drm_atomic_helper.c           |  59 ++++-
 drivers/gpu/drm/drm_colorop.c                 |   5 +-
 include/drm/drm_atomic.h                      |   4 -
 include/drm/drm_colorop.h                     |   9 +-
 11 files changed, 456 insertions(+), 266 deletions(-)

-- 
2.53.0


^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2026-11-12  1:58 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-11 16:05 [PATCH v5 00/15] drm/atomic: only add states of active or transient active colorops Melissa Wen
2026-11-11 16:05 ` [PATCH v5 01/15] drm/amd/display: Update colorop pipeline tests for new fixed matrix op Melissa Wen
2026-11-11 16:05 ` [PATCH v5 02/15] drm/amd/display: add missing FIXED_MATRIX colorop to AMD KUnit tests Melissa Wen
2026-11-11 16:05 ` [PATCH v5 03/15] drm/atomic: only add states of active or transient active colorops Melissa Wen
2026-11-11 17:12   ` sashiko-bot
2026-11-11 16:05 ` [PATCH v5 04/15] drm/amd/display: add plane to commit on KUnit cursor mode tests Melissa Wen
2026-11-11 16:05 ` [PATCH v5 05/15] drm/amd/display: only check colorops of an active color pipeline Melissa Wen
2026-11-11 16:05 ` [PATCH v5 06/15] drm/atomic: reject colorop update from inactive " Melissa Wen
2026-11-11 16:05 ` [PATCH v5 07/15] drm/atomic: duplicate state of all colorops Melissa Wen
2026-11-11 17:38   ` sashiko-bot
2026-11-11 16:05 ` [PATCH v5 08/15] drm/atomic: check if an active colorop has a blob if its type requires one Melissa Wen
2026-11-11 16:05 ` [PATCH v5 09/15] drm/amd/display: truly bypass plane colorop 3x4 matrix and hdr mult Melissa Wen
2026-11-11 16:05 ` [PATCH v5 10/15] drm/amd/display: make shaper bypass mode cleaner Melissa Wen
2026-11-11 16:05 ` [PATCH v5 11/15] drm/amd/display: make blnd bypass mode clearer Melissa Wen
2026-11-11 16:05 ` [PATCH v5 12/15] drm/amd/display: don't ignore failure on blend colorop setup Melissa Wen
2026-11-11 16:05 ` [PATCH v5 13/15] drm/amd/display: allow individual colorop changes Melissa Wen
2026-11-11 16:05 ` [PATCH v5 14/15] drm/atomic: make drm_atomic_add_affected_colorops() static Melissa Wen
2026-11-11 16:05 ` [PATCH v5 15/15] drm/amd/display: distinguish colorop setup error from no colorop support Melissa Wen
2026-11-11 16:18 ` ✗ CI.checkpatch: warning for drm/atomic: only add states of active or transient active colorops Patchwork
2026-11-11 16:20 ` ✓ CI.KUnit: success " Patchwork
2026-11-11 16:54 ` ✓ Xe.CI.BAT: " Patchwork
2026-11-12  1:57 ` ✓ Xe.CI.FULL: " Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox