From fe46e43c362321da147fcf1c170eac0e8aeef046 Mon Sep 17 00:00:00 2001 From: Pekka Paalanen Date: Fri, 12 Jun 2026 12:50:28 +0300 Subject: [PATCH] drm: program color pipeline with plane_add_prop() Drop the open-coding of plane_add_prop() in drm_color_pipeline_program(). The debug print ordering changes, but one can see the beginning of the colorops in the pipeline by looking for the colorop whose ID gets programmed into WDRM_PLANE_COLOR_PIPELINE. struct drm_plane::pipeline_props_id becomes unused and is removed. Signed-off-by: Pekka Paalanen --- libweston/backend-drm/colorops.c | 1 - libweston/backend-drm/drm-internal.h | 1 - libweston/backend-drm/kms.c | 11 +---------- 3 files changed, 1 insertion(+), 12 deletions(-) diff --git a/libweston/backend-drm/colorops.c b/libweston/backend-drm/colorops.c index 4c2028a5e..2c897701b 100644 --- a/libweston/backend-drm/colorops.c +++ b/libweston/backend-drm/colorops.c @@ -1253,7 +1253,6 @@ drm_plane_populate_color_pipelines(struct drm_plane *plane, } plane->pipelines = xzalloc(plane->num_color_pipelines * sizeof(*plane->pipelines)); - plane->pipeline_props_id = color_pipeline_props->prop_id; /* Populate pipelines. */ pipeline_i = 0; diff --git a/libweston/backend-drm/drm-internal.h b/libweston/backend-drm/drm-internal.h index 96b184afc..83e20dc0a 100644 --- a/libweston/backend-drm/drm-internal.h +++ b/libweston/backend-drm/drm-internal.h @@ -516,7 +516,6 @@ struct drm_plane { struct weston_drm_format_array formats; - uint32_t pipeline_props_id; uint32_t num_color_pipelines; struct drm_color_pipeline *pipelines; }; diff --git a/libweston/backend-drm/kms.c b/libweston/backend-drm/kms.c index 43ef70629..451b7590d 100644 --- a/libweston/backend-drm/kms.c +++ b/libweston/backend-drm/kms.c @@ -1706,12 +1706,6 @@ drm_color_pipeline_program(drmModeAtomicReq *req, int ret_drm; bool ret; - drm_debug(b, "%s[PLANE:%lu] %lu (%s) -> %llu (0x%llx)\n", - indent, (unsigned long) plane->plane_id, - (unsigned long) plane->pipeline_props_id, "COLOR_PIPELINE", - (unsigned long long) pipeline_state->pipeline->id, - (unsigned long long) pipeline_state->pipeline->id); - colorop_state = drm_colorop_state_iter(pipeline_state, NULL /* previous colorop state (none) */); wl_list_for_each(colorop, &pipeline->colorop_list, link) { @@ -1739,10 +1733,7 @@ drm_color_pipeline_program(drmModeAtomicReq *req, } weston_assert_ptr_null(b->compositor, colorop_state); - /* Set plane pipeline. */ - drmModeAtomicAddProperty(req, plane->plane_id, - plane->pipeline_props_id, pipeline->id); - return 0; + return plane_add_prop(req, plane, WDRM_PLANE_COLOR_PIPELINE, pipeline->id); err: drm_debug(b, "%s%s[colorop] failed to program pipeline\n", indent, indent);