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 4CDEDC5CFF1 for ; Tue, 11 Aug 2026 17:11:27 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 1A2BD10ED76; Tue, 11 Aug 2026 17:11:08 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=igalia.com header.i=@igalia.com header.b="lSRxJv2a"; dkim-atps=neutral Received: from fanzine2.igalia.com (fanzine2.igalia.com [213.97.179.56]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8CA3A10ED09; 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=j+nmPh8F0cdvE2cCJjOLedVMO14AmwK+Bi/Xq5bnlbw=; b= lSRxJv2aQaihQ++qZDfeWiXq01d3LUKxpS8tw+lhab+nL4s9WbwrlsYxYoVh+DaVXrp00QIoLogob 2fah4hxKX/Hp7qTSVCMHQpD0tRftJbjW1KYzQn+b/Fp4bKrhX/rOzfnxb62zU5y6eDJ8+kiqwvnyv UytDXjBuUwtum9XFxhdPwzz68MkAPhTwTrS4AtoPnBsFCOH54ov9LBh0JaGcxuyTaPyFzj/8NXN9v FX4WY9vlpbFrP52gp38B2YlHjHZV6WQL7tv0IxfNMeOqBtEWkiry/KtrtEs7n+wFoqIsbgoUPk8GX usoxlBjiCHIknuYm0AN7hliPmPn8146vnw==; 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 1wtpzf-00HH9d-V0; Tue, 11 Aug 2026 19:10:28 +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 07/11] drm/amd/display: make shaper bypass mode cleaner Date: Tue, 11 Aug 2026 18:45:56 +0200 Message-ID: <20260811171011.184964-8-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" Start shaper transfer function setup in bypass mode, i.e. tf->type == TF_TYPE_BYPASS and let the helper checks set it to a different mode according to userspace request. It's aligned with current blend setup. Signed-off-by: Melissa Wen --- .../drm/amd/display/amdgpu_dm/amdgpu_dm_color.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 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 450a1469d0fd..ca9e43e81edf 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 @@ -1666,10 +1666,12 @@ __set_dm_plane_colorop_shaper(struct drm_plane_state *plane_state, struct dc_transfer_func *tf = &dc_plane_state->cm.shaper_func; const struct drm_color_lut32 *shaper_lut; struct drm_device *dev = colorop->dev; - bool enabled = false; u32 shaper_size; int i = 0, ret = 0; + tf->type = TF_TYPE_BYPASS; + dc_plane_state->cm.flags.bits.shaper_enable = 0; + /* 1D Curve - SHAPER TF: find state */ old_colorop = colorop; for_each_new_colorop_in_state(state, colorop, new_colorop_state, i) { @@ -1703,7 +1705,7 @@ __set_dm_plane_colorop_shaper(struct drm_plane_state *plane_state, ret = __set_output_tf(tf, 0, 0, false); if (ret) return ret; - enabled = true; + dc_plane_state->cm.flags.bits.shaper_enable = 1; } if (lut_state && !lut_state->bypass) { @@ -1719,17 +1721,10 @@ __set_dm_plane_colorop_shaper(struct drm_plane_state *plane_state, ret = __set_output_tf_32(tf, shaper_lut, shaper_size, false); if (ret) return ret; - enabled = true; + dc_plane_state->cm.flags.bits.shaper_enable = 1; } } - if (!enabled) { - tf->type = TF_TYPE_BYPASS; - dc_plane_state->cm.flags.bits.shaper_enable = 0; - } else { - dc_plane_state->cm.flags.bits.shaper_enable = 1; - } - return 0; } -- 2.53.0