From patchwork Thu Nov 14 06:57:54 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ying Liu X-Patchwork-Id: 13874627 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 D7671D65C52 for ; Thu, 14 Nov 2024 07:03:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Content-Type: Content-Transfer-Encoding:References:In-Reply-To:Message-Id:Date:Subject:Cc: To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=VnE6sVd+9Xicb/i9eboO3B6IYiB5VE3HFC4Ua1xPbQ8=; b=pgvqhE8U4lU/4layjwDtrP1HYt EfO2jZ6I8n6pnP+hlaAbVsNNjAqsZgDWsv8LmXVrpePNzcMHXUHBF+vVCCQqomVuItEokD9lv9ltd lpXwnRqZey/TvM5u+YadSigeQ3iS/p0dr5f5NLTJM2IjdGBAyQHJNQf7qDuPCeRkl0DmBnBCeL5Hu v5KQwiHtCgYq9L0NngjERDSmsQoT4GAUDJoE73+XynryX3Z6Ol81EzVlDhllUkUbwWyFQFxQxhp0g 51ut7oLmq4ChMLX/F81VjcgpWsvS1gvQ1TM8mJGfDXblSG1Pk450D+0tr17+HEz+BuUrwhuFNr4TF NxNZGeAw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tBTt9-000000091js-2faB; Thu, 14 Nov 2024 07:03:35 +0000 Received: from mail-am6eur05on20616.outbound.protection.outlook.com ([2a01:111:f403:2612::616] helo=EUR05-AM6-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tBTnu-000000090Md-1Fzo for linux-arm-kernel@lists.infradead.org; Thu, 14 Nov 2024 06:58:12 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=TDkv2g5VtILIolC5YSytaSZsGa2PfZ7WOK262GYQAPZvJT3h8roIvS/A5SrlF8odzpMJrjcQ6Ge9d/inM9sC8NyD1GAm9ff4wPK1s0vBblrldm6kXHrplS2pvSM1gu1gp5RFhJZn1ekdAvUJiYR0xlnt/Iyq7e29jtFJM65nCE4kTvs+vbd6aDYkpprXkPJ01X0PAMynaWYx6Jj8TbrzllMCE1e6aIC37k9saTpNN1DJJ/kDpEDClZHqDT1e66gKOnD7sclQzlNrc+1y/bGuwiNSwJKYVSarB7iH8Gl9e1g26PhBAk0EIiUOrMinlt1OXubwsh1fvEOANGQn61fQzw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=VnE6sVd+9Xicb/i9eboO3B6IYiB5VE3HFC4Ua1xPbQ8=; b=ZSPVgexP8B+iE7Hh1zecy+kySMiDyzUBBnK1Mh+YGiGi5dtOzjnOXHlqK5+gnL6XheZzEghSXo/wOvAhDxwczeFykaTh3nEzrX1Hcrla+6BdkC4i3x7fXZaivxj9vMqICiEeyh8nGiaLZ1z3arBhUFvUJSBNGlk61fbZ4dJ99AKp9McIcEFxYua2b9tkpTX/7Ggc/gVZsnOS8y3Q/0qJFLfQziUoqttDBn42qqxZzlujxLyLAw3z54+TueW3cWLIRLuIQkP8lfxBgzqoLvmECJMvy+7XBA7Mj50n+MLefDauKeIgLmgCC7pQqWGXlm4uLROrFg5QnDfTzcWC7e14Ug== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=VnE6sVd+9Xicb/i9eboO3B6IYiB5VE3HFC4Ua1xPbQ8=; b=T8uGMh4W7aV0MQQVcwy4e5D1Wra4YJeZekAkAVbCWepwx0U07Ar/TLeZxShM9sWFS5Fh8h68wMoz4EcUeWMvCuuwV2bZB5PFEY6z4UA2SHF2rp38PzBqRUPQYvMW0f6zUOnl7S5pHYyGCwTeLiUQnCa2AHon15qshb4Nb8tcz7DesfDLr9+X7kPBxwyBzrsyHolDboiy2HuiJHZ06pIPqPEJSRULjBp41Xsrk5s3FRUB6LYQFPclsu+JEjHKpm/BzCB+ZsZ/P+M1FgaAkcDW6d/hsamVCwCmRhKAOGH0QSNFS+Cx8Jk0xXiw/bkzB96rm/D5lokJYAJUuEaqwtnGVQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM7PR04MB7046.eurprd04.prod.outlook.com (2603:10a6:20b:113::22) by AS8PR04MB9510.eurprd04.prod.outlook.com (2603:10a6:20b:44a::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8158.17; Thu, 14 Nov 2024 06:58:06 +0000 Received: from AM7PR04MB7046.eurprd04.prod.outlook.com ([fe80::d1ce:ea15:6648:6f90]) by AM7PR04MB7046.eurprd04.prod.outlook.com ([fe80::d1ce:ea15:6648:6f90%5]) with mapi id 15.20.8137.027; Thu, 14 Nov 2024 06:58:05 +0000 From: Liu Ying To: imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org, dri-devel@lists.freedesktop.org Cc: shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, catalin.marinas@arm.com, will@kernel.org, abelvesa@kernel.org, peng.fan@nxp.com, mturquette@baylibre.com, sboyd@kernel.org, andrzej.hajda@intel.com, neil.armstrong@linaro.org, rfoss@kernel.org, Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, quic_bjorande@quicinc.com, geert+renesas@glider.be, dmitry.baryshkov@linaro.org, arnd@arndb.de, nfraprado@collabora.com, marex@denx.de Subject: [PATCH v7 2/7] Revert "clk: imx: clk-imx8mp: Allow media_disp pixel clock reconfigure parent rate" Date: Thu, 14 Nov 2024 14:57:54 +0800 Message-Id: <20241114065759.3341908-3-victor.liu@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20241114065759.3341908-1-victor.liu@nxp.com> References: <20241114065759.3341908-1-victor.liu@nxp.com> X-ClientProxiedBy: SG2P153CA0048.APCP153.PROD.OUTLOOK.COM (2603:1096:4:c6::17) To AM7PR04MB7046.eurprd04.prod.outlook.com (2603:10a6:20b:113::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM7PR04MB7046:EE_|AS8PR04MB9510:EE_ X-MS-Office365-Filtering-Correlation-Id: 30d4c226-bcac-4744-72d7-08dd0479b088 X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|52116014|7416014|376014|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: sAlztiED4coEkMcStXU2NsH6jntbPw7312Y0/TU6N6/MGk7h0brhadLHhxTxoWrKYbSasD0T7VqIvvUYE2ehL7qese61mrQnqRr+XO6a1tiliIXVH9OQ0zt+/3P6jjc9XWHxUlKWcpNboDmovv3pxnfyRskV/AAC+AC+MrdNlEJjFNZHTGUIAMGc9fN5nZss8JNrtsLWFEAGe9GSengutnHPz9xNaaVSe2qEJ6XTm5ixlnik/YxkaQMnavXwkWRK24eZsYzIAHYDmaXR9RXzNlpdrLhG3ruToZAxpqam/NxDb9g0kveChWXlTGlfuIXuYerNf9I2hnsR1c/1xrsiPyWj+BSWqp/8NovI6Ow33t++H+JReAwQrYNHkgf1WImiPiBN4qPSOy9RqULBZqalBCwLAHF3l+1x7mQ1z6UxHkhkGukFxpecu8rfjuD2ShRBHRWKvSL5uKzWiUnNCzGdYdCMfOmgLvh3i5Nd+aWhhO01877XceuObr1h2o5ar0dTl7IIsHwjGh0voBkFn6Jr/Tg1xnFf5I3Cq+vsckv23zhDOFH0TUoaxS227xHDG3NIREqs2H0ySo8J6AYuWJGQ6InRD7m1eg+OdtU324djImxLKl09GyWrLx/V/q9fWAjd5qPLWxUHw5IdhuEU2dr7vZitcBd5y8ouhAVhGU20zactaU2q6U1yYkTR7fq1IIGHppbSa1xBH/OaX2TOvO8y6mQPHQQR4wXlkLyeayjMWXcgXLlLbBJZzAVsFESFG1okxNUCTeEIEU2BhRSzEXy1687RR04omoegXdTbDic9f3qk8EHP5mmmvfidoElBJkb7uF4dihpxuBFprZJ/1LRPnJ3JTkhm64M6OfIsy7h5PH/WIf1VtkxiztoHJlV9GVz9dizVToJMoEd2Fuh3yAc5pFKjsxIN7vMrE33WVBFu5N1aZxKzk5Wc3phkv0y1aV3xv0ax9Jd3uuNkXABAR7sWQ8mfCvtnxZTTxD8xqHamC5pBS+Xc7vIS8WZnMJ9pRjBFdaZlpX3pxN/jk0AXxWE9EEW6fYsEE6ZWOQpK0CoLgz01/2zmvMbsGaTAQgP/hjv4VTnBc4lAncG33xYh4uW6jaQRWM+9Kic90+0sLXhS9fInzBJ0P479Ua9oHNt9avdnv6ZInsUNRiKb6dW+9Hx4uH2lS8DYy4zaYikd+6bpmQEu13I0cp7oaOujG9vixE7Qap3zlnBYhjojPUa8LzfQMKjfJobCAGRGY4LGu2CLKn7xqvMJuBaSVlYIPOQyX1LrPUE5lysmMoB9DIpW+5uQxZKDzWWBg+gN2cRPOaw4XHLaehK/UnYhnYPT2sFSovTV74cBcMWtwuAFZjN9W7fhnrYEQdAFXcfSnZzb7PqAFl8= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM7PR04MB7046.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(52116014)(7416014)(376014)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: UVvPMVH0Yyr8dRTjZFCLbBf9g9Q1f8Wrc5YYoP8D3vk7D0waSOTaKigOnf9v8oc9zS+bOC0qTJWoXWi8KJWIjMJ9rr4hfxGkP3s+mNd59iJm6YG3eSkdqKZjRnG3oM6fF53/MvYil3BgBfoAzQjlQ/jPqG3Sr/zQpoog7S64Ih0MFrh+MOKvy6PworgaA2e8RNvDEboXcCtTmGzLuEUw3PCjqBGm6ahLeifV+UaFaCwCCfKL5ycY9fEipGiderVD+oXXmSNGsps/QUc9M+4Qmqy5mgI0092OXSKjwxoD2rVg21uNmJjRPt4g+a72ifWWnGG7KygGGP4S5XmuQhhAJRlCdHBjrEwHoONyquDsoBhFQ2VHMRbA7ElxZgL92vJMphWN3IUP2MIxHZCeMo1o3N1mHHZz7vuHfxMtSuJTrzNOWgYwD2lfefXyqSxLJo41LHzlBrMCnT0fGYxIM013r0BQ4X68qfZDxRywQP4zz9VI62PQ1HgYIJ/7K9cwzlcAjNEAK9W2GYOtQqBS7YQ9tB7b+zQ+Cyl49qWWxYPdgPyt66COecEA4s4BOmnzM6Fx5G6CXqmy0FzVD7T6gkPubDU3/mtSlUTXQqw1tFWGzsdvjMkt65qc3u02R42yVMsarVXY5E+S2GGypVDudAkJOmavyJ7bzQji9qrqM6P/3GfwH4OgMfdbRnqcnE8H3YUageLQFYxZOXgfxvuEO9E6uYr2RUduGuyNjO3RZRAwSWiHa38uInsa0LQJak9PljZiyhvj0Q2hhYnQNMghi6PGu5mKy8y68f4BdXCAMbV2cA8SIH6mDPoJkRV133pcyR5CgqsAAUMMtbfglIAwQyz+P40Emu7KOGu+cvOHRHMs4VwaQ2o0UnPdqKJ5ZpKNprkUs8PZ2TLRfL8orkFsMIWCO3diOjbFm8Yz8lOcX4KAUWUxsj25+KcGOPqQ/J8jcqewQpwA6Km7qJQBqqMXAKCfxTzKiu9nfdQCAFbNAp7Bs8XdMfDYHU9n+vH6vANvP/PMhwi5EsPttxcsQs1/G+hStovi+vbhUBwRqtiTMUKD39F7cm8yXjMikL5ol5sxzrcJLrZA7B/NSgfGP69A5FWmwTsqyoJZHaYYkJIIf041gU9+01FfPnjE3MXPDX6LSLBRihlRYczVMqyCVQLWKufmWdr+r/DAWQjklnZyg9mlHuJjUPDLFSCSo8COYDcTyE5mVtx6htk49fi6UIbQ318RiJa1Y+NJzdqyFltY1qUGbu2W8S6kmJ27swRZvQV1zlAq8GgVgi8QlEArK+eeBGEPIpSVD0fDH7Xao4rZVPvLqXiGgXa9pfFdu67Fx9SEQbdsXPgLc7qhBrUhimay+rLPbKmyt46G1eSEBVyR9zvXZHiY/ZeRTMqZaEoR7eFyfQ21Lnk+qOlcTq08kvg2pH31R7L1dxWwBsE09f22CjNc4cS7eQCyLjB5OYygPrC9xCRR0w7kJG3ROpEVDan+s/jLpKZYavAtFGtmUUmN0FnSk4qE0aP1Mact8VOKE/J1YLX6IYCXf2C+EG3OCGbjvDw70gN69Lc8Y2nm/zsb2W5mHwKNkcOZRiM3eA9Xjy5nxXLk X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 30d4c226-bcac-4744-72d7-08dd0479b088 X-MS-Exchange-CrossTenant-AuthSource: AM7PR04MB7046.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Nov 2024 06:58:05.8962 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: W9wSQEcro7MqVaJPQVFBg2NIA9crcvkezh3CGtfO0J2QPxSPRWsK7TykC3C10E/zDG9d9L50+AY9qoMk9CU6FA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB9510 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20241113_225810_393087_D32D229A X-CRM114-Status: GOOD ( 14.45 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org This reverts commit ff06ea04e4cf3ba2f025024776e83bfbdfa05155. media_disp1_pix clock is the pixel clock of the first i.MX8MP LCDIFv3 display controller, while media_disp2_pix clock is the pixel clock of the second i.MX8MP LCDIFv3 display controller. The two display controllers connect with Samsung MIPI DSI controller and LVDS Display Bridge(LDB) respectively. Since the two display controllers are driven by separate DRM driver instances and the two pixel clocks may be derived from the same video_pll1_out clock(sys_pll3_out clock could be already used to derive audio_axi clock), there is no way to negotiate a dynamically changeable video_pll1_out clock rate to satisfy both of the two display controllers. In this case, the only solution to drive them with the single video_pll1_out clock is to assign a sensible/unchangeable clock rate for video_pll1_out clock. Thus, there is no need to set the CLK_SET_RATE_PARENT flag for media_disp{1,2}_pix clocks, drop it then. Fixes: ff06ea04e4cf ("clk: imx: clk-imx8mp: Allow media_disp pixel clock reconfigure parent rate") Signed-off-by: Liu Ying Acked-by: Peng Fan --- v7: * No change. v6: * New patch. drivers/clk/imx/clk-imx8mp.c | 4 ++-- drivers/clk/imx/clk.h | 4 ---- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/drivers/clk/imx/clk-imx8mp.c b/drivers/clk/imx/clk-imx8mp.c index 516dbd170c8a..e561ff7b135f 100644 --- a/drivers/clk/imx/clk-imx8mp.c +++ b/drivers/clk/imx/clk-imx8mp.c @@ -547,7 +547,7 @@ static int imx8mp_clocks_probe(struct platform_device *pdev) hws[IMX8MP_CLK_AHB] = imx8m_clk_hw_composite_bus_critical("ahb_root", imx8mp_ahb_sels, ccm_base + 0x9000); hws[IMX8MP_CLK_AUDIO_AHB] = imx8m_clk_hw_composite_bus("audio_ahb", imx8mp_audio_ahb_sels, ccm_base + 0x9100); hws[IMX8MP_CLK_MIPI_DSI_ESC_RX] = imx8m_clk_hw_composite_bus("mipi_dsi_esc_rx", imx8mp_mipi_dsi_esc_rx_sels, ccm_base + 0x9200); - hws[IMX8MP_CLK_MEDIA_DISP2_PIX] = imx8m_clk_hw_composite_bus_flags("media_disp2_pix", imx8mp_media_disp_pix_sels, ccm_base + 0x9300, CLK_SET_RATE_PARENT); + hws[IMX8MP_CLK_MEDIA_DISP2_PIX] = imx8m_clk_hw_composite_bus("media_disp2_pix", imx8mp_media_disp_pix_sels, ccm_base + 0x9300); hws[IMX8MP_CLK_IPG_ROOT] = imx_clk_hw_divider2("ipg_root", "ahb_root", ccm_base + 0x9080, 0, 1); @@ -609,7 +609,7 @@ static int imx8mp_clocks_probe(struct platform_device *pdev) hws[IMX8MP_CLK_USDHC3] = imx8m_clk_hw_composite("usdhc3", imx8mp_usdhc3_sels, ccm_base + 0xbc80); hws[IMX8MP_CLK_MEDIA_CAM1_PIX] = imx8m_clk_hw_composite("media_cam1_pix", imx8mp_media_cam1_pix_sels, ccm_base + 0xbd00); hws[IMX8MP_CLK_MEDIA_MIPI_PHY1_REF] = imx8m_clk_hw_composite("media_mipi_phy1_ref", imx8mp_media_mipi_phy1_ref_sels, ccm_base + 0xbd80); - hws[IMX8MP_CLK_MEDIA_DISP1_PIX] = imx8m_clk_hw_composite_bus_flags("media_disp1_pix", imx8mp_media_disp_pix_sels, ccm_base + 0xbe00, CLK_SET_RATE_PARENT); + hws[IMX8MP_CLK_MEDIA_DISP1_PIX] = imx8m_clk_hw_composite("media_disp1_pix", imx8mp_media_disp_pix_sels, ccm_base + 0xbe00); hws[IMX8MP_CLK_MEDIA_CAM2_PIX] = imx8m_clk_hw_composite("media_cam2_pix", imx8mp_media_cam2_pix_sels, ccm_base + 0xbe80); hws[IMX8MP_CLK_MEDIA_LDB] = imx8m_clk_hw_composite("media_ldb", imx8mp_media_ldb_sels, ccm_base + 0xbf00); hws[IMX8MP_CLK_MEMREPAIR] = imx8m_clk_hw_composite_critical("mem_repair", imx8mp_memrepair_sels, ccm_base + 0xbf80); diff --git a/drivers/clk/imx/clk.h b/drivers/clk/imx/clk.h index aa5202f284f3..adb7ad649a0d 100644 --- a/drivers/clk/imx/clk.h +++ b/drivers/clk/imx/clk.h @@ -442,10 +442,6 @@ struct clk_hw *__imx8m_clk_hw_composite(const char *name, _imx8m_clk_hw_composite(name, parent_names, reg, \ IMX_COMPOSITE_BUS, IMX_COMPOSITE_CLK_FLAGS_DEFAULT) -#define imx8m_clk_hw_composite_bus_flags(name, parent_names, reg, flags) \ - _imx8m_clk_hw_composite(name, parent_names, reg, \ - IMX_COMPOSITE_BUS, IMX_COMPOSITE_CLK_FLAGS_DEFAULT | flags) - #define imx8m_clk_hw_composite_bus_critical(name, parent_names, reg) \ _imx8m_clk_hw_composite(name, parent_names, reg, \ IMX_COMPOSITE_BUS, IMX_COMPOSITE_CLK_FLAGS_CRITICAL)