Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp5133733pxj; Wed, 9 Jun 2021 09:54:17 -0700 (PDT) X-Google-Smtp-Source: ABdhPJycmYYS28jlufoj1xOZpFBfF6n7RjlwBpkHLI+OCYpqJIn5BLJiHpgG2CCfQMXGaaXyv/Ps X-Received: by 2002:aa7:d344:: with SMTP id m4mr361945edr.281.1623257657454; Wed, 09 Jun 2021 09:54:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1623257657; cv=none; d=google.com; s=arc-20160816; b=eNCCHl6VFyj+19mDpWuCMFi3S/LTrK/HrMWjv0BZm9YLza8X4GY270gduXssKNw079 UscFVwj5SLRPSJIPhyxKfTl17d5CvGV81t+gBMu8QmcUt0dkziJ1WFPG72THAduCdGR7 B6JY2xd025hX2NxC1rjciP7hJmmqb8a4n8j80Njom2YXAyjLHJFK2xCkpVkXUTSuunFA nVGxwbQUtxL3hUG6jGvGADQJsBQDywymyNps37W3RkJnIuwhOtpnq2ZK2ccjnpA/rhIP ZU2qBboE4VlgAAcidFgTya2fnObJQq6ntR2tQg0vrCBBMSDiPYiEPh4niW82K93kbYgB BcPA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:user-agent:from :references:in-reply-to:mime-version:dkim-signature; bh=vK1DB3ja5xfgrUtd+VQum3f44icaE1l0DPwqifdZgI0=; b=Z78Id9L+qgDu6MqZhGVyndpM1JVjVlLSeNDdXEhW6Svfh0p9UPQjYpVB93pYVyDTsp CwKKkp6c5dAEtaXfZk00OK74YVgtb8dsFt236rVlEmUiIPUtxhwMeLoO72b9y4A20p0e wp+AodfT/Nx5Rw/QbVHQgIp7clIiBTH/+oDYYxk0VGH6JBBBQUo9f1d4vIH+KpmiLeO4 3Bi2T0chQZbf+6qmhzVbmaMNVpyRY3yyly4/tKUGHNV5Wb13kvR8wleR37c6V+7axoSn kUelF1Pm7mFhyWXteib9uBf36LsfSOE7Tf1VsbHawWsnom9WTnZ1ymBW8cPdWJAZgWhU NWbg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b="F/QEOIuI"; 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=chromium.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id d17si150037edv.586.2021.06.09.09.53.53; Wed, 09 Jun 2021 09:54:17 -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=@chromium.org header.s=google header.b="F/QEOIuI"; 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=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234489AbhFHWr3 (ORCPT + 99 others); Tue, 8 Jun 2021 18:47:29 -0400 Received: from mail-oi1-f180.google.com ([209.85.167.180]:37883 "EHLO mail-oi1-f180.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231186AbhFHWr3 (ORCPT ); Tue, 8 Jun 2021 18:47:29 -0400 Received: by mail-oi1-f180.google.com with SMTP id h9so23217381oih.4 for ; Tue, 08 Jun 2021 15:45:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:in-reply-to:references:from:user-agent:date:message-id :subject:to:cc; bh=vK1DB3ja5xfgrUtd+VQum3f44icaE1l0DPwqifdZgI0=; b=F/QEOIuItw8Ek1r/l6/FFbACr7K6wavqhwXAUcXNdVn22Y1+Tgm6fEm84iVWBNotzE V/xFczwrPLmiEK7FWdt2SjDmaa/YL7vtczm2P533PDvmeaxzOcK2iVLnA1dK/NuJEHQ0 xej7tv+0w93r+c/FZC3cqox7OLdefAM2CE/Io= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from :user-agent:date:message-id:subject:to:cc; bh=vK1DB3ja5xfgrUtd+VQum3f44icaE1l0DPwqifdZgI0=; b=UNjYsqdpbg+NxhY/dcMETJr7D1mlm3vDtFqNOz1bVYyUBPxUu27cMPu/IgNG1Tv0i3 33nkvLdAzm7Bg4YmO9bhteWaZ3ljaMDPIQS8UmGnLzewqKS+559huTnY+N+OgnJ2nP10 VpZjPn6289pXeaBoLoZ05FV7zLWA5uUMQ3DZ7GiFUXuTW0ggWcngheKj6DWpGxU0mXdT vEQCb3lnKf2iUu7ZZ+XZ/g9LkvdeYaQ7IYCjnzLUNOcDBT+ycrLT9SCrFEtPBhCBWLiX 1iTNuNVsoJjg75cphVRHPHrBOl7X3qSZgyaPekpq3SOr7h6ubL/Ys987cykPk1FSs3mR nlQQ== X-Gm-Message-State: AOAM532UXme0HrzWFq28j6vudymqb5pFWShXsD7FLWHhLIoaDQao7pbj t5I6h417YpmkjQb/4uzVFsx1PzP/BKx5aw5bkv/pSQ== X-Received: by 2002:a05:6808:144e:: with SMTP id x14mr4591500oiv.166.1623192259105; Tue, 08 Jun 2021 15:44:19 -0700 (PDT) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Tue, 8 Jun 2021 15:44:18 -0700 MIME-Version: 1.0 In-Reply-To: References: <1622736555-15775-1-git-send-email-khsieh@codeaurora.org> From: Stephen Boyd User-Agent: alot/0.9.1 Date: Tue, 8 Jun 2021 15:44:18 -0700 Message-ID: Subject: Re: [PATCH v2] arm64/dts/qcom/sc7180: Add Display Port dt node To: Bjorn Andersson Cc: khsieh@codeaurora.org, robdclark@gmail.com, sean@poorly.run, vkoul@kernel.org, agross@kernel.org, robh+dt@kernel.org, devicetree@vger.kernel.org, abhinavk@codeaurora.org, aravindh@codeaurora.org, freedreno@lists.freedesktop.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Quoting Bjorn Andersson (2021-06-08 15:34:01) > On Tue 08 Jun 17:29 CDT 2021, Stephen Boyd wrote: > > > Quoting Bjorn Andersson (2021-06-08 15:26:23) > > > On Tue 08 Jun 17:15 CDT 2021, Stephen Boyd wrote: > > > > > > > Quoting Bjorn Andersson (2021-06-07 16:31:47) > > > > > On Mon 07 Jun 12:48 CDT 2021, khsieh@codeaurora.org wrote: > > > > > > > > > > > Sorry about the confusion. What I meant is that even though DP controller is > > > > > > in the MDSS_GDSC > > > > > > power domain, DP PHY/PLL sources out of CX. The DP link clocks have a direct > > > > > > impact > > > > > > on the CX voltage corners. Therefore, we need to mention the CX power domain > > > > > > here. And, since > > > > > > we can associate only one OPP table with one device, we picked the DP link > > > > > > clock over other > > > > > > clocks. > > > > > > > > > > Thank you, that's a much more useful answer. > > > > > > > > > > Naturally I would think it would make more sense for the PHY/PLL driver > > > > > to ensure that CX is appropriately voted for then, but I think that > > > > > would result in it being the clock driver performing such vote and I'm > > > > > unsure how the opp table for that would look. > > > > > > > > > > @Stephen, what do you say? > > > > > > > > > > > > > Wouldn't the PHY be the one that sets some vote? So it wouldn't be the > > > > clk driver, and probably not from the clk ops, but instead come from the > > > > phy ops via phy_enable() and phy_configure(). > > > > > > > > > > If I understand the logic correctly *_configure_dp_phy() will both > > > configure the vco clock and "request" the clock framework to change the > > > rate. > > > > > > So I presume what you're suggesting is that that would be the place to > > > cast the CX corner vote? > > > > Yes that would be a place to make the CX vote. The problem is then I > > don't know where to drop the vote. Is that when the phy is disabled? > > We do pass qcom_qmp_phy_power_off() and power down the DP part as DP > output is being disabled. So that sounds like a reasonable place to drop > the vote for the lowest performance state. > So then will the corner vote be in place when the PHY isn't actually powered up? That will be bad for power. The phy configure code will need to know if the phy is enabled and then only put in the vote when the phy is enabled, otherwise wait for enable to make the corner vote. Honestly I suspect the DP PHY is _not_ in the CX domain as CX is for digital logic. Probably the PLL is the hardware that has some minimum CX requirement, and that flows down into the various display clks like the link clk that actually clock the DP controller hardware. The mdss_gdsc probably gates CX for the display subsystem (mdss) so if we had proper corner aggregation logic we could indicate that mdss_gdsc is a child of the CX domain and then make requests from the DP driver for particular link frequencies on the mdss_gdsc and then have that bubble up to CX appropriately. I don't think any of that sort of code is in place though, right?