Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp2436530imm; Mon, 28 May 2018 08:04:30 -0700 (PDT) X-Google-Smtp-Source: AB8JxZoCDvM6HRs+ZNSStbqRzZnUxdbw69qNXz+GPGJnsMBARpJIpoen08729o7ov7bpTETT5EZk X-Received: by 2002:aa7:8009:: with SMTP id j9-v6mr13888013pfi.52.1527519870835; Mon, 28 May 2018 08:04:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527519870; cv=none; d=google.com; s=arc-20160816; b=oMmV93RsNW3L7qjRhSZvZUN0kGhhUESUqDhOdGBw9Pll8ZY6CFhHnhbYCkrpaczr/B TtXaJCTQY8hd17q0wbxeLkjEyhGupU6Klhxo72hraJAuqR2wEsS1znbOJRf4LUUMs4k1 MlFg9AOIePT1VytwuNsLXB7JupcXReRSd4Tt51iUAI3lIgghKRE0HFe+BGNHcnL1BdzZ mNrB3ZWlHHgCoTxn3BWv8ThytGpoWunovcboenkoa8TlNk/9droeLcdfScd0KUe+RE/8 vSP1J2kvUhTapFWDQF/KXJVJU7C1rXhRHIg80IzM+QKMzf0j4NMRg21ArDlamSR8k8LF FIDg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature :arc-authentication-results; bh=kexp04lbbt0GYSGbVvYdd4TuN6s+rTHwdChb8eXK7OU=; b=N4eNg5MwMTsF6tO8RhNvHbU6DJSsniQAgpAOOz+OS66EMbV/K1c/eO3Qk+QqA5KC1B dozgJoiO9mN5d73jFhPmQrTZDnRPd3qy1ts2vi3YZMUph9YgAZtfRnCLAv0k27aznDzB GtqUd3V7FzMNnHdTebNrOLEOx0BlJAvasct2ek+eyWy9h+8NoQwkAt14wquUU25Uxms0 verZEAdHOatyLgfW62jDsiMuCSz1liUYTbwsg9+0OwQMFXOV+kVGcrcEPoiOHyS8ZI3b YjiQQeb/MfNixgv8PV+zIvk9tZALZSLDrnhycZdnsAoZDfwY/DoouiWjZAq+Iu534a2J 3P0Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=yprbXjm/; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id k10-v6si23152454pgc.299.2018.05.28.08.04.15; Mon, 28 May 2018 08:04:30 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=yprbXjm/; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S937051AbeE1PDd (ORCPT + 99 others); Mon, 28 May 2018 11:03:33 -0400 Received: from mail.kernel.org ([198.145.29.99]:45076 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1033615AbeE1KZo (ORCPT ); Mon, 28 May 2018 06:25:44 -0400 Received: from localhost (LFbn-1-12247-202.w90-92.abo.wanadoo.fr [90.92.61.202]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id D6F2B208A3; Mon, 28 May 2018 10:25:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1527503143; bh=mkJ6tME6EJzFALwbX+tx40UU0rWB7De6+aqepSlbaQA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=yprbXjm/mYw3fFYEGH6Vs63T5+brmiqXTsvd+WKQsMb5mUBBYIR1y8Td85b3C1kWm Y6LUV8KYVztwmPJm5JSu4XGtU930kGZ8vdUkK72CNvWQPhs0QsRCd0NKDNtvnDKNEP sdliY3WrNbUky0VomXItpRHHMo/d7csZex5acP+k= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Andrzej Hajda , Chanwoo Choi , Tomasz Figa , Sylwester Nawrocki , Sasha Levin Subject: [PATCH 4.4 251/268] clk: samsung: exynos3250: Fix PLL rates Date: Mon, 28 May 2018 12:03:45 +0200 Message-Id: <20180528100231.659790391@linuxfoundation.org> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180528100202.045206534@linuxfoundation.org> References: <20180528100202.045206534@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.4-stable review patch. If anyone has any objections, please let me know. ------------------ From: Andrzej Hajda [ Upstream commit a8321e7887410a2b2e80ab89d1ef7b30562658ea ] Rates declared in PLL rate tables should match exactly rates calculated from PLL coefficients. If that is not the case, rate of the PLL's child clock might be set not as expected. For instance, if in the PLL rates table we have a 393216000 Hz entry and the real value as returned by the PLL's recalc_rate callback is 393216003, after setting PLL's clk rate to 393216000 clk_get_rate will return 393216003. If we now attempt to set rate of a PLL's child divider clock to 393216000/2 its rate will be 131072001, rather than 196608000. That is, the divider will be set to 3 instead of 2, because 393216003/2 is greater than 196608000. To fix this issue declared rates are changed to exactly match rates generated by the PLL, as calculated from the P, M, S, K coefficients. In this patch an erroneous P value for 74176002 output frequency is also corrected. Signed-off-by: Andrzej Hajda Acked-by: Chanwoo Choi Acked-by: Tomasz Figa Signed-off-by: Sylwester Nawrocki Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- drivers/clk/samsung/clk-exynos3250.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/drivers/clk/samsung/clk-exynos3250.c +++ b/drivers/clk/samsung/clk-exynos3250.c @@ -683,7 +683,7 @@ static struct samsung_pll_rate_table exy PLL_36XX_RATE(144000000, 96, 2, 3, 0), PLL_36XX_RATE( 96000000, 128, 2, 4, 0), PLL_36XX_RATE( 84000000, 112, 2, 4, 0), - PLL_36XX_RATE( 80000004, 106, 2, 4, 43691), + PLL_36XX_RATE( 80000003, 106, 2, 4, 43691), PLL_36XX_RATE( 73728000, 98, 2, 4, 19923), PLL_36XX_RATE( 67737598, 270, 3, 5, 62285), PLL_36XX_RATE( 65535999, 174, 2, 5, 49982), @@ -719,7 +719,7 @@ static struct samsung_pll_rate_table exy PLL_36XX_RATE(148352005, 98, 2, 3, 59070), PLL_36XX_RATE(108000000, 144, 2, 4, 0), PLL_36XX_RATE( 74250000, 99, 2, 4, 0), - PLL_36XX_RATE( 74176002, 98, 3, 4, 59070), + PLL_36XX_RATE( 74176002, 98, 2, 4, 59070), PLL_36XX_RATE( 54054000, 216, 3, 5, 14156), PLL_36XX_RATE( 54000000, 144, 2, 5, 0), { /* sentinel */ }