Received: by 2002:a25:ef43:0:0:0:0:0 with SMTP id w3csp528364ybm; Thu, 28 May 2020 08:41:27 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw3uGBdHt5W7BPyM/EH1jdVzvWjhUWTazrKMhHGDUzGY4RsMMOj+oLf6ghcAr60OU/OApAw X-Received: by 2002:a05:6402:719:: with SMTP id w25mr3767283edx.179.1590680487093; Thu, 28 May 2020 08:41:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590680487; cv=none; d=google.com; s=arc-20160816; b=MccirOcY+0e26BXWLxFg7KY/gYsHN6Jq8VsTnrbXIvysnoAMj3RmApWn5scmw9YPc9 M7+B44h69tAvS/ycySQ4pwXEIcLZ6DxoFfsvUOHy8wb7rvoN85g8fpvG5vIh64VjUa69 02wZyb+w4e63lufZQFHiyHETOBtlu0tVC2Lchx7xCNS4u0tS+KagJKxpSnYfHrGqpWSP BwxYR39kwXImMFlLcfQG9x1Y3ApBszjcGRoaHMemG2nSqNImv41zmWpq3hyHnoy0B6Nh 87ebtxJjMjyspQcCRJl1Jhrg7pgiHh5g0d0ZUgc3NRQQ+5KYrH0QhLrvOs5PoGFTaBox FbMQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-language :content-transfer-encoding:in-reply-to:mime-version:user-agent:date :message-id:from:references:to:subject:dkim-signature; bh=Y7aOuNvIw5NVFCCz5l+IgP3xwz47PqMV8f7imNV0wlY=; b=SfxAHchAcOvckCOkkUoMgvkk6Ee2t3lM7qbuZkULAYdLPr91RwJpsOGXYMbi8BZ5yM QDQYUJmThOhwMTSbsrpiv7ZQh+NKgIa13I/+HCcUjdj+8gwgxPn/s72l8MuRWPoN+Y4a n2DIQm3XM7VJwiu8J+YM2QTZ52J5AR6Co7MOT3xE7/tes27mHtC49V2eQfVOEDiwLWca yomIvof3oEBoNXYflXcMAvuzVeAb+NdbC8jW2V/mNEDp+4nuT/EUQPBpoXAPHNsU8tf5 sQVOyWMsJ6R9oVucMUOrpQl/I1AdIItoapQv3+Hg0QM+d8iOuRGUe0zIT3Bpj/nyHflZ a2LA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=otzKIV8H; 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=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id q27si1522768edb.205.2020.05.28.08.41.02; Thu, 28 May 2020 08:41:27 -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=@gmail.com header.s=20161025 header.b=otzKIV8H; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2404474AbgE1PjH (ORCPT + 99 others); Thu, 28 May 2020 11:39:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52992 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2404416AbgE1PjG (ORCPT ); Thu, 28 May 2020 11:39:06 -0400 Received: from mail-lj1-x244.google.com (mail-lj1-x244.google.com [IPv6:2a00:1450:4864:20::244]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C9FCFC08C5C6 for ; Thu, 28 May 2020 08:39:05 -0700 (PDT) Received: by mail-lj1-x244.google.com with SMTP id l15so33599681lje.9 for ; Thu, 28 May 2020 08:39:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-transfer-encoding:content-language; bh=Y7aOuNvIw5NVFCCz5l+IgP3xwz47PqMV8f7imNV0wlY=; b=otzKIV8HkaQa6FQTKaxIbrFQfQOOyMEevT1/B9LyoTX7v6RO0ME3tdnkWuVHHY05Ad mDf2nX6h02SDED/XQbaBtn58lJwn+wuRLEzLTGL06AOH9xfpruiZsZb87FBfDFkl6crg MTQehHyL7U7E7CU2OvuLDm04FrdJUWrreel+JfFXgvCfZrZJSJY4wONQsT0WFLRLiKzG MC50wWu29l4QuCkzFEsRtRuaevt27/5F2opnzuZ5W1Tp0E0uUVh1ABBhTha86m9XQwxq KDD2icPBL4axARO4bX6x7JK5zAd9OOINOyQVh7L2v90ghgpnfMECyA1NxXoYEPjJn4Um wp/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=Y7aOuNvIw5NVFCCz5l+IgP3xwz47PqMV8f7imNV0wlY=; b=KigEB9CHdvnefZnKKj+gXWO45/Y2lw1DwgUptnVyNSRhMcH0lTCJg9Vg8XzucmEGye uauJWOz6m6JSfuqK6U59eLyaRlGc9BtTcXG2D7AISYu4Ksv1gpe5UG6kuUGFdp47B80A X0ivOIA7qeoGi6aM230irAwqFhVqT9eNyqNrF7g1il6+ezYdRR/DknxI0pak1lAgtyz7 p14YIVT7EAaGfn0Q4JTx1OqlDL8moEv3DG98WlX7wJH1PtxOTLHH2w/B9ifiQ0YPCrWz lIGblAgUdyJB3lUAl2u3fPhb+QHbCGT5c3O9vS0x9NoNn5v1xs8lcOA/w7It8m6bek5/ ttlQ== X-Gm-Message-State: AOAM53371yfIDigAg9TiPzR+7z9wEhwnjGLgDNmHqs5EvGcr5aDJ4QHC gmRD1lh1ImBy1WhAtjjtiC232/PEhbo= X-Received: by 2002:a2e:597:: with SMTP id 145mr1939226ljf.282.1590680344125; Thu, 28 May 2020 08:39:04 -0700 (PDT) Received: from [192.168.1.36] (89-166-24-184.bb.dnainternet.fi. [89.166.24.184]) by smtp.gmail.com with ESMTPSA id u15sm1689254lfg.92.2020.05.28.08.39.03 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 28 May 2020 08:39:03 -0700 (PDT) Subject: Re: [PATCH] clk: qcom: Add missing msm8998 ufs_unipro_core_clk_src To: linux-kernel@vger.kernel.org References: <20200528142205.44003-1-jeffrey.l.hugo@gmail.com> From: Jami Kettunen Message-ID: Date: Thu, 28 May 2020 18:36:52 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.1 MIME-Version: 1.0 In-Reply-To: <20200528142205.44003-1-jeffrey.l.hugo@gmail.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Tested-by: Jami Kettunen On 28.5.2020 17.22, Jeffrey Hugo wrote: > ufs_unipro_core_clk_src is required to allow UFS to clock scale for power > savings. > > Fixes: b5f5f525c547 ("clk: qcom: Add MSM8998 Global Clock Control (GCC) driver") > Signed-off-by: Jeffrey Hugo > --- > drivers/clk/qcom/gcc-msm8998.c | 27 ++++++++++++++++++++ > include/dt-bindings/clock/qcom,gcc-msm8998.h | 1 + > 2 files changed, 28 insertions(+) > > diff --git a/drivers/clk/qcom/gcc-msm8998.c b/drivers/clk/qcom/gcc-msm8998.c > index df1d7056436c..9d7016bcd680 100644 > --- a/drivers/clk/qcom/gcc-msm8998.c > +++ b/drivers/clk/qcom/gcc-msm8998.c > @@ -1110,6 +1110,27 @@ static struct clk_rcg2 ufs_axi_clk_src = { > }, > }; > > +static const struct freq_tbl ftbl_ufs_unipro_core_clk_src[] = { > + F(37500000, P_GPLL0_OUT_MAIN, 16, 0, 0), > + F(75000000, P_GPLL0_OUT_MAIN, 8, 0, 0), > + F(150000000, P_GPLL0_OUT_MAIN, 4, 0, 0), > + { } > +}; > + > +static struct clk_rcg2 ufs_unipro_core_clk_src = { > + .cmd_rcgr = 0x76028, > + .mnd_width = 8, > + .hid_width = 5, > + .parent_map = gcc_parent_map_0, > + .freq_tbl = ftbl_ufs_unipro_core_clk_src, > + .clkr.hw.init = &(struct clk_init_data){ > + .name = "ufs_unipro_core_clk_src", > + .parent_names = gcc_parent_names_0, > + .num_parents = 4, > + .ops = &clk_rcg2_ops, > + }, > +}; > + > static const struct freq_tbl ftbl_usb30_master_clk_src[] = { > F(19200000, P_XO, 1, 0, 0), > F(60000000, P_GPLL0_OUT_MAIN, 10, 0, 0), > @@ -2549,6 +2570,11 @@ static struct clk_branch gcc_ufs_unipro_core_clk = { > .enable_mask = BIT(0), > .hw.init = &(struct clk_init_data){ > .name = "gcc_ufs_unipro_core_clk", > + .parent_names = (const char *[]){ > + "ufs_unipro_core_clk_src", > + }, > + .num_parents = 1, > + .flags = CLK_SET_RATE_PARENT, > .ops = &clk_branch2_ops, > }, > }, > @@ -2904,6 +2930,7 @@ static struct clk_regmap *gcc_msm8998_clocks[] = { > [SDCC4_APPS_CLK_SRC] = &sdcc4_apps_clk_src.clkr, > [TSIF_REF_CLK_SRC] = &tsif_ref_clk_src.clkr, > [UFS_AXI_CLK_SRC] = &ufs_axi_clk_src.clkr, > + [UFS_UNIPRO_CORE_CLK_SRC] = &ufs_unipro_core_clk_src.clkr, > [USB30_MASTER_CLK_SRC] = &usb30_master_clk_src.clkr, > [USB30_MOCK_UTMI_CLK_SRC] = &usb30_mock_utmi_clk_src.clkr, > [USB3_PHY_AUX_CLK_SRC] = &usb3_phy_aux_clk_src.clkr, > diff --git a/include/dt-bindings/clock/qcom,gcc-msm8998.h b/include/dt-bindings/clock/qcom,gcc-msm8998.h > index 63e02dc32a0b..6a73a174f049 100644 > --- a/include/dt-bindings/clock/qcom,gcc-msm8998.h > +++ b/include/dt-bindings/clock/qcom,gcc-msm8998.h > @@ -183,6 +183,7 @@ > #define GCC_MSS_SNOC_AXI_CLK 174 > #define GCC_MSS_MNOC_BIMC_AXI_CLK 175 > #define GCC_BIMC_GFX_CLK 176 > +#define UFS_UNIPRO_CORE_CLK_SRC 177 > > #define PCIE_0_GDSC 0 > #define UFS_GDSC 1