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 40366C4828D for ; Mon, 5 Feb 2024 17:56:43 +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=7oV0aeBzbC+soTXWXYP+cRPr/bVDNCipTvpI8/+VSao=; b=NFvULKzIf9gz+f mo/HS7SLHFrx2woxoWOPrAjGizJste6YK1SmfCL5WTLRPwR+t/isQSnDO5zC2szNj1m99AdXDcOjn aeaUIiQHvepQE+co+Q4mZ/fICRUN8QzHC+hXZ/J/z83lnVQ7FiOClN/+ubeW2pY49wM3fAXjExSv6 wZohkPosS1XL0ahZLBYvDIg5Nz921Ftzz5gfmJy9w79z+6V3u7wCtKvufJrJAUloM9iRjwF1l+4vD JhFt+yAR83J3beSMgZB5MK60qomCXyT2QbZ9GUoXyXGvVR5roWroJXlhD9Z3xElI853sFlQX3pry+ G3RNXrfuTxWKDolsSNJw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rX3Cr-00000004Gxy-1LwA; Mon, 05 Feb 2024 17:56:33 +0000 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rX3CX-00000004Gg9-3WYZ for linux-arm-kernel@lists.infradead.org; Mon, 05 Feb 2024 17:56:18 +0000 Received: by mail-wm1-x32e.google.com with SMTP id 5b1f17b1804b1-40fe03cd1caso1642225e9.0 for ; Mon, 05 Feb 2024 09:56:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1707155772; x=1707760572; 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=yQo7DEH+Zbxsn/GDq6x2R3lR0LaSJXJADj+lFUkrcCQ=; b=flmN2cgycW1Dl5gQhA6+cVIdWZAmjj+4u6JAlm1+qldZp569n6NbVqGTInC/D/FpaT dNf1IsI/KLmhMnkVyGqnQH5hgoLcozPpTpRPmkb7mDKT8fy2DQusKkvWHjhwJJZa45Hq gx/4NBKLLxx3X1YL2hEKUW55SQnVrHiIR+uO5GcGJR1MwUb0n8j59648h1DZ2WeM/sDk rnl/cxEPFHeab8sWfg9E43Obzp5b19fA+MgTSdX99dkXBFmS028oinivyqfdGgQGQLaD 9O2ymDoCfayq9XBZyToZvA3gk1ZjgRJmsDFVaJc2OTL3DBMAzL5w1zXPRDioTmRo5/YM qRKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1707155772; x=1707760572; 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=yQo7DEH+Zbxsn/GDq6x2R3lR0LaSJXJADj+lFUkrcCQ=; b=nbXE+P1joGUGbE2hSwNm+AegMMjYGFFq3EexBK0WdpKaFk4E0nAfc69b/iy0uQ0iOf crrFDQt5mr5EX2lfsFyyw2Ilw76+dUIgfZIeUwwzRTnH+8vNbC+0AAZnUDmuHE2/zLCn EZcZd3SJgbdM9NJqAWR1gbXGyQz6E8dQ+JX5XRnKGcS6SwJUvgymoC/5nr8jQ9ZEuP/A 5K8mwye2iaIqzfqx7+/RGy361lxgbjeO3ZTw1zcN6FRaKwXaOeGebFLg4u60RVbg8JgI YhRVYYwzdJLdHgDjdaXmvAbReVYqnWrO95RtBYMetnI3u0J/0NNiB05RUIaGrSYwXuuz 909g== X-Gm-Message-State: AOJu0YwlIwWcbg6NmNYNXh+obYuHMH4oHWLDEi3rcuxp5UilbBFl0G4a VSvARYHOAR3iHZ6Fr9QsK2QIwq7HVsM5cj8O/WstcodwuWwyA1Hf X-Google-Smtp-Source: AGHT+IEsTlp9iHH6e8DPKagWNrPZEnjKRxqc6vq6sXhD5ZPYHBTALUGH8fsHvNTKshHOCqRe73BnQw== X-Received: by 2002:a05:600c:4e90:b0:40e:f681:b7b6 with SMTP id f16-20020a05600c4e9000b0040ef681b7b6mr340863wmq.37.1707155772063; Mon, 05 Feb 2024 09:56:12 -0800 (PST) X-Forwarded-Encrypted: i=0; AJvYcCXPLF5BJxHk+SVf+iXJqOC4NqstlwVSQCIrIQZ0CNKx8ubzjsfiVziRQGSQjYrsoTpZS719hvULJu17cAsZCT1mJqFYI87qvTedGmJh27eHfDmDc/xT+M4qqBBmjm1fw5N0GFwDaOt5pID6gTxIDZzOG699DFKNj10o5fwAuCAjF/iBN5GfoIDWavEsOcGYJRC0i0oc/EEWvPfQfDpX8V0OXLXLm7zbwOgTkrV840/lRKYjWXEzpdNT7ruexZWEx7yt1Y7AWw0mgsfD3gF9jzPiqwVeqtLeVkKk6OiP0pg11SrkJkWPpcD33wXcDmrzX44WIjkvgzTvM01NkQiFu6sKPtuHTxjVmc7DKWkYk0HMq8w9DVJVHId+g8FMK5qFa3a+Hbe5YwXWckiu65qxVa6SUJuagtrMU6nr5bKCqks/E9gLYFxzvum7AFxwEcph+cl9FtZklC6jPxL12g41YTi4tG6usJR9juOrxJMvKmQiRH9CF4e9yBZBlEopCajudfY3Sk+I5UmM/i2DXlhyB0rEoqns95uSDxyUgBtgbv+0bdeL+xLYqpuMU/cjhxrmZ44fkH+BvJ5nz6cBI7Z+/mO2rQzRk66jE62DAIeCR36FneUwm7kHaV5CQ+wvM1x1M6a24wmx0kviiUARhVkKOtxWREpKRc6Z0erXqYG2cTyUDJjw0U0LsZ4R7WTH+Rtx2NI9tzNWsnjEM1WG5YUcs684BlQZBX6+EC4/1q2b2veO7C/qHXyN0jZMKO5H7Z7NoyHN5pObCTBBPA== Received: from jernej-laptop.localnet (82-149-13-182.dynamic.telemach.net. [82.149.13.182]) by smtp.gmail.com with ESMTPSA id c29-20020adfa31d000000b0033b3a010001sm144509wrb.4.2024.02.05.09.56.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 Feb 2024 09:56:11 -0800 (PST) From: Jernej =?utf-8?B?xaBrcmFiZWM=?= To: Michael Turquette , Stephen Boyd , Chen-Yu Tsai , Samuel Holland , Guido =?ISO-8859-1?Q?G=FCnther?= , Purism Kernel Team , Ondrej Jirman , Neil Armstrong , Jessica Zhang , Sam Ravnborg , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Daniel Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Frank Oltmanns Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, Frank Oltmanns Subject: Re: [PATCH v2 3/6] clk: sunxi-ng: nkm: Support minimum and maximum rate Date: Mon, 05 Feb 2024 18:56:09 +0100 Message-ID: <4543794.LvFx2qVVIh@jernej-laptop> In-Reply-To: <20240205-pinephone-pll-fixes-v2-3-96a46a2d8c9b@oltmanns.dev> References: <20240205-pinephone-pll-fixes-v2-0-96a46a2d8c9b@oltmanns.dev> <20240205-pinephone-pll-fixes-v2-3-96a46a2d8c9b@oltmanns.dev> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240205_095614_205347_9E365003 X-CRM114-Status: GOOD ( 18.96 ) 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="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Dne ponedeljek, 05. februar 2024 ob 16:22:26 CET je Frank Oltmanns napisal(a): > According to the Allwinner User Manual, the Allwinner A64 requires > PLL-MIPI to run at 500MHz-1.4GHz. Add support for that to ccu_nkm. > > Signed-off-by: Frank Oltmanns > --- > drivers/clk/sunxi-ng/ccu_nkm.c | 13 +++++++++++++ > drivers/clk/sunxi-ng/ccu_nkm.h | 2 ++ > 2 files changed, 15 insertions(+) > > diff --git a/drivers/clk/sunxi-ng/ccu_nkm.c b/drivers/clk/sunxi-ng/ccu_nkm.c > index 1168d894d636..7d135908d6e0 100644 > --- a/drivers/clk/sunxi-ng/ccu_nkm.c > +++ b/drivers/clk/sunxi-ng/ccu_nkm.c > @@ -181,6 +181,12 @@ static unsigned long ccu_nkm_round_rate(struct ccu_mux_internal *mux, > if (nkm->common.features & CCU_FEATURE_FIXED_POSTDIV) > rate *= nkm->fixed_post_div; > > + if (nkm->min_rate && rate < nkm->min_rate) > + rate = nkm->min_rate; > + > + if (nkm->max_rate && rate > nkm->max_rate) > + rate = nkm->max_rate; Please take a look at ccu_nm_round_rate() code. You need to consider postdiv and you can return immediately. > + > if (!clk_hw_can_set_rate_parent(&nkm->common.hw)) > rate = ccu_nkm_find_best(*parent_rate, rate, &_nkm, &nkm->common); > else > @@ -220,6 +226,13 @@ static int ccu_nkm_set_rate(struct clk_hw *hw, unsigned long rate, > _nkm.min_m = 1; > _nkm.max_m = nkm->m.max ?: 1 << nkm->m.width; > > + > + if (nkm->min_rate && rate < nkm->min_rate) > + rate = nkm->min_rate; > + > + if (nkm->max_rate && rate > nkm->max_rate) > + rate = nkm->max_rate; > + No need for this, clk subsystem calls round rate before setting actual clock rate. Best regards, Jernej > ccu_nkm_find_best(parent_rate, rate, &_nkm, &nkm->common); > > spin_lock_irqsave(nkm->common.lock, flags); > diff --git a/drivers/clk/sunxi-ng/ccu_nkm.h b/drivers/clk/sunxi-ng/ccu_nkm.h > index c409212ee40e..358a9df6b6a0 100644 > --- a/drivers/clk/sunxi-ng/ccu_nkm.h > +++ b/drivers/clk/sunxi-ng/ccu_nkm.h > @@ -27,6 +27,8 @@ struct ccu_nkm { > struct ccu_mux_internal mux; > > unsigned int fixed_post_div; > + unsigned long min_rate; > + unsigned long max_rate; > unsigned long max_m_n_ratio; > unsigned long min_parent_m_ratio; > > > _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel