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 CFD1BC5B56A for ; Tue, 11 Aug 2026 17:11:13 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id B324510ED1F; 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="BoR16pZR"; dkim-atps=neutral Received: from fanzine2.igalia.com (fanzine2.igalia.com [213.97.179.56]) by gabe.freedesktop.org (Postfix) with ESMTPS id B79A510ED10; Tue, 11 Aug 2026 17:10:57 +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=0R/8QSF9rsUV/I2X2ZO5JMNGHhsVjujX7spy0FNwWEY=; b= BoR16pZRNeh5log75rwHefDmF2Ws3yJfCVs65hGz9E0wCCjGWjsAqT3G3oeId6SVxXSXC8VbDlIgF dDZiUoD/rdC+UR6VSN5QEHKs3guAUEzaAKReYUP/QsrR/fx8EIFk2qBR3+j2WIzda/aBvo+q2DxY5 h36fiYfkOyhRr+azUQncUfXEeUWQ9RO40K0ww2oYijmgmuEx3H9sVDyFcM3cG/yDgidpP4+l6odaj nybZzs7HXUVkOzqOlTILAGUbiLQNUYm4Lflf/16xZKOlpoi7cuAWEG9hbasvT9gEvbR+8oVYn59x8 6W41kXNdz1QMxAchSm8f+dW7YPYgR9eJIQ==; 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 1wtpze-00HH9d-Lg; Tue, 11 Aug 2026 19:10:26 +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 06/11] drm/amd/display: truly bypass plane colorop 3x4 matrix and hdr mult Date: Tue, 11 Aug 2026 18:45:55 +0200 Message-ID: <20260811171011.184964-7-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" Latent issue as the driver is currently just skipping programming 3x4 matrix and hdr multiplier blocks on bypass. Reset to default values if the bypass property is set true. Acked-by: Harry Wentland Signed-off-by: Melissa Wen --- .../amd/display/amdgpu_dm/amdgpu_dm_color.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c index 357c7c5c85cf..450a1469d0fd 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c @@ -1595,7 +1595,13 @@ __set_dm_plane_colorop_3x4_matrix(struct drm_plane_state *plane_state, } } - if (colorop_state && !colorop_state->bypass && colorop->type == DRM_COLOROP_CTM_3X4) { + if (colorop_state && colorop->type == DRM_COLOROP_CTM_3X4) { + if (colorop_state->bypass) { + dc_plane_state->gamut_remap_matrix.enable_remap = false; + dc_plane_state->input_csc_color_matrix.enable_adjustment = false; + return 0; + } + drm_dbg(dev, "3x4 matrix colorop with ID: %d\n", colorop->base.id); blob = colorop_state->data; if (blob->length == sizeof(struct drm_color_ctm_3x4)) { @@ -1634,9 +1640,13 @@ __set_dm_plane_colorop_multiplier(struct drm_plane_state *plane_state, } } - if (colorop_state && !colorop_state->bypass && colorop->type == DRM_COLOROP_MULTIPLIER) { - drm_dbg(dev, "Multiplier colorop with ID: %d\n", colorop->base.id); - dc_plane_state->hdr_mult = amdgpu_dm_fixpt_from_s3132(colorop_state->multiplier); + if (colorop_state && colorop->type == DRM_COLOROP_MULTIPLIER) { + if (colorop_state->bypass) { + dc_plane_state->hdr_mult = dc_fixpt_one; + } else { + drm_dbg(dev, "Multiplier colorop with ID: %d\n", colorop->base.id); + dc_plane_state->hdr_mult = amdgpu_dm_fixpt_from_s3132(colorop_state->multiplier); + } } return 0; -- 2.53.0