Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp3824097imm; Mon, 30 Jul 2018 04:15:56 -0700 (PDT) X-Google-Smtp-Source: AAOMgpeTtoK56Ol6KFHXCXe7JhkSReDH8TaAnp2UK8eM+my1R6RrQB4xRd+ln7zla4taFX4F9115 X-Received: by 2002:a62:3a5b:: with SMTP id h88-v6mr17462032pfa.61.1532949356744; Mon, 30 Jul 2018 04:15:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1532949356; cv=none; d=google.com; s=arc-20160816; b=spElMzs65V8uJlDpQDexzubZ1suanWGaBQBZU70O+Bahs7Bczx5o/Z8zLk0qBkWnzd I/rWBgVngBHR/+vSSf+Brk5wNHnIhfg4B+IdLiUJZRADeKoiHGNcSBbZd6sE6GxW66n9 Gk9JlNKez63Y8k2tu8hITfJki2wP+KJxj3JUR1s5vbXROyU0OWIy5CCnNp+nADuwef52 rXGaH0ZjZAAbLgWYPoKlCDMIs7Ep/d0O+0rQW93YgRXWb9p5z2Jg4SZQFd8Xkug3PAoH PzENOTYnCwjjgzfzr9SU6wPHMFj5R/y7O3SNpWrMogMWJqWRobfQW1W0DNXH/p1JyOoK vImw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:message-id:references :in-reply-to:subject:cc:to:from:date:content-transfer-encoding :mime-version:dkim-signature:dkim-signature :arc-authentication-results; bh=0DM9SsUG1wQMQBuikMIQb8aLfEb6drf1Pnje56pGnFQ=; b=PLA2uhARrDs8tmj8rVt87GCmw+huWObWgXuo6JFD61yC8NktPEz92ho3EreZbUlZuZ enmbcPlJ0vP1TxhD+Qbh32XBmvj4mYm8av34JfEZwo0ksSYB3I0zxSuM6wcTpK2mnIFd zBmRo/z1xlnDOSmOlJvYxkaGkjEP7zAuibioTLUyytfhtGZm/DqoPTPj8nYiexQ5hvp5 Q3p+5ktkKu1YyDSQWTO3ZT7rljdZRv/Y0/m3vmjPSry+SdLQGu76qtWpIYedy/HlInJ/ PXrK0wXOAbtdpxAPzscXW+4C0bBn8POhGs/HpMczfNEIh0N2Awnh/OUsFRnbWp+fLU13 o+Tg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=jhD09biD; dkim=pass header.i=@codeaurora.org header.s=default header.b="hL/LMdgk"; 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 f59-v6si9880778plf.500.2018.07.30.04.15.42; Mon, 30 Jul 2018 04:15:56 -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=@codeaurora.org header.s=default header.b=jhD09biD; dkim=pass header.i=@codeaurora.org header.s=default header.b="hL/LMdgk"; 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 S1727478AbeG3Msn (ORCPT + 99 others); Mon, 30 Jul 2018 08:48:43 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:53768 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726549AbeG3Msm (ORCPT ); Mon, 30 Jul 2018 08:48:42 -0400 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id 4250B61AC8; Mon, 30 Jul 2018 11:14:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1532949253; bh=7fvkKEDmV7n/xa3fvuFW/WXRnKkcTlGNzQOLQ1uow3w=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=jhD09biDaLIOFmF/SB9bK1nmz2KgmILhANZIdIhVWUuNiBbpbPb78k63GEfGxIXtO SA/GCSRBT0tKwjA43S40mcOpsQqDiS1RU7aeYIq0UbqFkvBTVFM3nfSQOk1QEyMC+Q Qhh1UEomrQlPRPtKRiRIWrk61vjjZk0cNAcFKOl0= X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on pdx-caf-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.8 required=2.0 tests=ALL_TRUSTED,BAYES_00, DKIM_SIGNED,T_DKIM_INVALID autolearn=no autolearn_force=no version=3.4.0 Received: from mail.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.codeaurora.org (Postfix) with ESMTP id A7A1F60117; Mon, 30 Jul 2018 11:14:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1532949252; bh=7fvkKEDmV7n/xa3fvuFW/WXRnKkcTlGNzQOLQ1uow3w=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=hL/LMdgkNo2Nmg5p3MY19ap1yrtfIpKhUQArKCGWN42QHkjBVDkwSON752/nhwYmu NuaJrAd4v0cH8+YkwkQ4V8/69jsdU4l7UeYxufA3HrqKrPmYKK4gW+Ol7hWJgK7NHf ReP94rXO4fglClzT0+2F396XZpmwJi9qxtVyoTlU= MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Mon, 30 Jul 2018 16:44:12 +0530 From: Amit Nischal To: Stephen Boyd Cc: Michael Turquette , Andy Gross , David Brown , Rajendra Nayak , Odelu Kukatla , Taniya Das , linux-arm-msm@vger.kernel.org, linux-soc@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, linux-clk-owner@vger.kernel.org Subject: Re: [PATCH 1/4] clk: qcom: gdsc: Add support to enable/disable the clocks with GDSC In-Reply-To: <153250153971.48062.18053635476867512394@swboyd.mtv.corp.google.com> References: <1528285308-25477-1-git-send-email-anischal@codeaurora.org> <1528285308-25477-2-git-send-email-anischal@codeaurora.org> <153111447519.143105.17241493270191899078@swboyd.mtv.corp.google.com> <6e53b7934af72e40e99a3d6afe54174f@codeaurora.org> <153250153971.48062.18053635476867512394@swboyd.mtv.corp.google.com> Message-ID: X-Sender: anischal@codeaurora.org User-Agent: Roundcube Webmail/1.2.5 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2018-07-25 12:22, Stephen Boyd wrote: > Quoting Amit Nischal (2018-07-12 05:23:48) >> On 2018-07-09 11:04, Stephen Boyd wrote: >> > Quoting Amit Nischal (2018-06-06 04:41:45) >> >> For some of the GDSCs, there is a requirement to enable/disable the >> >> few clocks before turning on/off the gdsc power domain. Add support >> > >> > Why is there a requirement? Do the clks need to be in hw control mode >> > or >> > they can't be turned off when the GDSC is off? It's hard for me to >> > understand with these vague statements. >> > >> >> This requirement is primarily to turn on the GPU GX GDSC and these >> clocks >> do not need to be in HW control mode and clock disable is not related >> with the GDSC. > > Ok that's good to know. > >> >> To turn on the GX GDSC, root clock (GFX3D RCG) needs to be enabled >> first >> before writing to SW_COLLAPSE bit of the GDSC. The CLK_ON signal from >> RCG >> would power up the GPU GX GDSC. > > Can you please put this specific information in the commit text instead > of making a vague statement about GDSC hardware configurations? > > Does anything go wrong if the GDSC is enabled from genpd but doesn't > actually turn on until the GFX3D RCG root bit is enabled or disabled by > the clk enable call? I suppose we won't know if the GDSC is enabled or > not until the clk is enabled? Maybe we should make the clk enable of > the > RCG for GPU go check the GDSC status bit as well to make sure it's > toggling on or off? As per the current design, before turning on the GDSC(writing to the GDSCR register) we are setting the ROOT_EN bit of RCG and GDSC's status will be still off without clk_enable call to RCG even though we enable the GDSC. clk_enable for RCG is CLK_ON signal for the GPU_GX_GDSC. > > Also, does the RCG turn on when the GX GDSC is off? I think we may be > able to rely on the GPU driver to "do the right thing" and enable the > GPU CX GDSC first, then the RCG and branch for the GFX3D clk, and then > the GPU GX GDSC for the core GPU logic. Then we don't need to do > anything special in the GDSC code for this. Its a GPU_GX_GDSC requirement to enable the RCG first and then GX_GDSC. We want all of this sequence to be done by the GDSC driver so that client only call for clk_apis for the clock branch. For clients, It will be extra overhead to follow the below sequence. GPU_CX_GDSC enable -> Enable RCG -> Enable GPU_GX_GDSC -> Enable Branch.