Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp124281pxf; Wed, 31 Mar 2021 18:52:58 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxDfhMzxlPVVdwyYtU/TU/mlAJiq0hP6XBWOkq3RXFvq4tZ30glgaJtIfyks6lMVuB+h4jI X-Received: by 2002:a05:6402:b31:: with SMTP id bo17mr7156774edb.113.1617241978611; Wed, 31 Mar 2021 18:52:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617241978; cv=none; d=google.com; s=arc-20160816; b=NAwpT8TqSrJUJRtp4PckPho0nc8zlWE4iM0hAhV9y1Prm6MvbQU1hMN1Qs0zo9+Rw4 2wLbPtw+Uj1IPWVieApN4mbVPWsIwGqWupsc9wLzzx9ZIN2ZnBi6LKfrUIsChHm9T2Q2 fvFisb1AuhHiMy+O5Pil9M1QZD+6i4a+gFjTExS8M/ROmMB/FHCxHlQG1EOrUY4f8MCb mxHwUp1I7j1n4eJxdXboT+XKFk9osZfXIrXnk6KV8nPoLMOVipdSJbGiqzAmEkF0m7kL itfW6BhKRmFIX5n+fZOU2OVPd1OKAFDVz/ia9wiUr87+Ho5fKcE0xMcLSGf9RP5Ya4zJ SwyQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:user-agent:message-id:date:to:cc:from:subject :references:in-reply-to:content-transfer-encoding:mime-version :dkim-signature; bh=6UTL2zAwJ5/NbneFcLeoAlmHmZZQzkH62mIoe1nKc1M=; b=Mle+3/DSb/aUyfcjB+N/9QD8o+VqG1tgVlMgOgBqRS0EN8a8P9ZnU3vNTW0WdR3wZ6 UOncfoZhZ7vwIwoUOuPfd4i5XlhtDwtkB1+IrMUmuHuqNBFcOjPjeYvO6GCBdL/c1CDZ siFbXR1hkSHnm5xvbJxtf12Krw0v32XPiMUSvitScAM2wjkOb9ZoHXC4uhnpl9DVUD0Y 1BHQdhyjBkRvToCd2Cy7ibjDc7RdNfKcQAtWImfkGDebYgZ5fH9X1IDCMUoMEOzXm3me rtZdMw/TBFk2bC2AJmYjjxHTj/RR9RUwJ5HHn2Ytrr6bshc6P614+K76bF0dzqgU8MqI XYPA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=fJN2TMVw; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id r26si3820608edc.478.2021.03.31.18.52.36; Wed, 31 Mar 2021 18:52:58 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=fJN2TMVw; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230248AbhDABtX (ORCPT + 99 others); Wed, 31 Mar 2021 21:49:23 -0400 Received: from mail.kernel.org ([198.145.29.99]:50608 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231620AbhDABtL (ORCPT ); Wed, 31 Mar 2021 21:49:11 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 0D91A6023F; Thu, 1 Apr 2021 01:49:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1617241751; bh=gCKtgYFPiARAe74loKLPUu7HIWHnqcsMdjuZGyRocBA=; h=In-Reply-To:References:Subject:From:Cc:To:Date:From; b=fJN2TMVwNfe+WNkFSYew2AS8l7uTM6SSPDCBJas+3YKtb7lM4fnJefKvkWDJOeTRX ImAdnZ5rjfBMl7GbM5f1GJBG/qPTTlUWVaQRTY9/VKkwpcEr3y66y/6gt+T8q5BRYU qwpGgL+EnrJI0Gei82VT8pmtLXIrqpr1wmQtXzAF6S5L3zOcKW1ELdlBBZLb5qXFsf 6SO6u6FhJJDne1Lgsg3TkTMR+C5BPYCCPI/9ZE53CjKjmuF0vbg1rWhdmNO1iYS14t NbIax6P7p0adMudcm9NV50Yu6a//oX6O3GmnAxCPQ0lAIlSJS0dqwpD4P7xYrUUew/ J751LqP044Hwg== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable In-Reply-To: <20210330121701.3258948-1-quanyang.wang@windriver.com> References: <20210330121701.3258948-1-quanyang.wang@windriver.com> Subject: Re: [V2] [PATCH] clk: zynqmp: pll: add set_pll_mode to check condition in zynqmp_pll_enable From: Stephen Boyd Cc: Greg Kroah-Hartman , Rajan Vaja , Jolly Shah , Quanyang Wang , linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org To: Laurent Pinchart , Michael Turquette , Michal Simek , quanyang.wang@windriver.com Date: Wed, 31 Mar 2021 18:49:09 -0700 Message-ID: <161724174987.2260335.3629133210221429059@swboyd.mtv.corp.google.com> User-Agent: alot/0.9.1 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Quoting quanyang.wang@windriver.com (2021-03-30 05:17:01) > From: Quanyang Wang >=20 > If there is a IOCTL_SET_PLL_FRAC_MODE request sent to ATF ever, > we shouldn't skip invoking PM_CLOCK_ENABLE fn even though this > pll has been enabled. In ATF implementation, it will only assign > the mode to the variable (struct pm_pll *)pll->mode when handling > IOCTL_SET_PLL_FRAC_MODE call. Invoking PM_CLOCK_ENABLE can force > ATF send request to PWU to set the pll mode to PLL's register. >=20 > There is a scenario that happens in enabling VPLL_INT(clk_id:96): > 1) VPLL_INT has been enabled during booting. > 2) A driver calls clk_set_rate and according to the rate, the VPLL_INT > should be set to FRAC mode. Then zynqmp_pll_set_mode is called > to pass IOCTL_SET_PLL_FRAC_MODE to ATF. Note that at this point > ATF just stores the mode to a variable. > 3) This driver calls clk_prepare_enable and zynqmp_pll_enable is > called to try to enable VPLL_INT pll. Because of 1), the function > zynqmp_pll_enable just returns without doing anything after checking > that this pll has been enabled. >=20 > In the scenario above, the pll mode of VPLL_INT will never be set > successfully. So adding set_pll_mode to check condition to fix it. >=20 > Signed-off-by: Quanyang Wang > Tested-by: Laurent Pinchart > --- Any Fixes tag?