From patchwork Thu Aug 3 11:08:11 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Massimo Pegorer X-Patchwork-Id: 1816386 X-Patchwork-Delegate: ykai007@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20221208 header.b=afsUlBfJ; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4RGmM44mb7z1ybS for ; Thu, 3 Aug 2023 21:09:20 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 5FF5386CA3; Thu, 3 Aug 2023 13:09:11 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="afsUlBfJ"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 9807686C9C; Thu, 3 Aug 2023 13:08:40 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.2 Received: from mail-lj1-x229.google.com (mail-lj1-x229.google.com [IPv6:2a00:1450:4864:20::229]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 58E3686BFD for ; Thu, 3 Aug 2023 13:08:38 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=massimo.pegorer+oss@gmail.com Received: by mail-lj1-x229.google.com with SMTP id 38308e7fff4ca-2b9b904bb04so12736991fa.1 for ; Thu, 03 Aug 2023 04:08:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1691060917; x=1691665717; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:from:to:cc:subject:date :message-id:reply-to; bh=ivi1TLr7XmfE9kjTI78EPloZ2zhNoLewhp9c+OyIvio=; b=afsUlBfJCkwRMK2Gq5KMdbgLq5pTHsBWWkzdzWHQc5RRQHvK8V7ZA1jW4jRSPc+l4L qaBXZoO3ZgJ07IvpZVxwQVEnZaKh3KZ2aI8vhqZzHfcp9shbaumhef8eN3L+Bfzxd4Sk pEZTlRbMmbDur/nWWIBiBJ3+nMsupY0Egumo60Okfbim1M4hGXnx7ohyw8qNxsi3ZuxH bjQzGi4KyxtDp6Mr3k1ZuNtHCSwzZzezlQPI306JMNGbZMbExQfcr5kYhPrF83jbyLJE UCBtvQs0INpfwL6ybwE+w+NF1Ct+Qf+cvuvNbgwlkGQYDLN9vTQzkPtp+5g/qCep44d0 LYWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691060917; x=1691665717; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=ivi1TLr7XmfE9kjTI78EPloZ2zhNoLewhp9c+OyIvio=; b=WyxUo0V6fBm8NTu6gniwqmaTMtZNuiBRWQ0oXw0BNHJDjirB0MYlCeAWjSSpM0Ps7Y 8Pri5a8EEJlGKzRnpPqbrUXEsQwpDMV2xtM9yRMRxU2S18hfPDH2URWxtritKWXzpklm xlCMYqp4sEgvWoDuJv09tLrqbF3IRS2cFtxa0UJbbQNHDXy73CA1xXbr7sLRiF1Mf7kq 6UGPKd6lsppgQN8hIcJQiiY2weZAHU0qyY0koPMzsTBWCcuL/tgz/2mzuZDZKRW/NUA+ ccuIB7JRpwWi06iSMxjUhRTFrsMKnBobKvTPiM/S+w9lQq74iQ55tWTP6906d5v3g1HX EY1g== X-Gm-Message-State: ABy/qLbr1TBAEpx7RGdHrEF54x6qj8ow2Y38jVORnkLoJ9EBATPv1D4j Xgk8QFPwU9pvndzf/NSULxRzgDn2S91wyw== X-Google-Smtp-Source: APBJJlGs5j1v8Cm6Rwx4cgI2fJZVMwpNWd6JFLJo+Jy0QMemULkv1QJoNwh7s3gII/+VbJbajHIEJA== X-Received: by 2002:a2e:83d0:0:b0:2b6:e96c:5414 with SMTP id s16-20020a2e83d0000000b002b6e96c5414mr6699167ljh.52.1691060917351; Thu, 03 Aug 2023 04:08:37 -0700 (PDT) Received: from pegmas-T15.fritz.box ([151.71.248.167]) by smtp.gmail.com with ESMTPSA id e3-20020a17090681c300b00997d76981e0sm10329528ejx.208.2023.08.03.04.08.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Aug 2023 04:08:36 -0700 (PDT) From: Massimo Pegorer To: u-boot@lists.denx.de, Simon Glass , Philipp Tomsich , Kever Yang , Akash Gajjar Cc: Lukasz Majewski , Sean Anderson , Massimo Pegorer Subject: [PATCH 1/3] clk: rockchip: rk3308: Fix ordering between masking and shifting Date: Thu, 3 Aug 2023 13:08:11 +0200 Message-Id: <20230803110813.175956-2-massimo.pegorer+oss@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230803110813.175956-1-massimo.pegorer+oss@gmail.com> References: <20230803110813.175956-1-massimo.pegorer+oss@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Thu, 03 Aug 2023 13:09:10 +0200 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean As per definitions of masks and shift offsets in cru_rk3308.h, values read from registers must be first masked and then shifted. By the way, this fix is binary invariant, because in all of fixed cases the shift offset is zero. Signed-off-by: Massimo Pegorer Reviewed-by: Kever Yang --- drivers/clk/rockchip/clk_rk3308.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/clk/rockchip/clk_rk3308.c b/drivers/clk/rockchip/clk_rk3308.c index 64f33587e2..d27673c454 100644 --- a/drivers/clk/rockchip/clk_rk3308.c +++ b/drivers/clk/rockchip/clk_rk3308.c @@ -150,7 +150,7 @@ static ulong rk3308_i2c_get_clk(struct clk *clk) } con = readl(&cru->clksel_con[con_id]); - div = con >> CLK_I2C_DIV_CON_SHIFT & CLK_I2C_DIV_CON_MASK; + div = (con & CLK_I2C_DIV_CON_MASK) >> CLK_I2C_DIV_CON_SHIFT; return DIV_TO_RATE(priv->dpll_hz, div); } @@ -314,7 +314,7 @@ static ulong rk3308_saradc_get_clk(struct clk *clk) u32 div, con; con = readl(&cru->clksel_con[34]); - div = con >> CLK_SARADC_DIV_CON_SHIFT & CLK_SARADC_DIV_CON_MASK; + div = (con & CLK_SARADC_DIV_CON_MASK) >> CLK_SARADC_DIV_CON_SHIFT; return DIV_TO_RATE(OSC_HZ, div); } @@ -342,7 +342,7 @@ static ulong rk3308_tsadc_get_clk(struct clk *clk) u32 div, con; con = readl(&cru->clksel_con[33]); - div = con >> CLK_SARADC_DIV_CON_SHIFT & CLK_SARADC_DIV_CON_MASK; + div = (con & CLK_SARADC_DIV_CON_MASK) >> CLK_SARADC_DIV_CON_SHIFT; return DIV_TO_RATE(OSC_HZ, div); } @@ -385,7 +385,7 @@ static ulong rk3308_spi_get_clk(struct clk *clk) } con = readl(&cru->clksel_con[con_id]); - div = con >> CLK_SPI_DIV_CON_SHIFT & CLK_SPI_DIV_CON_MASK; + div = (con & CLK_SPI_DIV_CON_MASK) >> CLK_SPI_DIV_CON_SHIFT; return DIV_TO_RATE(priv->dpll_hz, div); } @@ -429,7 +429,7 @@ static ulong rk3308_pwm_get_clk(struct clk *clk) u32 div, con; con = readl(&cru->clksel_con[29]); - div = con >> CLK_PWM_DIV_CON_SHIFT & CLK_PWM_DIV_CON_MASK; + div = (con & CLK_PWM_DIV_CON_MASK) >> CLK_PWM_DIV_CON_SHIFT; return DIV_TO_RATE(priv->dpll_hz, div); }