From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id E1C68C5CFCF for ; Tue, 11 Aug 2026 17:11:11 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 46F4E10ED1A; Tue, 11 Aug 2026 17:11:02 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=igalia.com header.i=@igalia.com header.b="YmPl7ouN"; dkim-atps=neutral Received: from fanzine2.igalia.com (fanzine2.igalia.com [213.97.179.56]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8C9F110E38C; Tue, 11 Aug 2026 17:10:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=igalia.com; s=20170329; h=Content-Transfer-Encoding:MIME-Version:Message-ID:Date:Subject: Cc:To:From:From:Reply-To; bh=//TxnqmlztwKvjmOKGcBYvIodU2Ir5/N828O7glJey4=; b= YmPl7ouNJi7kF0nPGlB0RlbDSuiODNB02o1DVUe5KCyvAaEFI0c6/1utb9lMx13gjzyqFGQa3v5VK d9ARCmcdWNQlv2VGUFAcWuHhbpSiVjf1zaXku2vCyc5hGqv06NEocxNrKFMGzV/M7WH2xUNWiQp46 Mey8aY2Sgum8vfwJUWu1gqRbBr85apPWfucg67q8SsKQePOeZqobIXOvugFClh6VQCRVNaV/98yqu Mm0pC1F9R5CI0froKw2H21MeE/BLGvMkHIqSk1bqypRK5cpS3ZAuq1seBQKmWJU/hRRUBGPMAtK15 Dn9PW/BRg6roZgf568Jr2XeJpA1F80qyOg==; Received: from 154.red-79-147-121.dynamicip.rima-tde.net ([79.147.121.154] helo=killbill.Home) by fanzine2.igalia.com with esmtpsa (Cipher TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim) id 1wtpza-00HH9d-Qb; Tue, 11 Aug 2026 19:10:22 +0200 From: Melissa Wen To: airlied@gmail.com, alexander.deucher@amd.com, alex.hung@amd.com, aurabindo.pillai@amd.com, christian.koenig@amd.com, contact@emersion.fr, daniels@collabora.com, harry.wentland@amd.com, louis.chauvet@bootlin.com, maarten.lankhorst@linux.intel.com, mripard@kernel.org, mwen@igalia.com, sebastian.wick@redhat.com, simona@ffwll.ch, siqueira@igalia.com, sunpeng.li@amd.com, tzimmermann@suse.de Cc: Uma Shankar , Chaitanya Kumar Borah , Xaver Hugl , Pekka Paalanen , Matthew Schwartz , amd-gfx@lists.freedesktop.org, kernel-dev@igalia.com, Rob Clark , Dmitry Baryshkov , Sean Paul , Marijn Suijten , linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, intel-xe@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Subject: [PATCH v4 03/11] drm/atomic: duplicate state of all colorops Date: Tue, 11 Aug 2026 18:45:52 +0200 Message-ID: <20260811171011.184964-4-mwen@igalia.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260811171011.184964-1-mwen@igalia.com> References: <20260811171011.184964-1-mwen@igalia.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: intel-xe@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel Xe graphics driver List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-xe-bounces@lists.freedesktop.org Sender: "Intel-xe" Userspace expects that colorop settings of an inactive color pipeline persist, so that, when the color pipeline is activated again, preserves the values they had when it was deactivated. Colorop setup is expected to persist even during a suspend/resume. To snapshot colorop settings correctly, duplicate state of all colorops in a given plane, regardless of whether color pipeline is active. Depends on skipping drm_atomic_colorop_check() for duplicated state done in previous commit. Signed-off-by: Melissa Wen --- drivers/gpu/drm/drm_atomic_helper.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c index 917fd0594259..11c67bb808f9 100644 --- a/drivers/gpu/drm/drm_atomic_helper.c +++ b/drivers/gpu/drm/drm_atomic_helper.c @@ -3801,12 +3801,9 @@ drm_atomic_helper_duplicate_state(struct drm_device *dev, goto free; } - if (plane_state->color_pipeline) { - err = drm_atomic_add_affected_colorops(state, plane); - if (err) - goto free; - } - + err = drm_atomic_add_affected_colorops(state, plane); + if (err) + goto free; } drm_connector_list_iter_begin(dev, &conn_iter); -- 2.53.0