Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp2438196imm; Mon, 28 May 2018 08:06:00 -0700 (PDT) X-Google-Smtp-Source: AB8JxZrsRkxCc2zYv/AyzxYS+tEpWzA7qXQ6t09dvGiYYoy5+iEGco8o64IClnXq5bkvRcZL2L/5 X-Received: by 2002:a62:2f44:: with SMTP id v65-v6mr13821899pfv.83.1527519960367; Mon, 28 May 2018 08:06:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527519960; cv=none; d=google.com; s=arc-20160816; b=HhBnk/2zvI1YqXrNes2Os5i5nl9e0KaYXDB3LvmlLc5ZvxERTVWE9AsOkiX+9Ac2Gd 959Njho0NWUP15KS0WnDKtFI6x4HHWVHUlcA9f5BBKWYdiANUVpDgFF4IW0pjyEdifDy otp5gj/dFh6dhcMqvgCeDH+fOaLPlheGqvxky2JHz3tuOD0N4U77muG3U7uuMtE0yCer HeDE1mD8s4ZqLyV4mSHk++IxjczR/xKXli4qDsntVGgdNJEjPOcmDgfjiqCeNj0tfgEr k7jR0Dl2eAyI1c9BX1X17optkGFzpY56dtbFBt8NZI2+7TKIltdZQTQnuA7SWdT/L6OZ bS8A== 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=9V7MNL8jZm4w6qT9JTEQnipVty8hnsOU/qtfjDE5eCQ=; b=LlaDBXbQ9NOam0QaNCwgckj+2Y1cd68JH2l7SyYCxdEVt//HO16iUH9jmMg6k7O6x/ Xi+YqDS/KjOzGkIa/udhSThHXsRUMBC7msbVZpHnHwcv/E4BNF7hlUdYbsIwlHmvU3Pc hWwWH1XgDzfxaaX/iV92mmLt/4u3tVQcCG0RvWzNv1WzjpXoMTZXSyIm3TftY/KphRza eyLUolIN5AkjMlz3udLN8MfHlUMt/gkrJTHC/nedLC1JFciqNBjsRoyiRpMTtAuvG0ZI iiEj9YNJ4bH2CeP/PI8Bfj9CqiQ+Mr/6v0ueGqTua4EBVxCnf3h5ISbMOiDJR9nwrCVf 0lBA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=iYrLJtpw; 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 n8-v6si13885947pgr.342.2018.05.28.08.05.45; Mon, 28 May 2018 08:06:00 -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=iYrLJtpw; 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 S937197AbeE1PFD (ORCPT + 99 others); Mon, 28 May 2018 11:05:03 -0400 Received: from mail.kernel.org ([198.145.29.99]:44700 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1033982AbeE1KZW (ORCPT ); Mon, 28 May 2018 06:25:22 -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 838B820883; Mon, 28 May 2018 10:25:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1527503122; bh=n+81V1slFNiBecd/N8DRBHVkVz32RrJffeDiAu2t210=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=iYrLJtpwWqc5ZzQL/VlCnNUKo0Botf7QIw5GnvAM0KaXO9wcmJByygtLv66YV7ait LHn3sGacNVtYTttNhJ9yRX2eULsAXC99VZpPo4hlM5eRfWhcu2PLUQKi+JuWdYCISK 8JXZBMcuFKONohUaib5bIHb3PYo/fg9jV6uV35Vc= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Andrzej Hajda , Tomasz Figa , Chanwoo Choi , Sylwester Nawrocki , Sasha Levin Subject: [PATCH 4.4 249/268] clk: samsung: exynos5433: Fix PLL rates Date: Mon, 28 May 2018 12:03:43 +0200 Message-Id: <20180528100231.487812491@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 ab0447845cffc0fd752df2ccd6b4e34006000ce4 ] Rates declared in PLL rate tables should match exactly rates calculated from the 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. Signed-off-by: Andrzej Hajda Acked-by: Tomasz Figa Acked-by: Chanwoo Choi Signed-off-by: Sylwester Nawrocki Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- drivers/clk/samsung/clk-exynos5433.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) --- a/drivers/clk/samsung/clk-exynos5433.c +++ b/drivers/clk/samsung/clk-exynos5433.c @@ -747,7 +747,7 @@ static struct samsung_pll_rate_table exy PLL_35XX_RATE(800000000U, 400, 6, 1), PLL_35XX_RATE(733000000U, 733, 12, 1), PLL_35XX_RATE(700000000U, 175, 3, 1), - PLL_35XX_RATE(667000000U, 222, 4, 1), + PLL_35XX_RATE(666000000U, 222, 4, 1), PLL_35XX_RATE(633000000U, 211, 4, 1), PLL_35XX_RATE(600000000U, 500, 5, 2), PLL_35XX_RATE(552000000U, 460, 5, 2), @@ -773,12 +773,12 @@ static struct samsung_pll_rate_table exy /* AUD_PLL */ static struct samsung_pll_rate_table exynos5443_aud_pll_rates[] = { PLL_36XX_RATE(400000000U, 200, 3, 2, 0), - PLL_36XX_RATE(393216000U, 197, 3, 2, -25690), + PLL_36XX_RATE(393216003U, 197, 3, 2, -25690), PLL_36XX_RATE(384000000U, 128, 2, 2, 0), - PLL_36XX_RATE(368640000U, 246, 4, 2, -15729), - PLL_36XX_RATE(361507200U, 181, 3, 2, -16148), - PLL_36XX_RATE(338688000U, 113, 2, 2, -6816), - PLL_36XX_RATE(294912000U, 98, 1, 3, 19923), + PLL_36XX_RATE(368639991U, 246, 4, 2, -15729), + PLL_36XX_RATE(361507202U, 181, 3, 2, -16148), + PLL_36XX_RATE(338687988U, 113, 2, 2, -6816), + PLL_36XX_RATE(294912002U, 98, 1, 3, 19923), PLL_36XX_RATE(288000000U, 96, 1, 3, 0), PLL_36XX_RATE(252000000U, 84, 1, 3, 0), { /* sentinel */ }