From patchwork Mon Mar 18 05:20:55 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Vasut X-Patchwork-Id: 1057683 X-Patchwork-Delegate: marek.vasut@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="DK1/HxNL"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 44N4KP1cYHz9s5c for ; Mon, 18 Mar 2019 16:21:13 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id DC0C5C21EB4; Mon, 18 Mar 2019 05:21:08 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 38401C21BE5; Mon, 18 Mar 2019 05:21:06 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 98E81C21D56; Mon, 18 Mar 2019 05:21:05 +0000 (UTC) Received: from mail-wm1-f65.google.com (mail-wm1-f65.google.com [209.85.128.65]) by lists.denx.de (Postfix) with ESMTPS id BCDC5C21BE5 for ; Mon, 18 Mar 2019 05:21:04 +0000 (UTC) Received: by mail-wm1-f65.google.com with SMTP id n19so11616712wmi.1 for ; Sun, 17 Mar 2019 22:21:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=9IhJGWMCEdn4HUfrgVxCRWNRXCe8/8CJ7vAyXy03PCo=; b=DK1/HxNLganZmkFxC+8EzuzyICpZZQMDZLH2H4b3pKwGswgNOFcL9Lw25G9ULeoxLv 1DpaoO2FFKOaHFoqfImHWJGMgaFL0jx54oCyOOrIHd2S7Lp85zZ3sIa95gYA0qmJIyOn zsApO7s7Mr4kesGuuFjSqDCefHS/lSsHXgS+iIFvJAOYpC51+Tsm3C5hOxWCSxqeBKgl IOPsqDqXImmW0XhfX0sKt3EFmM1M7m8+iwpZHFJvgQ8W9pVI+u//LS8cXkOTK5mIsfNi l/7uAmWfVo9/r/tsu2PaM4x+3IdJGW94govA44OB7zAaRr1IMwaUdK6bL+HFfdC/DjkJ Yp9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=9IhJGWMCEdn4HUfrgVxCRWNRXCe8/8CJ7vAyXy03PCo=; b=i7h/z7s3Zvd8uQLYR0BqKZlKVGpRPDIcIb82SM6OcN+YZsL40T/MHKsZDcC607e1CL +6qdxinsNyTbZFnXQlWq1+DTAOibMNR2OH6/73IiiucYU67MNZwQPsO1sUveLPf0DAO2 HOiylAtL4fiv7QayQo6XGNWMF4Cvgx17dOi1j7OC2P9Ck4SbTKd9rGAg/n7SpKpkckTI M4qBppfKNvSbyLYbckfCoaHK0TeirRsezP5nsalznnIv7H/z2zsXe/iLt3DykMgsFm8s sq/J0PLvvM03gh7R4UtHHg+Ju5Ne2N+dmlwHwk9lzXJ+U9XDskoAjsw5zmktmj5hpzR8 J7nQ== X-Gm-Message-State: APjAAAVVqHNKQpw2GxQ+NnzGfl3FXuWFiFWGISq6eCUQ8KTalPrgfvEO jBCO5apxdmwbQo8GpscD8h6hYGJa X-Google-Smtp-Source: APXvYqzq1d+m+KAIsUY+gb1DToPHEwzsLqMsbLMP3PagjEoakOGczkve/LuZSUQJYZd3dI7vZxVWmg== X-Received: by 2002:a7b:c95a:: with SMTP id i26mr8628614wml.88.1552886464138; Sun, 17 Mar 2019 22:21:04 -0700 (PDT) Received: from kurokawa.lan (ip-86-49-110-70.net.upcbroadband.cz. [86.49.110.70]) by smtp.gmail.com with ESMTPSA id c8sm6922501wrx.6.2019.03.17.22.21.02 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 17 Mar 2019 22:21:03 -0700 (PDT) From: Marek Vasut X-Google-Original-From: Marek Vasut To: u-boot@lists.denx.de Date: Mon, 18 Mar 2019 06:20:55 +0100 Message-Id: <20190318052057.25756-1-marek.vasut+renesas@gmail.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Cc: Nobuhiro Iwamatsu , Marek Vasut Subject: [U-Boot] [PATCH 1/3] clk: renesas: Fix SDH clock divider decoding on Gen2 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 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" The gen2_clk_get_sdh_div() function is supposed to look up the $val value read out of the SDCKCR register in the supplied table and return the matching divider value. The current implementation was matching the value from SDCKCR on the divider value in the table, which is wrong. Fix this and rework the function a bit to make it more readable. Signed-off-by: Marek Vasut Cc: Nobuhiro Iwamatsu --- drivers/clk/renesas/clk-rcar-gen2.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/drivers/clk/renesas/clk-rcar-gen2.c b/drivers/clk/renesas/clk-rcar-gen2.c index 6dfd02f2eb..aedaab723b 100644 --- a/drivers/clk/renesas/clk-rcar-gen2.c +++ b/drivers/clk/renesas/clk-rcar-gen2.c @@ -44,13 +44,17 @@ static const struct clk_div_table cpg_sd01_div_table[] = { { 0, 0 }, }; -static u8 gen2_clk_get_sdh_div(const struct clk_div_table *table, u8 div) +static u8 gen2_clk_get_sdh_div(const struct clk_div_table *table, u8 val) { - while ((*table++).val) { - if ((*table).div == div) - return div; + for (;;) { + if (!(*table).div) + return 0xff; + + if ((*table).val == val) + return (*table).div; + + table++; } - return 0xff; } static int gen2_clk_enable(struct clk *clk)