From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EF3747F476 for ; Thu, 28 Mar 2024 12:34:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.43 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711629290; cv=none; b=IR5PZljNyhAv2aX2cbeIvF5myaWWEVPmaKZVJgyggE9Qg30EKQeODnXll54dHBrys9p9p3xcd2O1Yl6VgMM7C6j40IpplpDVLLwZo43S0/iGrLVvVeMXw9T4Kvc74I4AVlmWeSCoklOjmAgpPmv/mPf+7EcUMVCwq/RWaXLmqtc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711629290; c=relaxed/simple; bh=G9rajGk0d4ZQFcRW6N7DSPqkzn3MfbXX+XgYTkYr7rE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=nHtexqoHfN+vtwlPeDBha5MUoPrqFl2ghB7r/WFMVCOGIWycI4Zqdki155UcnhrhBThNo5c3FVAojLteZDwcGeHp+dvKzQW5SYVfKJ42mhF+BvZcqfZBbwhCN7vI69ii3SUZSetovv12pZixFDUbiTBDGzNH6hEKMsfAwQWB+lY= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=L2LVcLxM; arc=none smtp.client-ip=209.85.128.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="L2LVcLxM" Received: by mail-wm1-f43.google.com with SMTP id 5b1f17b1804b1-4141156f245so6395375e9.2 for ; Thu, 28 Mar 2024 05:34:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1711629286; x=1712234086; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=T+QixHXzYFVjgJw5tBEGG1f8mkq14aJzxd8vq8TimAA=; b=L2LVcLxMcRoO1TyXkv7FeF1xtRZTtZvrNE45QhlsNT9fF4OpaQBAxGI4hasc7UwnsC ouySrmGOmbx2Y94dMbuyaMV0y1woS8WycLbcSKbOjIsl+z4JOU/3avY4SaEjIyxPTRco hmuSBiwWaxX32YJC5ADmDhs7UrjWod5FLUh4kr8d7W7C9SrHCyL9HxMw8Grh4RNzzcyc vXhPkWRRmTo2qHEVlM72xxqGpCZbBrEu4alxU17zWJt16Eb2cRnL9VfvrWw2YGQNOMzh YdFIdnZoEWC8GvYljamSaDEPgPxmipCRgTuAgyHTvw+cdVeqMRqXd4aZeGX2M79qaDKA eWVA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711629286; x=1712234086; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=T+QixHXzYFVjgJw5tBEGG1f8mkq14aJzxd8vq8TimAA=; b=q0D57cMZSDVNsrYx9RX8P6BWnYUuNmnrl82W0V6jjeQYc8qrhmlqLKo1aoJOELkAed 2YFLrHTPvhipmekbGkLzykUyhgzSXx2dGPE0wT3EfWzAeODIFJFU1p4WORjTtqDXfLId FZXawDTSrRbdCOfcdAynOfVzyF0lAP259ahgtzqu7d6Qc3GFj7TH6lIa0fIn+b7EcuDw Vt5GFMtMx+LzFLSqMbya7ol+nHPF7msqVPztvk3p4P5fyfJ1uckyDNVbl4XyYWEC7kKg 4URb+rIp9fVx7mw5ugcYsbhUiMhLHRJo/6SwtAa95Fx7q/+n2S6udG3YPW5ZPF2EDZN2 JixQ== X-Forwarded-Encrypted: i=1; AJvYcCWzM8Ed/vU3lGkrjnFNjWoUmNVGpvzBo272AOaVaPOCbmWZATKhduMXOGoCfZlUwrTFiUP0HBf4ud77qXNke+XqladkKE5/WhcyH9bV X-Gm-Message-State: AOJu0Yw4lueslcZqGLGf5+eyci2XNg+IReMkNIjAazKdocl4pmrECHBv hquE9emBYner/FUyL/QTjJSZF/jxsP1rEcYrDtkAxHox6JG1hfBS/TiOrO9NN12tn+yrpBG3bHv E X-Google-Smtp-Source: AGHT+IEg9bXN3pX43iAB0Sl1xHuJwsJg1t2ngWepln87O+0j1btTlnVLBn8xAFxqRjumR0gBJD0eJw== X-Received: by 2002:a05:600c:4e8e:b0:414:8065:2d23 with SMTP id f14-20020a05600c4e8e00b0041480652d23mr2331235wmq.20.1711629286314; Thu, 28 Mar 2024 05:34:46 -0700 (PDT) Received: from ta2.c.googlers.com.com (158.100.79.34.bc.googleusercontent.com. [34.79.100.158]) by smtp.gmail.com with ESMTPSA id u6-20020adfa186000000b00341e2146b53sm1639671wru.106.2024.03.28.05.34.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Mar 2024 05:34:45 -0700 (PDT) From: Tudor Ambarus To: peter.griffin@linaro.org, krzysztof.kozlowski@linaro.org Cc: alim.akhtar@samsung.com, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org, andre.draszik@linaro.org, willmcvicker@google.com, kernel-team@android.com, s.nawrocki@samsung.com, cw00.choi@samsung.com, mturquette@baylibre.com, sboyd@kernel.org, semen.protsenko@linaro.org, linux-clk@vger.kernel.org, jaewon02.kim@samsung.com, Tudor Ambarus Subject: [PATCH v3 2/3] clk: samsung: gs101: propagate PERIC1 USI SPI clock rate Date: Thu, 28 Mar 2024 12:34:39 +0000 Message-ID: <20240328123440.1387823-3-tudor.ambarus@linaro.org> X-Mailer: git-send-email 2.44.0.396.g6e790dbe36-goog In-Reply-To: <20240328123440.1387823-1-tudor.ambarus@linaro.org> References: <20240328123440.1387823-1-tudor.ambarus@linaro.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When SPI transfer is being prepared, the spi-s3c64xx driver will call clk_set_rate() to change the rate of SPI source clock (IPCLK). But IPCLK is a gate (leaf) clock, so it must propagate the rate change up the clock tree, so that corresponding MUX/DIV clocks can actually change their values. Add CLK_SET_RATE_PARENT flag to corresponding clocks for all USI instances in GS101 PERIC1: USI{0, 9, 10, 11, 12, 13}. This change involves the following clocks: PERIC1 USI*: Clock Div range MUX Selection ------------------------------------------------------------------- gout_peric1_peric1_top0_ipclk_* - - dout_peric1_usi*_usi /1..16 - mout_peric1_usi*_usi_user - {24.5 MHz, 400 MHz} With input clock of 400 MHz this scheme provides the following IPCLK rate range, for each USI block: PERIC1 USI*: 1.5 MHz ... 400 MHz Accounting for internal /4 divider in SPI blocks, and because the max SPI frequency is limited at 50 MHz, it gives us next SPI SCK rates: PERIC1 USI_SPI*: 384 KHz ... 49.9 MHz Which shall be fine for the applications of the SPI bus. Note that with this we allow the reparenting of the MUX_USIx clocks to OSCCLK. Each instance of the USI IP has its own MUX_USI clock, thus the reparenting of a MUX_USI clock corresponds to a single instance of the USI IP. The datasheet mentions OSCCLK just in the low-power mode context, but the downstream driver reparents too the MUX_USI clocks to OSCCLK. Follow the downstream driver and do the same. Fixes: 63b4bd1259d9 ("clk: samsung: gs101: add support for cmu_peric1") Reviewed-by: Peter Griffin Acked-by: André Draszik Signed-off-by: Tudor Ambarus --- drivers/clk/samsung/clk-gs101.c | 90 ++++++++++++++++++--------------- 1 file changed, 48 insertions(+), 42 deletions(-) diff --git a/drivers/clk/samsung/clk-gs101.c b/drivers/clk/samsung/clk-gs101.c index d065e343a85d..ddf2d57eed68 100644 --- a/drivers/clk/samsung/clk-gs101.c +++ b/drivers/clk/samsung/clk-gs101.c @@ -3230,47 +3230,53 @@ static const struct samsung_mux_clock peric1_mux_clks[] __initconst = { MUX(CLK_MOUT_PERIC1_I3C_USER, "mout_peric1_i3c_user", mout_peric1_nonbususer_p, PLL_CON0_MUX_CLKCMU_PERIC1_I3C_USER, 4, 1), - MUX(CLK_MOUT_PERIC1_USI0_USI_USER, - "mout_peric1_usi0_usi_user", mout_peric1_nonbususer_p, - PLL_CON0_MUX_CLKCMU_PERIC1_USI0_USI_USER, 4, 1), - MUX(CLK_MOUT_PERIC1_USI10_USI_USER, - "mout_peric1_usi10_usi_user", mout_peric1_nonbususer_p, - PLL_CON0_MUX_CLKCMU_PERIC1_USI10_USI_USER, 4, 1), - MUX(CLK_MOUT_PERIC1_USI11_USI_USER, - "mout_peric1_usi11_usi_user", mout_peric1_nonbususer_p, - PLL_CON0_MUX_CLKCMU_PERIC1_USI11_USI_USER, 4, 1), - MUX(CLK_MOUT_PERIC1_USI12_USI_USER, - "mout_peric1_usi12_usi_user", mout_peric1_nonbususer_p, - PLL_CON0_MUX_CLKCMU_PERIC1_USI12_USI_USER, 4, 1), - MUX(CLK_MOUT_PERIC1_USI13_USI_USER, - "mout_peric1_usi13_usi_user", mout_peric1_nonbususer_p, - PLL_CON0_MUX_CLKCMU_PERIC1_USI13_USI_USER, 4, 1), - MUX(CLK_MOUT_PERIC1_USI9_USI_USER, - "mout_peric1_usi9_usi_user", mout_peric1_nonbususer_p, - PLL_CON0_MUX_CLKCMU_PERIC1_USI9_USI_USER, 4, 1), + nMUX(CLK_MOUT_PERIC1_USI0_USI_USER, + "mout_peric1_usi0_usi_user", mout_peric1_nonbususer_p, + PLL_CON0_MUX_CLKCMU_PERIC1_USI0_USI_USER, 4, 1), + nMUX(CLK_MOUT_PERIC1_USI10_USI_USER, + "mout_peric1_usi10_usi_user", mout_peric1_nonbususer_p, + PLL_CON0_MUX_CLKCMU_PERIC1_USI10_USI_USER, 4, 1), + nMUX(CLK_MOUT_PERIC1_USI11_USI_USER, + "mout_peric1_usi11_usi_user", mout_peric1_nonbususer_p, + PLL_CON0_MUX_CLKCMU_PERIC1_USI11_USI_USER, 4, 1), + nMUX(CLK_MOUT_PERIC1_USI12_USI_USER, + "mout_peric1_usi12_usi_user", mout_peric1_nonbususer_p, + PLL_CON0_MUX_CLKCMU_PERIC1_USI12_USI_USER, 4, 1), + nMUX(CLK_MOUT_PERIC1_USI13_USI_USER, + "mout_peric1_usi13_usi_user", mout_peric1_nonbususer_p, + PLL_CON0_MUX_CLKCMU_PERIC1_USI13_USI_USER, 4, 1), + nMUX(CLK_MOUT_PERIC1_USI9_USI_USER, + "mout_peric1_usi9_usi_user", mout_peric1_nonbususer_p, + PLL_CON0_MUX_CLKCMU_PERIC1_USI9_USI_USER, 4, 1), }; static const struct samsung_div_clock peric1_div_clks[] __initconst = { DIV(CLK_DOUT_PERIC1_I3C, "dout_peric1_i3c", "mout_peric1_i3c_user", CLK_CON_DIV_DIV_CLK_PERIC1_I3C, 0, 4), - DIV(CLK_DOUT_PERIC1_USI0_USI, - "dout_peric1_usi0_usi", "mout_peric1_usi0_usi_user", - CLK_CON_DIV_DIV_CLK_PERIC1_USI0_USI, 0, 4), - DIV(CLK_DOUT_PERIC1_USI10_USI, - "dout_peric1_usi10_usi", "mout_peric1_usi10_usi_user", - CLK_CON_DIV_DIV_CLK_PERIC1_USI10_USI, 0, 4), - DIV(CLK_DOUT_PERIC1_USI11_USI, - "dout_peric1_usi11_usi", "mout_peric1_usi11_usi_user", - CLK_CON_DIV_DIV_CLK_PERIC1_USI11_USI, 0, 4), - DIV(CLK_DOUT_PERIC1_USI12_USI, - "dout_peric1_usi12_usi", "mout_peric1_usi12_usi_user", - CLK_CON_DIV_DIV_CLK_PERIC1_USI12_USI, 0, 4), - DIV(CLK_DOUT_PERIC1_USI13_USI, - "dout_peric1_usi13_usi", "mout_peric1_usi13_usi_user", - CLK_CON_DIV_DIV_CLK_PERIC1_USI13_USI, 0, 4), - DIV(CLK_DOUT_PERIC1_USI9_USI, - "dout_peric1_usi9_usi", "mout_peric1_usi9_usi_user", - CLK_CON_DIV_DIV_CLK_PERIC1_USI9_USI, 0, 4), + DIV_F(CLK_DOUT_PERIC1_USI0_USI, + "dout_peric1_usi0_usi", "mout_peric1_usi0_usi_user", + CLK_CON_DIV_DIV_CLK_PERIC1_USI0_USI, 0, 4, + CLK_SET_RATE_PARENT, 0), + DIV_F(CLK_DOUT_PERIC1_USI10_USI, + "dout_peric1_usi10_usi", "mout_peric1_usi10_usi_user", + CLK_CON_DIV_DIV_CLK_PERIC1_USI10_USI, 0, 4, + CLK_SET_RATE_PARENT, 0), + DIV_F(CLK_DOUT_PERIC1_USI11_USI, + "dout_peric1_usi11_usi", "mout_peric1_usi11_usi_user", + CLK_CON_DIV_DIV_CLK_PERIC1_USI11_USI, 0, 4, + CLK_SET_RATE_PARENT, 0), + DIV_F(CLK_DOUT_PERIC1_USI12_USI, + "dout_peric1_usi12_usi", "mout_peric1_usi12_usi_user", + CLK_CON_DIV_DIV_CLK_PERIC1_USI12_USI, 0, 4, + CLK_SET_RATE_PARENT, 0), + DIV_F(CLK_DOUT_PERIC1_USI13_USI, + "dout_peric1_usi13_usi", "mout_peric1_usi13_usi_user", + CLK_CON_DIV_DIV_CLK_PERIC1_USI13_USI, 0, 4, + CLK_SET_RATE_PARENT, 0), + DIV_F(CLK_DOUT_PERIC1_USI9_USI, + "dout_peric1_usi9_usi", "mout_peric1_usi9_usi_user", + CLK_CON_DIV_DIV_CLK_PERIC1_USI9_USI, 0, 4, + CLK_SET_RATE_PARENT, 0), }; static const struct samsung_gate_clock peric1_gate_clks[] __initconst = { @@ -3305,27 +3311,27 @@ static const struct samsung_gate_clock peric1_gate_clks[] __initconst = { GATE(CLK_GOUT_PERIC1_PERIC1_TOP0_IPCLK_1, "gout_peric1_peric1_top0_ipclk_1", "dout_peric1_usi0_usi", CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_1, - 21, 0, 0), + 21, CLK_SET_RATE_PARENT, 0), GATE(CLK_GOUT_PERIC1_PERIC1_TOP0_IPCLK_2, "gout_peric1_peric1_top0_ipclk_2", "dout_peric1_usi9_usi", CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_2, - 21, 0, 0), + 21, CLK_SET_RATE_PARENT, 0), GATE(CLK_GOUT_PERIC1_PERIC1_TOP0_IPCLK_3, "gout_peric1_peric1_top0_ipclk_3", "dout_peric1_usi10_usi", CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_3, - 21, 0, 0), + 21, CLK_SET_RATE_PARENT, 0), GATE(CLK_GOUT_PERIC1_PERIC1_TOP0_IPCLK_4, "gout_peric1_peric1_top0_ipclk_4", "dout_peric1_usi11_usi", CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_4, - 21, 0, 0), + 21, CLK_SET_RATE_PARENT, 0), GATE(CLK_GOUT_PERIC1_PERIC1_TOP0_IPCLK_5, "gout_peric1_peric1_top0_ipclk_5", "dout_peric1_usi12_usi", CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_5, - 21, 0, 0), + 21, CLK_SET_RATE_PARENT, 0), GATE(CLK_GOUT_PERIC1_PERIC1_TOP0_IPCLK_6, "gout_peric1_peric1_top0_ipclk_6", "dout_peric1_usi13_usi", CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_6, - 21, 0, 0), + 21, CLK_SET_RATE_PARENT, 0), GATE(CLK_GOUT_PERIC1_PERIC1_TOP0_IPCLK_8, "gout_peric1_peric1_top0_ipclk_8", "dout_peric1_i3c", CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_8, -- 2.44.0.396.g6e790dbe36-goog 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 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 BE9FAC54E64 for ; Thu, 28 Mar 2024 12:35:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version: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=kAWeD9dzrrtinzf6utegMeQNu3lA+7K3bH00avuhPzM=; b=SiMXT4PY0ubV9v 3XG4w4j92HdYKaZmTPpprHTno9qEMbv1jaez7512a/ba+DjVnVWLZpX5MgAHiDJBxxrVoUItwga3w rC0mUQoWcaNdZ7PVtfp6Q59Z5tTkpWoTGMhoOAKMeS4vOeHRNf03yaLLc6VkFnB56x6zLU8OnOqHk fJ3H/0N8TbwROTMEVkO6H1obpFTQKVVsVdyEsIBMTCVX/DYis4kMFuo0TslgVGc3XALoPM5uJElpj 9GgAUMUJI3bE9Cp2QOdW1uoUOpAW/tCJJF4Jc2pugDEGYz5a9Lfa79D5pRkjJT3WW5/4P4ej+jdDk B/rZgFyDDbDRyS/F3sGw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rpoyK-0000000Dvjm-0s1B; Thu, 28 Mar 2024 12:35:08 +0000 Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rpoy0-0000000DvaK-14n3 for linux-arm-kernel@lists.infradead.org; Thu, 28 Mar 2024 12:34:50 +0000 Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-4148c5de23fso6480765e9.1 for ; Thu, 28 Mar 2024 05:34:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1711629286; x=1712234086; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=T+QixHXzYFVjgJw5tBEGG1f8mkq14aJzxd8vq8TimAA=; b=A0VhyL//05AU2aaXOsRpCoNQJLcTPXyoe+PhKWfDsiuYoY5s/yF23cAMn6Jy2lTa6u XA7Huxi1lF7Ah7EL36oJSnHXErr3NJ/gUGUIgj2KuNHA+ADoA1SwnytC+C8120N7xHVL dNZWe5DNDYqLqo/7XatgzIMa+NfzhS3otsXcebZ8ikBCqwwvPfjtbhZ44TyLQpEPMjz7 Qs0iTQPf6snpQI1HUrolBy4vJwQ1POBnIWZ76Aecvm19+d97KZU2oH3n93VYMTnkETLr 1O9sUj9XC91h9VuJUJgSOJ0s4ybvtSfNfLARVR+UMo+9b2/pDOZles/gkEDgxvm1qoja J3ng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711629286; x=1712234086; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=T+QixHXzYFVjgJw5tBEGG1f8mkq14aJzxd8vq8TimAA=; b=d4GuWVFyRtO5loyvzlitqGj6q2IDpfSQDR/Amr6amMrLJEOOfu70eTLFjB7l9eDM8y 9T9hWw0PBE+jCsOlUeX1cW8thU2PJDC4Mwk4zJ+H7OE5xRSqNGLYk9G81heYrISB5b7y 96BRdxqFEhZvADlnUXZR350icB8mWity0+2WqTDenb2U8I+b8OEAlhAdZDpoxlVsMQjC a7Vh4CzsZUjU1adfybpm2e3B8pVP7q15O8KQFieZW6ebFVuPBDn1sVpSuMv0rIOB/oRI siHd8idcw9qa+1Wt3x5hVem09NmfOTVGka+egEjTRhqrRoNtgW50dwpqbXsacF8GRi3v +HCQ== X-Forwarded-Encrypted: i=1; AJvYcCV6kKOFrvAdXDcfxz9izVyhz4sSMva5PjCtPFGZpsCGn4jccuni4M+MzgX3yXV00UfgkUbKmcJLnddWExd+mURb0AHbr46aSzlbzym7/eN62JP8Hb8= X-Gm-Message-State: AOJu0Yw7jaKp7xYHAswV59kUjd8nMIoOtAr1uI7qxnSDOI+vmuq/aYg8 wgY3iXttMvKPJDbS8LBE5O6gFTOjnNxGgc+GElvwcehdtwjMRSAYNr/xtUxhOy8= X-Google-Smtp-Source: AGHT+IEg9bXN3pX43iAB0Sl1xHuJwsJg1t2ngWepln87O+0j1btTlnVLBn8xAFxqRjumR0gBJD0eJw== X-Received: by 2002:a05:600c:4e8e:b0:414:8065:2d23 with SMTP id f14-20020a05600c4e8e00b0041480652d23mr2331235wmq.20.1711629286314; Thu, 28 Mar 2024 05:34:46 -0700 (PDT) Received: from ta2.c.googlers.com.com (158.100.79.34.bc.googleusercontent.com. [34.79.100.158]) by smtp.gmail.com with ESMTPSA id u6-20020adfa186000000b00341e2146b53sm1639671wru.106.2024.03.28.05.34.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Mar 2024 05:34:45 -0700 (PDT) From: Tudor Ambarus To: peter.griffin@linaro.org, krzysztof.kozlowski@linaro.org Cc: alim.akhtar@samsung.com, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org, andre.draszik@linaro.org, willmcvicker@google.com, kernel-team@android.com, s.nawrocki@samsung.com, cw00.choi@samsung.com, mturquette@baylibre.com, sboyd@kernel.org, semen.protsenko@linaro.org, linux-clk@vger.kernel.org, jaewon02.kim@samsung.com, Tudor Ambarus Subject: [PATCH v3 2/3] clk: samsung: gs101: propagate PERIC1 USI SPI clock rate Date: Thu, 28 Mar 2024 12:34:39 +0000 Message-ID: <20240328123440.1387823-3-tudor.ambarus@linaro.org> X-Mailer: git-send-email 2.44.0.396.g6e790dbe36-goog In-Reply-To: <20240328123440.1387823-1-tudor.ambarus@linaro.org> References: <20240328123440.1387823-1-tudor.ambarus@linaro.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240328_053448_352430_74C47316 X-CRM114-Status: GOOD ( 14.02 ) 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: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org V2hlbiBTUEkgdHJhbnNmZXIgaXMgYmVpbmcgcHJlcGFyZWQsIHRoZSBzcGktczNjNjR4eCBkcml2 ZXIgd2lsbCBjYWxsCmNsa19zZXRfcmF0ZSgpIHRvIGNoYW5nZSB0aGUgcmF0ZSBvZiBTUEkgc291 cmNlIGNsb2NrIChJUENMSykuIEJ1dCBJUENMSwppcyBhIGdhdGUgKGxlYWYpIGNsb2NrLCBzbyBp dCBtdXN0IHByb3BhZ2F0ZSB0aGUgcmF0ZSBjaGFuZ2UgdXAgdGhlCmNsb2NrIHRyZWUsIHNvIHRo YXQgY29ycmVzcG9uZGluZyBNVVgvRElWIGNsb2NrcyBjYW4gYWN0dWFsbHkgY2hhbmdlCnRoZWly IHZhbHVlcy4gQWRkIENMS19TRVRfUkFURV9QQVJFTlQgZmxhZyB0byBjb3JyZXNwb25kaW5nIGNs b2NrcyBmb3IKYWxsIFVTSSBpbnN0YW5jZXMgaW4gR1MxMDEgUEVSSUMxOiBVU0l7MCwgOSwgMTAs IDExLCAxMiwgMTN9LiBUaGlzIGNoYW5nZQppbnZvbHZlcyB0aGUgZm9sbG93aW5nIGNsb2NrczoK ClBFUklDMSBVU0kqOgoKICAgIENsb2NrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGl2 IHJhbmdlICAgIE1VWCBTZWxlY3Rpb24KICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGdvdXRfcGVyaWMxX3Bl cmljMV90b3AwX2lwY2xrXyogICAgLSAgICAgICAgICAgIC0KICAgIGRvdXRfcGVyaWMxX3VzaSpf dXNpICAgICAgICAgICAgICAgLzEuLjE2ICAgICAgIC0KICAgIG1vdXRfcGVyaWMxX3VzaSpfdXNp X3VzZXIgICAgICAgICAgLSAgICAgICAgICAgIHsyNC41IE1IeiwgNDAwIE1Ien0KCldpdGggaW5w dXQgY2xvY2sgb2YgNDAwIE1IeiB0aGlzIHNjaGVtZSBwcm92aWRlcyB0aGUgZm9sbG93aW5nIElQ Q0xLCnJhdGUgcmFuZ2UsIGZvciBlYWNoIFVTSSBibG9jazoKCiAgICBQRVJJQzEgVVNJKjogICAg ICAgMS41IE1IeiAuLi4gNDAwIE1IegoKQWNjb3VudGluZyBmb3IgaW50ZXJuYWwgLzQgZGl2aWRl ciBpbiBTUEkgYmxvY2tzLCBhbmQgYmVjYXVzZSB0aGUgbWF4ClNQSSBmcmVxdWVuY3kgaXMgbGlt aXRlZCBhdCA1MCBNSHosIGl0IGdpdmVzIHVzIG5leHQgU1BJIFNDSyByYXRlczoKCiAgICBQRVJJ QzEgVVNJX1NQSSo6ICAgMzg0IEtIeiAuLi4gNDkuOSBNSHoKCldoaWNoIHNoYWxsIGJlIGZpbmUg Zm9yIHRoZSBhcHBsaWNhdGlvbnMgb2YgdGhlIFNQSSBidXMuCgpOb3RlIHRoYXQgd2l0aCB0aGlz IHdlIGFsbG93IHRoZSByZXBhcmVudGluZyBvZiB0aGUgTVVYX1VTSXggY2xvY2tzIHRvCk9TQ0NM Sy4gRWFjaCBpbnN0YW5jZSBvZiB0aGUgVVNJIElQIGhhcyBpdHMgb3duIE1VWF9VU0kgY2xvY2ss IHRodXMgdGhlCnJlcGFyZW50aW5nIG9mIGEgTVVYX1VTSSBjbG9jayBjb3JyZXNwb25kcyB0byBh IHNpbmdsZSBpbnN0YW5jZSBvZiB0aGUKVVNJIElQLiBUaGUgZGF0YXNoZWV0IG1lbnRpb25zIE9T Q0NMSyBqdXN0IGluIHRoZSBsb3ctcG93ZXIgbW9kZQpjb250ZXh0LCBidXQgdGhlIGRvd25zdHJl YW0gZHJpdmVyIHJlcGFyZW50cyB0b28gdGhlIE1VWF9VU0kgY2xvY2tzIHRvCk9TQ0NMSy4gRm9s bG93IHRoZSBkb3duc3RyZWFtIGRyaXZlciBhbmQgZG8gdGhlIHNhbWUuCgpGaXhlczogNjNiNGJk MTI1OWQ5ICgiY2xrOiBzYW1zdW5nOiBnczEwMTogYWRkIHN1cHBvcnQgZm9yIGNtdV9wZXJpYzEi KQpSZXZpZXdlZC1ieTogUGV0ZXIgR3JpZmZpbiA8cGV0ZXIuZ3JpZmZpbkBsaW5hcm8ub3JnPgpB Y2tlZC1ieTogQW5kcsOpIERyYXN6aWsgPGFuZHJlLmRyYXN6aWtAbGluYXJvLm9yZz4KU2lnbmVk LW9mZi1ieTogVHVkb3IgQW1iYXJ1cyA8dHVkb3IuYW1iYXJ1c0BsaW5hcm8ub3JnPgotLS0KIGRy aXZlcnMvY2xrL3NhbXN1bmcvY2xrLWdzMTAxLmMgfCA5MCArKysrKysrKysrKysrKysrKystLS0t LS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0OCBpbnNlcnRpb25zKCspLCA0MiBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Nsay9zYW1zdW5nL2Nsay1nczEwMS5jIGIvZHJp dmVycy9jbGsvc2Ftc3VuZy9jbGstZ3MxMDEuYwppbmRleCBkMDY1ZTM0M2E4NWQuLmRkZjJkNTdl ZWQ2OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9jbGsvc2Ftc3VuZy9jbGstZ3MxMDEuYworKysgYi9k cml2ZXJzL2Nsay9zYW1zdW5nL2Nsay1nczEwMS5jCkBAIC0zMjMwLDQ3ICszMjMwLDUzIEBAIHN0 YXRpYyBjb25zdCBzdHJ1Y3Qgc2Ftc3VuZ19tdXhfY2xvY2sgcGVyaWMxX211eF9jbGtzW10gX19p bml0Y29uc3QgPSB7CiAJTVVYKENMS19NT1VUX1BFUklDMV9JM0NfVVNFUiwKIAkgICAgIm1vdXRf cGVyaWMxX2kzY191c2VyIiwgbW91dF9wZXJpYzFfbm9uYnVzdXNlcl9wLAogCSAgICBQTExfQ09O MF9NVVhfQ0xLQ01VX1BFUklDMV9JM0NfVVNFUiwgNCwgMSksCi0JTVVYKENMS19NT1VUX1BFUklD MV9VU0kwX1VTSV9VU0VSLAotCSAgICAibW91dF9wZXJpYzFfdXNpMF91c2lfdXNlciIsIG1vdXRf cGVyaWMxX25vbmJ1c3VzZXJfcCwKLQkgICAgUExMX0NPTjBfTVVYX0NMS0NNVV9QRVJJQzFfVVNJ MF9VU0lfVVNFUiwgNCwgMSksCi0JTVVYKENMS19NT1VUX1BFUklDMV9VU0kxMF9VU0lfVVNFUiwK LQkgICAgIm1vdXRfcGVyaWMxX3VzaTEwX3VzaV91c2VyIiwgbW91dF9wZXJpYzFfbm9uYnVzdXNl cl9wLAotCSAgICBQTExfQ09OMF9NVVhfQ0xLQ01VX1BFUklDMV9VU0kxMF9VU0lfVVNFUiwgNCwg MSksCi0JTVVYKENMS19NT1VUX1BFUklDMV9VU0kxMV9VU0lfVVNFUiwKLQkgICAgIm1vdXRfcGVy aWMxX3VzaTExX3VzaV91c2VyIiwgbW91dF9wZXJpYzFfbm9uYnVzdXNlcl9wLAotCSAgICBQTExf Q09OMF9NVVhfQ0xLQ01VX1BFUklDMV9VU0kxMV9VU0lfVVNFUiwgNCwgMSksCi0JTVVYKENMS19N T1VUX1BFUklDMV9VU0kxMl9VU0lfVVNFUiwKLQkgICAgIm1vdXRfcGVyaWMxX3VzaTEyX3VzaV91 c2VyIiwgbW91dF9wZXJpYzFfbm9uYnVzdXNlcl9wLAotCSAgICBQTExfQ09OMF9NVVhfQ0xLQ01V X1BFUklDMV9VU0kxMl9VU0lfVVNFUiwgNCwgMSksCi0JTVVYKENMS19NT1VUX1BFUklDMV9VU0kx M19VU0lfVVNFUiwKLQkgICAgIm1vdXRfcGVyaWMxX3VzaTEzX3VzaV91c2VyIiwgbW91dF9wZXJp YzFfbm9uYnVzdXNlcl9wLAotCSAgICBQTExfQ09OMF9NVVhfQ0xLQ01VX1BFUklDMV9VU0kxM19V U0lfVVNFUiwgNCwgMSksCi0JTVVYKENMS19NT1VUX1BFUklDMV9VU0k5X1VTSV9VU0VSLAotCSAg ICAibW91dF9wZXJpYzFfdXNpOV91c2lfdXNlciIsIG1vdXRfcGVyaWMxX25vbmJ1c3VzZXJfcCwK LQkgICAgUExMX0NPTjBfTVVYX0NMS0NNVV9QRVJJQzFfVVNJOV9VU0lfVVNFUiwgNCwgMSksCisJ bk1VWChDTEtfTU9VVF9QRVJJQzFfVVNJMF9VU0lfVVNFUiwKKwkgICAgICJtb3V0X3BlcmljMV91 c2kwX3VzaV91c2VyIiwgbW91dF9wZXJpYzFfbm9uYnVzdXNlcl9wLAorCSAgICAgUExMX0NPTjBf TVVYX0NMS0NNVV9QRVJJQzFfVVNJMF9VU0lfVVNFUiwgNCwgMSksCisJbk1VWChDTEtfTU9VVF9Q RVJJQzFfVVNJMTBfVVNJX1VTRVIsCisJICAgICAibW91dF9wZXJpYzFfdXNpMTBfdXNpX3VzZXIi LCBtb3V0X3BlcmljMV9ub25idXN1c2VyX3AsCisJICAgICBQTExfQ09OMF9NVVhfQ0xLQ01VX1BF UklDMV9VU0kxMF9VU0lfVVNFUiwgNCwgMSksCisJbk1VWChDTEtfTU9VVF9QRVJJQzFfVVNJMTFf VVNJX1VTRVIsCisJICAgICAibW91dF9wZXJpYzFfdXNpMTFfdXNpX3VzZXIiLCBtb3V0X3Blcmlj MV9ub25idXN1c2VyX3AsCisJICAgICBQTExfQ09OMF9NVVhfQ0xLQ01VX1BFUklDMV9VU0kxMV9V U0lfVVNFUiwgNCwgMSksCisJbk1VWChDTEtfTU9VVF9QRVJJQzFfVVNJMTJfVVNJX1VTRVIsCisJ ICAgICAibW91dF9wZXJpYzFfdXNpMTJfdXNpX3VzZXIiLCBtb3V0X3BlcmljMV9ub25idXN1c2Vy X3AsCisJICAgICBQTExfQ09OMF9NVVhfQ0xLQ01VX1BFUklDMV9VU0kxMl9VU0lfVVNFUiwgNCwg MSksCisJbk1VWChDTEtfTU9VVF9QRVJJQzFfVVNJMTNfVVNJX1VTRVIsCisJICAgICAibW91dF9w ZXJpYzFfdXNpMTNfdXNpX3VzZXIiLCBtb3V0X3BlcmljMV9ub25idXN1c2VyX3AsCisJICAgICBQ TExfQ09OMF9NVVhfQ0xLQ01VX1BFUklDMV9VU0kxM19VU0lfVVNFUiwgNCwgMSksCisJbk1VWChD TEtfTU9VVF9QRVJJQzFfVVNJOV9VU0lfVVNFUiwKKwkgICAgICJtb3V0X3BlcmljMV91c2k5X3Vz aV91c2VyIiwgbW91dF9wZXJpYzFfbm9uYnVzdXNlcl9wLAorCSAgICAgUExMX0NPTjBfTVVYX0NM S0NNVV9QRVJJQzFfVVNJOV9VU0lfVVNFUiwgNCwgMSksCiB9OwogCiBzdGF0aWMgY29uc3Qgc3Ry dWN0IHNhbXN1bmdfZGl2X2Nsb2NrIHBlcmljMV9kaXZfY2xrc1tdIF9faW5pdGNvbnN0ID0gewog CURJVihDTEtfRE9VVF9QRVJJQzFfSTNDLCAiZG91dF9wZXJpYzFfaTNjIiwgIm1vdXRfcGVyaWMx X2kzY191c2VyIiwKIAkgICAgQ0xLX0NPTl9ESVZfRElWX0NMS19QRVJJQzFfSTNDLCAwLCA0KSwK LQlESVYoQ0xLX0RPVVRfUEVSSUMxX1VTSTBfVVNJLAotCSAgICAiZG91dF9wZXJpYzFfdXNpMF91 c2kiLCAibW91dF9wZXJpYzFfdXNpMF91c2lfdXNlciIsCi0JICAgIENMS19DT05fRElWX0RJVl9D TEtfUEVSSUMxX1VTSTBfVVNJLCAwLCA0KSwKLQlESVYoQ0xLX0RPVVRfUEVSSUMxX1VTSTEwX1VT SSwKLQkgICAgImRvdXRfcGVyaWMxX3VzaTEwX3VzaSIsICJtb3V0X3BlcmljMV91c2kxMF91c2lf dXNlciIsCi0JICAgIENMS19DT05fRElWX0RJVl9DTEtfUEVSSUMxX1VTSTEwX1VTSSwgMCwgNCks Ci0JRElWKENMS19ET1VUX1BFUklDMV9VU0kxMV9VU0ksCi0JICAgICJkb3V0X3BlcmljMV91c2kx MV91c2kiLCAibW91dF9wZXJpYzFfdXNpMTFfdXNpX3VzZXIiLAotCSAgICBDTEtfQ09OX0RJVl9E SVZfQ0xLX1BFUklDMV9VU0kxMV9VU0ksIDAsIDQpLAotCURJVihDTEtfRE9VVF9QRVJJQzFfVVNJ MTJfVVNJLAotCSAgICAiZG91dF9wZXJpYzFfdXNpMTJfdXNpIiwgIm1vdXRfcGVyaWMxX3VzaTEy X3VzaV91c2VyIiwKLQkgICAgQ0xLX0NPTl9ESVZfRElWX0NMS19QRVJJQzFfVVNJMTJfVVNJLCAw LCA0KSwKLQlESVYoQ0xLX0RPVVRfUEVSSUMxX1VTSTEzX1VTSSwKLQkgICAgImRvdXRfcGVyaWMx X3VzaTEzX3VzaSIsICJtb3V0X3BlcmljMV91c2kxM191c2lfdXNlciIsCi0JICAgIENMS19DT05f RElWX0RJVl9DTEtfUEVSSUMxX1VTSTEzX1VTSSwgMCwgNCksCi0JRElWKENMS19ET1VUX1BFUklD MV9VU0k5X1VTSSwKLQkgICAgImRvdXRfcGVyaWMxX3VzaTlfdXNpIiwgIm1vdXRfcGVyaWMxX3Vz aTlfdXNpX3VzZXIiLAotCSAgICBDTEtfQ09OX0RJVl9ESVZfQ0xLX1BFUklDMV9VU0k5X1VTSSwg MCwgNCksCisJRElWX0YoQ0xLX0RPVVRfUEVSSUMxX1VTSTBfVVNJLAorCSAgICAgICJkb3V0X3Bl cmljMV91c2kwX3VzaSIsICJtb3V0X3BlcmljMV91c2kwX3VzaV91c2VyIiwKKwkgICAgICBDTEtf Q09OX0RJVl9ESVZfQ0xLX1BFUklDMV9VU0kwX1VTSSwgMCwgNCwKKwkgICAgICBDTEtfU0VUX1JB VEVfUEFSRU5ULCAwKSwKKwlESVZfRihDTEtfRE9VVF9QRVJJQzFfVVNJMTBfVVNJLAorCSAgICAg ICJkb3V0X3BlcmljMV91c2kxMF91c2kiLCAibW91dF9wZXJpYzFfdXNpMTBfdXNpX3VzZXIiLAor CSAgICAgIENMS19DT05fRElWX0RJVl9DTEtfUEVSSUMxX1VTSTEwX1VTSSwgMCwgNCwKKwkgICAg ICBDTEtfU0VUX1JBVEVfUEFSRU5ULCAwKSwKKwlESVZfRihDTEtfRE9VVF9QRVJJQzFfVVNJMTFf VVNJLAorCSAgICAgICJkb3V0X3BlcmljMV91c2kxMV91c2kiLCAibW91dF9wZXJpYzFfdXNpMTFf dXNpX3VzZXIiLAorCSAgICAgIENMS19DT05fRElWX0RJVl9DTEtfUEVSSUMxX1VTSTExX1VTSSwg MCwgNCwKKwkgICAgICBDTEtfU0VUX1JBVEVfUEFSRU5ULCAwKSwKKwlESVZfRihDTEtfRE9VVF9Q RVJJQzFfVVNJMTJfVVNJLAorCSAgICAgICJkb3V0X3BlcmljMV91c2kxMl91c2kiLCAibW91dF9w ZXJpYzFfdXNpMTJfdXNpX3VzZXIiLAorCSAgICAgIENMS19DT05fRElWX0RJVl9DTEtfUEVSSUMx X1VTSTEyX1VTSSwgMCwgNCwKKwkgICAgICBDTEtfU0VUX1JBVEVfUEFSRU5ULCAwKSwKKwlESVZf RihDTEtfRE9VVF9QRVJJQzFfVVNJMTNfVVNJLAorCSAgICAgICJkb3V0X3BlcmljMV91c2kxM191 c2kiLCAibW91dF9wZXJpYzFfdXNpMTNfdXNpX3VzZXIiLAorCSAgICAgIENMS19DT05fRElWX0RJ Vl9DTEtfUEVSSUMxX1VTSTEzX1VTSSwgMCwgNCwKKwkgICAgICBDTEtfU0VUX1JBVEVfUEFSRU5U LCAwKSwKKwlESVZfRihDTEtfRE9VVF9QRVJJQzFfVVNJOV9VU0ksCisJICAgICAgImRvdXRfcGVy aWMxX3VzaTlfdXNpIiwgIm1vdXRfcGVyaWMxX3VzaTlfdXNpX3VzZXIiLAorCSAgICAgIENMS19D T05fRElWX0RJVl9DTEtfUEVSSUMxX1VTSTlfVVNJLCAwLCA0LAorCSAgICAgIENMS19TRVRfUkFU RV9QQVJFTlQsIDApLAogfTsKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBzYW1zdW5nX2dhdGVfY2xv Y2sgcGVyaWMxX2dhdGVfY2xrc1tdIF9faW5pdGNvbnN0ID0gewpAQCAtMzMwNSwyNyArMzMxMSwy NyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHNhbXN1bmdfZ2F0ZV9jbG9jayBwZXJpYzFfZ2F0ZV9j bGtzW10gX19pbml0Y29uc3QgPSB7CiAJR0FURShDTEtfR09VVF9QRVJJQzFfUEVSSUMxX1RPUDBf SVBDTEtfMSwKIAkgICAgICJnb3V0X3BlcmljMV9wZXJpYzFfdG9wMF9pcGNsa18xIiwgImRvdXRf cGVyaWMxX3VzaTBfdXNpIiwKIAkgICAgIENMS19DT05fR0FUX0dPVVRfQkxLX1BFUklDMV9VSURf UEVSSUMxX1RPUDBfSVBDTEtQT1JUX0lQQ0xLXzEsCi0JICAgICAyMSwgMCwgMCksCisJICAgICAy MSwgQ0xLX1NFVF9SQVRFX1BBUkVOVCwgMCksCiAJR0FURShDTEtfR09VVF9QRVJJQzFfUEVSSUMx X1RPUDBfSVBDTEtfMiwKIAkgICAgICJnb3V0X3BlcmljMV9wZXJpYzFfdG9wMF9pcGNsa18yIiwg ImRvdXRfcGVyaWMxX3VzaTlfdXNpIiwKIAkgICAgIENMS19DT05fR0FUX0dPVVRfQkxLX1BFUklD MV9VSURfUEVSSUMxX1RPUDBfSVBDTEtQT1JUX0lQQ0xLXzIsCi0JICAgICAyMSwgMCwgMCksCisJ ICAgICAyMSwgQ0xLX1NFVF9SQVRFX1BBUkVOVCwgMCksCiAJR0FURShDTEtfR09VVF9QRVJJQzFf UEVSSUMxX1RPUDBfSVBDTEtfMywKIAkgICAgICJnb3V0X3BlcmljMV9wZXJpYzFfdG9wMF9pcGNs a18zIiwgImRvdXRfcGVyaWMxX3VzaTEwX3VzaSIsCiAJICAgICBDTEtfQ09OX0dBVF9HT1VUX0JM S19QRVJJQzFfVUlEX1BFUklDMV9UT1AwX0lQQ0xLUE9SVF9JUENMS18zLAotCSAgICAgMjEsIDAs IDApLAorCSAgICAgMjEsIENMS19TRVRfUkFURV9QQVJFTlQsIDApLAogCUdBVEUoQ0xLX0dPVVRf UEVSSUMxX1BFUklDMV9UT1AwX0lQQ0xLXzQsCiAJICAgICAiZ291dF9wZXJpYzFfcGVyaWMxX3Rv cDBfaXBjbGtfNCIsICJkb3V0X3BlcmljMV91c2kxMV91c2kiLAogCSAgICAgQ0xLX0NPTl9HQVRf R09VVF9CTEtfUEVSSUMxX1VJRF9QRVJJQzFfVE9QMF9JUENMS1BPUlRfSVBDTEtfNCwKLQkgICAg IDIxLCAwLCAwKSwKKwkgICAgIDIxLCBDTEtfU0VUX1JBVEVfUEFSRU5ULCAwKSwKIAlHQVRFKENM S19HT1VUX1BFUklDMV9QRVJJQzFfVE9QMF9JUENMS181LAogCSAgICAgImdvdXRfcGVyaWMxX3Bl cmljMV90b3AwX2lwY2xrXzUiLCAiZG91dF9wZXJpYzFfdXNpMTJfdXNpIiwKIAkgICAgIENMS19D T05fR0FUX0dPVVRfQkxLX1BFUklDMV9VSURfUEVSSUMxX1RPUDBfSVBDTEtQT1JUX0lQQ0xLXzUs Ci0JICAgICAyMSwgMCwgMCksCisJICAgICAyMSwgQ0xLX1NFVF9SQVRFX1BBUkVOVCwgMCksCiAJ R0FURShDTEtfR09VVF9QRVJJQzFfUEVSSUMxX1RPUDBfSVBDTEtfNiwKIAkgICAgICJnb3V0X3Bl cmljMV9wZXJpYzFfdG9wMF9pcGNsa182IiwgImRvdXRfcGVyaWMxX3VzaTEzX3VzaSIsCiAJICAg ICBDTEtfQ09OX0dBVF9HT1VUX0JMS19QRVJJQzFfVUlEX1BFUklDMV9UT1AwX0lQQ0xLUE9SVF9J UENMS182LAotCSAgICAgMjEsIDAsIDApLAorCSAgICAgMjEsIENMS19TRVRfUkFURV9QQVJFTlQs IDApLAogCUdBVEUoQ0xLX0dPVVRfUEVSSUMxX1BFUklDMV9UT1AwX0lQQ0xLXzgsCiAJICAgICAi Z291dF9wZXJpYzFfcGVyaWMxX3RvcDBfaXBjbGtfOCIsICJkb3V0X3BlcmljMV9pM2MiLAogCSAg ICAgQ0xLX0NPTl9HQVRfR09VVF9CTEtfUEVSSUMxX1VJRF9QRVJJQzFfVE9QMF9JUENMS1BPUlRf SVBDTEtfOCwKLS0gCjIuNDQuMC4zOTYuZzZlNzkwZGJlMzYtZ29vZwoKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGlu ZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMu aW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK