Received: by 10.192.165.148 with SMTP id m20csp319137imm; Wed, 2 May 2018 00:24:04 -0700 (PDT) X-Google-Smtp-Source: AB8JxZrlgT8N+T6Qr97HYWmUB8zIiNz95kcAwUDJffHMfgh2cpVciQ/LkG/vpsCGqBPRe7//5+dQ X-Received: by 2002:a17:902:5602:: with SMTP id h2-v6mr19363037pli.115.1525245843976; Wed, 02 May 2018 00:24:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1525245843; cv=none; d=google.com; s=arc-20160816; b=L5K2DB9asjNxkYbtRi+Vn+XMside/VizFZ5ZgC2TPUyJPSQ+wRY5lUS97Fnq88F1r9 X+DNHuAq45034ZyvkdSYIEAhAURCrSoGIkt+tm2ozNDvl0gC/93mIoq3VjKwEbOcflBJ XtRQtQJFQukKmNafFapTLXemzQlKRzpfYeRa5r8aNFncuiqkmk5z1T8NKa0SbqfY38/u IhMbdkkpL4FMK1Recfahb2di63vr9J/cT47g4aAoXa1h78zjLaYIPVbxcIRW7DY6/mhb 9Ik/DuOoE5wqZ6X5Ki4P38IsRUbfvRR1pCaZN5F8tdTnLekOiuRVehqUjJj+KcOQg3DE XXDQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:date:subject:user-agent:message-id :references:cc:in-reply-to:from:to:content-transfer-encoding :mime-version:dkim-signature:arc-authentication-results; bh=K2xWfXek2wGQfj8O+0TS1OhLX9qSMGBWZ3F0KJEJPbs=; b=QYrE8tNDd3XGAqyGjre+dYLZ45QbdCIjs9H8qUIj+FJfo4Xf+SNybl7NjBuesFNz4u mLXoxtlZ98Rg0pcycoXtoJsCPDG0pGf8jg1u3HWh3+AoTfuWeUxOZEKmh8fLhs59EiFg i+hYh+Bw4Aevnig+4ncVCXEpdY7tjAk8tagaYZZF9w8M8fbIyVBcRaSRyOnFVberBBMY g3hsxRnepYNmyLzZGfMaJRvtC0VXMlTssImTKPdv9YRlCiO6tCnRqaIc5dV6V5HHDctx Lzl+yUC0RjWGLUZPu9qq8YUxiVJS0y/cdNWu+xNe29N5aNn0U1wu6A6YPQj1K1lPSVhw 0otA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=Yyf4Nzkd; 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; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 206si7927689pfw.130.2018.05.02.00.23.49; Wed, 02 May 2018 00:24:03 -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=Yyf4Nzkd; 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; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751286AbeEBHXd (ORCPT + 99 others); Wed, 2 May 2018 03:23:33 -0400 Received: from mail.kernel.org ([198.145.29.99]:54384 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751115AbeEBHXa (ORCPT ); Wed, 2 May 2018 03:23:30 -0400 Received: from localhost (unknown [104.132.1.75]) (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 2E45F21865; Wed, 2 May 2018 07:23:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1525245810; bh=JtayF1xILzLxWzAZiXVGN/5LwIUrLO5/aDncEt1dzT8=; h=To:From:In-Reply-To:Cc:References:Subject:Date:From; b=Yyf4NzkdRE7iYA/CSE2fXL1rh5GhClOGKodbRLvp//KFrO/WHPtBeZ24vWWQ+161Y kad6Hf+uwELYBUmGJrpw8WUlFOCu0Neovz/RrjiZhk2b+9x+g2WIqsY+2+3UCANAfp uZv+RRTIMX5nFQY8BNKqmVMBdPAw5bIMvMW+q5a4= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable To: Amit Nischal , Michael Turquette , Stephen Boyd From: Stephen Boyd In-Reply-To: <1525105210-8689-4-git-send-email-anischal@codeaurora.org> Cc: 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, devicetree@vger.kernel.org, Amit Nischal References: <1525105210-8689-1-git-send-email-anischal@codeaurora.org> <1525105210-8689-4-git-send-email-anischal@codeaurora.org> Message-ID: <152524580953.138124.2159165461856101134@swboyd.mtv.corp.google.com> User-Agent: alot/0.7 Subject: Re: [PATCH v6 3/3] clk: qcom: Add Global Clock controller (GCC) driver for SDM845 Date: Wed, 02 May 2018 00:23:29 -0700 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Quoting Amit Nischal (2018-04-30 09:20:10) > --- > .../devicetree/bindings/clock/qcom,gcc.txt | 1 + > drivers/clk/qcom/Kconfig | 10 +- > drivers/clk/qcom/Makefile | 1 + > drivers/clk/qcom/gcc-sdm845.c | 3480 ++++++++++++++= ++++++ > include/dt-bindings/clock/qcom,gcc-sdm845.h | 239 ++ Do the split that Rob suggests please, given that you're resending. And also include his reviewed-by tag. > 5 files changed, 3727 insertions(+), 4 deletions(-) > create mode 100644 drivers/clk/qcom/gcc-sdm845.c > create mode 100644 include/dt-bindings/clock/qcom,gcc-sdm845.h > = > diff --git a/drivers/clk/qcom/Kconfig b/drivers/clk/qcom/Kconfig > index e42e1af..3298beb 100644 > --- a/drivers/clk/qcom/Kconfig > +++ b/drivers/clk/qcom/Kconfig > @@ -218,13 +218,15 @@ config MSM_MMCC_8996 > Say Y if you want to support multimedia devices such as display, > graphics, video encode/decode, camera, etc. > = > -config MSM_GCC_8998 > - tristate "MSM8998 Global Clock Controller" > +config SDM_GCC_845 > + tristate "SDM845 Global Clock Controller" > + select QCOM_GDSC > depends on COMMON_CLK_QCOM > help > - Support for the global clock controller on msm8998 devices. > + Support for the global clock controller on Qualcomm Technologie= s, Inc > + sdm845 devices. > Say Y if you want to use peripheral devices such as UART, SPI, > - i2c, USB, UFS, SD/eMMC, PCIe, etc. > + I2C, USB, UFS, SDDC, PCIe, etc. This is all wrong. > = > config SPMI_PMIC_CLKDIV > tristate "SPMI PMIC clkdiv Support" > diff --git a/drivers/clk/qcom/gcc-sdm845.c b/drivers/clk/qcom/gcc-sdm845.c > new file mode 100644 > index 0000000..6484cba > --- /dev/null > +++ b/drivers/clk/qcom/gcc-sdm845.c > @@ -0,0 +1,3480 @@ > +// SPDX-License-Identifier: GPL-2.0 > +/* > + * Copyright (c) 2018, The Linux Foundation. All rights reserved. > + */ > + [...] > + .name =3D "gcc_disp_axi_clk", > + .ops =3D &clk_branch2_ops, > + }, > + }, > +}; > + > +static struct clk_branch gcc_disp_gpll0_clk_src =3D { > + .halt_reg =3D 0x52004, > + .halt_check =3D BRANCH_HALT_DELAY, What about this one? It's not a phy so I'm confused again why we're unable to check the halt bit. To be clear(er), I don't see why we ever want to have HALT_DELAY used. Hopefully we can remove that flag. From=20what I recall, the flag is there for clks that don't toggle their status bit at all, but that we know take a few cycles to ungate the upstream clk. So we threw a delay into the code to make sure that when clk_enable() returned, a driver wouldn't try to use hardware before the clk was actually on. But these cases should pretty much never happen, hence all the pushback against this flag. > + .clkr =3D { > + .enable_reg =3D 0x52004, > + .enable_mask =3D BIT(18), > + .hw.init =3D &(struct clk_init_data){ > + .name =3D "gcc_disp_gpll0_clk_src", > + .parent_names =3D (const char *[]){ > + "gpll0", > + }, > + .num_parents =3D 1, [...] > + .enable_reg =3D 0x7508c, > + .enable_mask =3D BIT(0), > + .hw.init =3D &(struct clk_init_data){ > + .name =3D "gcc_ufs_card_phy_aux_clk", > + .parent_names =3D (const char *[]){ > + "gcc_ufs_card_phy_aux_clk_src", > + }, > + .num_parents =3D 1, > + .flags =3D CLK_SET_RATE_PARENT, > + .ops =3D &clk_branch2_ops, > + }, > + }, > +}; > + > +static struct clk_branch gcc_ufs_card_rx_symbol_0_clk =3D { > + .halt_reg =3D 0x75018, > + .halt_check =3D BRANCH_HALT_DELAY, There are still HALT_DELAY flags for UFS though? Why? Also, are you going to send DFS support for the QUP clks? I would like to see that code merged soon.