Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 45417C636D4 for ; Tue, 7 Feb 2023 08:58:19 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230503AbjBGI6S (ORCPT ); Tue, 7 Feb 2023 03:58:18 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44182 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229685AbjBGI6Q (ORCPT ); Tue, 7 Feb 2023 03:58:16 -0500 Received: from mail-vs1-xe35.google.com (mail-vs1-xe35.google.com [IPv6:2607:f8b0:4864:20::e35]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 345281114B for ; Tue, 7 Feb 2023 00:58:15 -0800 (PST) Received: by mail-vs1-xe35.google.com with SMTP id a24so15543551vsl.2 for ; Tue, 07 Feb 2023 00:58:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=bJGUTHNzVk0CrDLPjREXJzjqiBi2pjaUdCgiLmgCaNE=; b=YsQ1SJKp9ric8eetL2Txcs9f3CUPHJidqRiInmtOn+W9Sgc4ANb5a4fPTp8NepJeK2 d0BVtGtvFURucArLag7vF2lXxRRWEoM7QgEVoqkRdxp48E1/ZmvL0r9EtyNWyktyUKlT TDiqxW9IlaHadd8ZnNM+qtf7gED6kJrCCdDyY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=bJGUTHNzVk0CrDLPjREXJzjqiBi2pjaUdCgiLmgCaNE=; b=zZyBrqbmiOWgUT9ZQ2xrgz4YK0ZUdH95hvHvLElMXSelVUcMVNTCPKTMUEhUWXjRY4 RpVLlJ+AELTlcEAGBlXVU1PSSxB2q+YaG3wwN9Vo+I1XPWXYQ3znkB47NpXXjkIRMhNl Fe41b5g2L1vZ5PiEQyyd4oHLJVQU0IEVVYwHhRxY3W4WXwZ9j1Q3zMVUT2MkeC1GHKck +iZrkUVTrFk26O/VSCb+R+FJ/Wui6BxbMjlh4tsHAsjGEnSdM+/1XfkZhhrSCQ1Jfsjz AScAzDtRNDBwHcjF7zBC3ZF9h1dCPZu3ts0fZWKjEHdf2iwd05f2S+chbCbESRUeOt3r VjVg== X-Gm-Message-State: AO0yUKXQJwMEhn6/ryVeyPYVkXmxgsxZv9U9HE1+jNGVN1m5YCYxF4dG /jFicMh0X208iroXhhvTcfJYoFrOGKONh07hRjZkgw== X-Google-Smtp-Source: AK7set8q/Np50pceKj/VI+JvmP79bjSmnUhKoBbzRgRnOhvnmB0W3alAQiNAxbYLsMfSSntXfkhvFzvLcr3TP50xUVc= X-Received: by 2002:a05:6102:4b8:b0:3fe:ae88:d22 with SMTP id r24-20020a05610204b800b003feae880d22mr515509vsa.65.1675760294338; Tue, 07 Feb 2023 00:58:14 -0800 (PST) MIME-Version: 1.0 References: <20230206152928.918562-1-angelogioacchino.delregno@collabora.com> <20230206152928.918562-6-angelogioacchino.delregno@collabora.com> <93d95309-84eb-16c6-b64e-b0c43d784900@collabora.com> In-Reply-To: <93d95309-84eb-16c6-b64e-b0c43d784900@collabora.com> From: Chen-Yu Tsai Date: Tue, 7 Feb 2023 16:58:03 +0800 Message-ID: Subject: Re: [PATCH v1 05/45] clk: mediatek: mt2712: Migrate topckgen/mcucfg to mtk_clk_simple_probe() To: AngeloGioacchino Del Regno Cc: mturquette@baylibre.com, sboyd@kernel.org, matthias.bgg@gmail.com, johnson.wang@mediatek.com, miles.chen@mediatek.com, chun-jie.chen@mediatek.com, daniel@makrotopia.org, fparent@baylibre.com, msp@baylibre.com, nfraprado@collabora.com, rex-bc.chen@mediatek.com, zhaojh329@gmail.com, sam.shih@mediatek.com, edward-jw.yang@mediatek.com, yangyingliang@huawei.com, granquet@baylibre.com, pablo.sun@mediatek.com, sean.wang@mediatek.com, chen.zhong@mediatek.com, linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Feb 7, 2023 at 4:45 PM AngeloGioacchino Del Regno wrote: > > Il 07/02/23 07:15, Chen-Yu Tsai ha scritto: > > On Mon, Feb 6, 2023 at 11:29 PM AngeloGioacchino Del Regno > > wrote: > >> > >> Now that the common mtk_clk_simple_{probe,remove}() functions can deal > >> with divider clocks it is possible to migrate more clock drivers to it: > >> in this case, it's about topckgen. > >> While at it, also perform a fast migration for mcucfg. > >> > >> Signed-off-by: AngeloGioacchino Del Regno > > > > Reviewed-by: Chen-Yu Tsai > > > >> --- > >> drivers/clk/mediatek/clk-mt2712.c | 127 +++++------------------------- > >> 1 file changed, 21 insertions(+), 106 deletions(-) > >> > > ..snip.. > __func__, r); > >> +static const struct mtk_clk_desc topck_desc = { > >> + .clks = top_clks, > >> + .num_clks = ARRAY_SIZE(top_clks), > >> + .fixed_clks = top_fixed_clks, > >> + .num_fixed_clks = ARRAY_SIZE(top_fixed_clks), > >> + .factor_clks = top_divs, > >> + .num_factor_clks = ARRAY_SIZE(top_divs), > >> + .composite_clks = top_muxes, > >> + .num_composite_clks = ARRAY_SIZE(top_muxes), > >> + .divider_clks = top_adj_divs, > >> + .num_divider_clks = ARRAY_SIZE(top_adj_divs), > >> + .clk_lock = &mt2712_clk_lock, > > > > At some point maybe we should look into splitting up the locks to one > > per block, or converting everything to regmap. > > > > I was thinking the same about the locks... but about regmap, that would > actually add up some overhead at every R/W operation and I would really > like to measure that precisely before doing any kind of regmap conversion > for the MediaTek clocks. > > Perhaps I'll even find a way to avoid any kind of (even if small) overhead > while doing that sometime in the future, which wouldn't be benefitting only > MediaTek, but also other users like Qualcomm (as they have practically all > clocks on regmap!). Stephen would likely appreciate a unified regmap clock library :D