Received: by 2002:a05:7412:518d:b0:e2:908c:2ebd with SMTP id fn13csp324491rdb; Thu, 5 Oct 2023 07:07:48 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFV0lSm5tX2Q7oCE1Upa6tI5b+wfh+zIXAaRjV6kYNavHZss4mjkO1goTgMiuGCZO9ANk6b X-Received: by 2002:a17:902:8212:b0:1c7:29fd:33b6 with SMTP id x18-20020a170902821200b001c729fd33b6mr4904090pln.40.1696514867708; Thu, 05 Oct 2023 07:07:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696514867; cv=none; d=google.com; s=arc-20160816; b=kWl/G0+aMCVsaHe2AbolPEm90hvmnZjr4C6u5hbbbmKCSGp5N6LgZwMapSD6RGbUev CeykR784TLsVSZ8c1a/261FongBXmcyyN55T3+MO2VxXPZlguKWzRAK5fybtwhhFLpV7 5mLidoPYvj5LSSXw3udrOMmNpfjJiyfZ4KbVvDvQI0hoUaRpqDDr5aT+0vhhp7K9Hk4b KT74cchJdhUOZyOTsFgcQPJG85m1OocIdlAlLwehryt9fPbVspKCHR+xuDSbsRXl3Wfs 9xu4f/aeqhg94C8DoBDqu0zQYrytkjrdp+IKAeAQuq4jlaHu5GNmBmr+Lz5lKNyQCThO RBHg== 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:from:in-reply-to :references:mime-version:dkim-signature; bh=fhD+4AkRggrUFVCRueZ0EP4NvrMyL09uoQLrgXFHCqg=; fh=oVeRCfmjoBCIJ+R37igRSjv7jtLoQTpPfccIwq2RqBs=; b=aSplK8TnEx9s3hXYiPlS1OcL5YLt79OeXh7iYAOmt4zdhVqCDXvR4F3dU0uig1TDP0 dY/hOiTuTb9VskvcO/i1IyJWejhqB5GTlPzOZBXPYN6hxBLv4nyR8iHKq+YATnda9i5c tcNHACtvxeAQ0ogUzPlI/IXH4VDxoKCGN5vW7maQQZUYHwvzApZFQuanWToSzcdLfJ+w 5SQ0RT2xSzansbbk4f5Q/wRoka9iy2g6GuEtPhX1xFy0VCzjgS5cCTwYOiYX+5Joyj1n 6iPXfwTKNUUjzodS6i1mo8nz+hNSucgr+uJsUxgClHwWVirUpMM5wk2qSjRfUbx9c5st 138Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=iKX7e05y; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from howler.vger.email (howler.vger.email. [23.128.96.34]) by mx.google.com with ESMTPS id b6-20020a170902d50600b001bbfbe6bf3esi1619339plg.504.2023.10.05.07.07.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Oct 2023 07:07:47 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) client-ip=23.128.96.34; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=iKX7e05y; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by howler.vger.email (Postfix) with ESMTP id 798EA827AF92; Thu, 5 Oct 2023 07:07:45 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at howler.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230082AbjJEOHg (ORCPT + 99 others); Thu, 5 Oct 2023 10:07:36 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40878 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230208AbjJEOFv (ORCPT ); Thu, 5 Oct 2023 10:05:51 -0400 Received: from mail-yw1-x112c.google.com (mail-yw1-x112c.google.com [IPv6:2607:f8b0:4864:20::112c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 968957A8B for ; Thu, 5 Oct 2023 00:20:02 -0700 (PDT) Received: by mail-yw1-x112c.google.com with SMTP id 00721157ae682-59f6e6b206fso6859767b3.3 for ; Thu, 05 Oct 2023 00:20:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1696490401; x=1697095201; darn=vger.kernel.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=fhD+4AkRggrUFVCRueZ0EP4NvrMyL09uoQLrgXFHCqg=; b=iKX7e05y5+jAEWh+swf+m1bczWFfBdxrL8viyG20sGbM5iifMvSvrH4oB5FdL7xNPT oXk/RAQxERIvCe6QjawiiieR/wNljWLRbIDLymCbaVarIFEu/Nq56mni3jXnUdFUNvtH mw3NzW0Cpomx7uI8FRlFZmD7TI11/dM0srCfzgW7l1XLDB7w/pPykluZXvzDs/RrqOQS vQw7yC/cgu+XjjjbKd9Nyo4CoPW01JbLm62SMX4S37wM3GCEsDKoMvh5IrVVKjZ6C7iD TS/1AndgFbEvxokgXEgtjwKA2JYU4qeT2gmxfjlTMwNKV91cWmzXrA3maHVen0/1fI/4 sg6A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696490401; x=1697095201; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=fhD+4AkRggrUFVCRueZ0EP4NvrMyL09uoQLrgXFHCqg=; b=vC38HSjUZOfG516t6siZDxp7HQuBSmiFnwatm7OtGlHlfNmaeCmZ6oc+Suu0514JVB 2rbHBeVA/Idor8T9z7BcIn9mtgxiwLmu49w2q3wz/vYAjA0VHQ3pJtPREyj6HOb2CfVs 6tFSIRmZFMv7PnSF5SyHpaLrUeLijRFv4NhCjDizO6UnPzGLMy73VIsIxuZzzaTHLbpY jMQj0NnKas6yFUR+ahu1/xF/k6XqI9hdWyXLAhunMM7DXjW2x+SdIAjUycvb3ZUcZhL3 60lk1LZLqic2cFHMwLiweHDYpRdeRIBSfxFigJmiwaP0BySDIjHyakf9xFP5jocLcM5Y EYmQ== X-Gm-Message-State: AOJu0YxNG6MpsWsUWg9zDwqwvpmkwDHD9mXnpgqpPIHaqqJoRG4T1UxW a8OEW1n8CfomLl9p5Hvf/rlBS6jiJu7RhckThD7rXA== X-Received: by 2002:a0d:cc44:0:b0:59f:7d6b:ea42 with SMTP id o65-20020a0dcc44000000b0059f7d6bea42mr4835211ywd.23.1696490400983; Thu, 05 Oct 2023 00:20:00 -0700 (PDT) MIME-Version: 1.0 References: <20230825091234.32713-1-quic_devipriy@quicinc.com> <20230825091234.32713-6-quic_devipriy@quicinc.com> <652b55cc-87dd-46d1-e480-e25f5f22b8d8@quicinc.com> <45f96567-553c-9214-eb7e-c75c6e09d78b@quicinc.com> <65b030c6-6fab-53ea-2774-48698905dd96@quicinc.com> In-Reply-To: <65b030c6-6fab-53ea-2774-48698905dd96@quicinc.com> From: Dmitry Baryshkov Date: Thu, 5 Oct 2023 10:19:49 +0300 Message-ID: Subject: Re: [PATCH V2 5/7] clk: qcom: Add NSS clock Controller driver for IPQ9574 To: Devi Priya Cc: andersson@kernel.org, agross@kernel.org, konrad.dybcio@linaro.org, mturquette@baylibre.com, sboyd@kernel.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, catalin.marinas@arm.com, will@kernel.org, p.zabel@pengutronix.de, richardcochran@gmail.com, arnd@arndb.de, geert+renesas@glider.be, nfraprado@collabora.com, rafal@milecki.pl, peng.fan@nxp.com, linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, netdev@vger.kernel.org, quic_saahtoma@quicinc.com Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (howler.vger.email [0.0.0.0]); Thu, 05 Oct 2023 07:07:46 -0700 (PDT) On Thu, 5 Oct 2023 at 09:26, Devi Priya wrote: > > > > On 9/22/2023 5:31 PM, Devi Priya wrote: > > > > > > On 9/20/2023 1:50 PM, Dmitry Baryshkov wrote: > >> On Wed, 20 Sept 2023 at 09:39, Devi Priya > >> wrote: > >>> > >>> > >>> > >>> On 9/12/2023 7:38 PM, Devi Priya wrote: > >>>> > >>>> > >>>> On 8/25/2023 5:14 PM, Dmitry Baryshkov wrote: > >>>>> On Fri, 25 Aug 2023 at 12:15, Devi Priya > >>>>> wrote: > >>>>>> > >>>>>> Add Networking Sub System Clock Controller(NSSCC) driver for ipq9574 > >>>>>> based > >>>>>> devices. > >>>>>> > >>>>>> Signed-off-by: Devi Priya > >>>>>> --- > >>>>>> Changes in V2: > >>>>>> - Added depends on ARM64 || COMPILE_TEST in Kconfig > >>>>>> - Added module_platform_driver > >>>>>> - Dropped patch [2/6] - clk: qcom: gcc-ipq9574: Mark nssnoc > >>>>>> clocks as critical > >>>>>> & added pm_clk for nssnoc clocks > >>>>>> - Updated the uniphy clock names > >>>>>> > >>>>>> drivers/clk/qcom/Kconfig | 7 + > >>>>>> drivers/clk/qcom/Makefile | 1 + > >>>>>> drivers/clk/qcom/nsscc-ipq9574.c | 3109 > >>>>>> ++++++++++++++++++++++++++++++ > >>>>>> 3 files changed, 3117 insertions(+) > >>>>>> create mode 100644 drivers/clk/qcom/nsscc-ipq9574.c > >>>>>> > >>>>>> diff --git a/drivers/clk/qcom/Kconfig b/drivers/clk/qcom/Kconfig > >>>>>> index bd9bfb11b328..3ecc11e2c8e3 100644 > >>>>>> --- a/drivers/clk/qcom/Kconfig > >>>>>> +++ b/drivers/clk/qcom/Kconfig > >>>>>> @@ -203,6 +203,13 @@ config IPQ_GCC_9574 > >>>>>> i2c, USB, SD/eMMC, etc. Select this for the root clock > >>>>>> of ipq9574. > >>>>>> > >>>>>> +config IPQ_NSSCC_9574 > >>>>>> + tristate "IPQ9574 NSS Clock Controller" > >>>>>> + depends on ARM64 || COMPILE_TEST > >>>>>> + depends on IPQ_GCC_9574 > >>>>>> + help > >>>>>> + Support for NSS clock controller on ipq9574 devices. > >>>>>> + > >>>>>> config MSM_GCC_8660 > >>>>>> tristate "MSM8660 Global Clock Controller" > >>>>>> depends on ARM || COMPILE_TEST > >>>>>> diff --git a/drivers/clk/qcom/Makefile b/drivers/clk/qcom/Makefile > >>>>>> index 4790c8cca426..3f084928962e 100644 > >>>>>> --- a/drivers/clk/qcom/Makefile > >>>>>> +++ b/drivers/clk/qcom/Makefile > >>>>>> @@ -30,6 +30,7 @@ obj-$(CONFIG_IPQ_GCC_6018) += gcc-ipq6018.o > >>>>>> obj-$(CONFIG_IPQ_GCC_806X) += gcc-ipq806x.o > >>>>>> obj-$(CONFIG_IPQ_GCC_8074) += gcc-ipq8074.o > >>>>>> obj-$(CONFIG_IPQ_GCC_9574) += gcc-ipq9574.o > >>>>>> +obj-$(CONFIG_IPQ_NSSCC_9574) += nsscc-ipq9574.o > >>>>>> obj-$(CONFIG_IPQ_LCC_806X) += lcc-ipq806x.o > >>>>>> obj-$(CONFIG_MDM_GCC_9607) += gcc-mdm9607.o > >>>>>> obj-$(CONFIG_MDM_GCC_9615) += gcc-mdm9615.o > >>>>>> diff --git a/drivers/clk/qcom/nsscc-ipq9574.c > >>>>>> b/drivers/clk/qcom/nsscc-ipq9574.c > >>>>>> new file mode 100644 > >>>>>> index 000000000000..65bdb449ae5f > >>>>>> --- /dev/null > >>>>>> +++ b/drivers/clk/qcom/nsscc-ipq9574.c > >>>>>> @@ -0,0 +1,3109 @@ > >>>>>> +// SPDX-License-Identifier: GPL-2.0-only > >>>>>> +/* > >>>>>> + * Copyright (c) 2021, The Linux Foundation. All rights reserved. > >>>>>> + * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights > >>>>>> reserved. > >>>>>> + */ > >>>>>> + > >>>>>> +#include > >>>>>> +#include > >>>>>> +#include > >>>>>> +#include > >>>>>> +#include > >>>>>> +#include > >>>>>> +#include > >>>>>> +#include > >>>>>> +#include > >>>>>> + > >>>>>> +#include > >>>>>> +#include > >>>>>> + > >>>>>> +#include "clk-alpha-pll.h" > >>>>>> +#include "clk-branch.h" > >>>>>> +#include "clk-pll.h" > >>>>>> +#include "clk-rcg.h" > >>>>>> +#include "clk-regmap.h" > >>>>>> +#include "clk-regmap-divider.h" > >>>>>> +#include "clk-regmap-mux.h" > >>>>>> +#include "common.h" > >>>>>> +#include "reset.h" > >>>>>> + > >>>>>> +/* Need to match the order of clocks in DT binding */ > >>>>>> +enum { > >>>>>> + DT_NSSNOC_NSSCC_CLK, > >>>>>> + DT_NSSNOC_SNOC_CLK, > >>>>>> + DT_NSSNOC_SNOC_1_CLK, > >>>>> > >>>>> Not using the index makes it seem that these clocks are not used, > >>>>> until one scrolls down to pm_clks. > >>>> Okay, got it > >>>>> > >>>>> BTW: The NSSNOC_SNOC clocks make it look like there is an interconnect > >>>>> here (not a simple NIU). > >>>> > >>>> Hi Dmitry, We are exploring on the ICC driver. In the meantime to > >>>> unblock PCIe/NSS changes getting merged, shall we use > >>>> regmap_update_bits > >>>> and turn on the critical NSSNOC clocks, ANOC & SNOC pcie clocks in the > >>>> probe function of the gcc driver itself as like sm8550 driver to get > >>>> the > >>>> changes merged? > >>>> > >>>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/clk/qcom/gcc-sm8550.c#n3347 > >>> > >>> Hi Dmitry, > >>> Just curious to know if we could send out the next series with the > >>> proposed approach if that holds good. > >> > >> The answer really depends on the structure of your hardware. The issue > >> is that once you commit the device bindings,you have to support them > >> forever. So, if you commit the NSS clock support without interconnects > >> in place, you have to keep this ANOC/SNOC/etc code forever, even after > >> you land the interconnect. So I'd suggest landing the icc driver first > >> (or at least implementing and sending to the mailing list), so that we > >> can see how all these pieces fit together. > > > > Hi Dmitry, > > Unlike MSM chipsets, IPQ chipsets does not have any use case wherein the > > NOC clocks have to be scaled. So if these clocks can be enabled in the > > probe, there is no need for an interconnect driver at all. The same > > applies to both ipq9574 and ipq5332 SoCs. > > > > Hi Dmitry, > Just curious to know if we can go ahead with the proposed solution of > enabling the NOC clocks in the probe as these clocks need not be scaled > in IPQ chipsets & hence there would be no need for an ICC driver in > ipq9574 & ipq5332 targets. In the probe of which driver? -- With best wishes Dmitry