public inbox for linux-clk@vger.kernel.org
 help / color / mirror / Atom feed
From: AngeloGioacchino Del Regno  <angelogioacchino.delregno@collabora.com>
To: Chen-Yu Tsai <wenst@chromium.org>
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
Subject: Re: [PATCH v1 35/45] clk: mediatek: Split MT8195 clock drivers and allow module build
Date: Thu, 9 Feb 2023 10:14:09 +0100	[thread overview]
Message-ID: <62a86fd9-5770-c32c-ad65-467940cc3ee0@collabora.com> (raw)
In-Reply-To: <CAGXv+5FmmDx0Q_d17hv1gu+drfD12-vtgPoTpefExHGvdkcQyA@mail.gmail.com>

Il 09/02/23 04:46, Chen-Yu Tsai ha scritto:
> On Wed, Feb 8, 2023 at 5:00 PM AngeloGioacchino Del Regno
> <angelogioacchino.delregno@collabora.com> wrote:
>>
>> Il 08/02/23 09:28, Chen-Yu Tsai ha scritto:
>>> On Mon, Feb 6, 2023 at 11:30 PM AngeloGioacchino Del Regno
>>> <angelogioacchino.delregno@collabora.com> wrote:
>>>>
>>>> MT8195 clock drivers were encapsulated in one single (and big) Kconfig
>>>> option: there's no reason to do that, as it is totally unnecessary to
>>>> build in all or none of them.
>>>>
>>>> Split them out: keep boot-critical clocks as bool and allow choosing
>>>> non critical clocks as tristate.
>>>
>>> The power domain controller references vppsys*, vdecsys*, vdosys*, wpesys,
>>> imgsys and camsys. I'd argue that this makes these clock drivers
>>> semi-boot-critical. Maybe mfgcfg as well when we add the GPU?
>>
>> You don't need to power on additional power domains if you want to load modules
>> from a ramdisk! :-)
> 
> Right.
> 
>> Besides, you caught me: mtk-pm-domains will be my next target after clocks...
>> I don't like how it behaves in regard to probe deferrals. Specifically,
>> I dislike the fact that you either register *all domains* or *none at all*
>> (unless instantiating two different driver instances and that's ugly).
> 
> I don't really like it either, but is it possible to split probe deferrals?
> I mean, if you skip a couple power domains because the clocks aren't
> available, how do you come back to them?
> 

Honestly, I have no clue right now - I didn't even think about any possible
implementation for now... but let's see what I can come up with whenever I
get a chance to actually take a look.

Surely not before finishing work on this series, though.

> And IIRC for a clock provider that is _not_ marked as disabled in the DT,
> trying to fetch a clock from it would just give -EPROBEDEFER until
> the provider is registered.
> 

Yes it will give a probe deferral. An internal probe retry mechanism on the
power domains that couldn't probe would be one of the possible options.

Actually, we have almost endless options on how to resolve that power domains
issue, so it's not worrying me at all!

Cheers,
Angelo

> ChenYu
> 
>>>
>>> They should be bundled together at the very least. The power domain
>>> controller not probing disables all display and multimedia capabilities.
>>>
>>> Also wondering if we should have "default COMMON_CLK_MT8195" ...
>>>
>>> I suppose the same questions apply to other SoCs.
>>>
>>> ChenYu
>>
>>


  reply	other threads:[~2023-02-09  9:14 UTC|newest]

Thread overview: 91+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-06 15:28 [PATCH v1 00/45] MediaTek clocks: full module build and cleanups AngeloGioacchino Del Regno
2023-02-06 15:28 ` [PATCH v1 01/45] clk: mediatek: clk-mtk: Switch to device_get_match_data() AngeloGioacchino Del Regno
2023-02-07  5:01   ` Chen-Yu Tsai
2023-02-06 15:28 ` [PATCH v1 02/45] clk: mediatek: clk-mtk: Introduce clk_mtk_pdev_{probe,remove}() AngeloGioacchino Del Regno
2023-02-07  5:59   ` Chen-Yu Tsai
2023-02-06 15:28 ` [PATCH v1 03/45] clk: mediatek: Migrate to mtk_clk_pdev_probe() for multimedia clocks AngeloGioacchino Del Regno
2023-02-07  6:06   ` Chen-Yu Tsai
2023-02-06 15:28 ` [PATCH v1 04/45] clk: mediatek: Add divider clocks to mtk_clk_simple_{probe,remove}() AngeloGioacchino Del Regno
2023-02-07  6:11   ` Chen-Yu Tsai
2023-02-06 15:28 ` [PATCH v1 05/45] clk: mediatek: mt2712: Migrate topckgen/mcucfg to mtk_clk_simple_probe() AngeloGioacchino Del Regno
2023-02-07  6:15   ` Chen-Yu Tsai
2023-02-07  8:45     ` AngeloGioacchino Del Regno
2023-02-07  8:58       ` Chen-Yu Tsai
2023-02-06 15:28 ` [PATCH v1 06/45] clk: mediatek: mt2712: Compress clock arrays entries to 90 columns AngeloGioacchino Del Regno
2023-02-07  6:58   ` Chen-Yu Tsai
2023-02-06 15:28 ` [PATCH v1 07/45] clk: mediatek: mt2712: Add error handling to clk_mt2712_apmixed_probe() AngeloGioacchino Del Regno
2023-02-07  6:16   ` Chen-Yu Tsai
2023-02-07  9:00     ` AngeloGioacchino Del Regno
2023-02-06 15:28 ` [PATCH v1 08/45] clk: mediatek: mt2712: Move apmixedsys clock driver to its own file AngeloGioacchino Del Regno
2023-02-07  6:50   ` Chen-Yu Tsai
2023-02-07  9:13     ` AngeloGioacchino Del Regno
2023-02-07  7:07   ` Chen-Yu Tsai
2023-02-06 15:28 ` [PATCH v1 09/45] clk: mediatek: mt2712: Change to use module_platform_driver macro AngeloGioacchino Del Regno
2023-02-07  6:33   ` Chen-Yu Tsai
2023-02-07  9:00     ` AngeloGioacchino Del Regno
2023-02-07  9:30       ` Chen-Yu Tsai
2023-02-07 10:50         ` AngeloGioacchino Del Regno
2023-02-08  8:24           ` Chen-Yu Tsai
2023-02-06 15:28 ` [PATCH v1 10/45] clk: mediatek: mt2712: Change Kconfig options to allow module build AngeloGioacchino Del Regno
2023-02-06 15:28 ` [PATCH v1 11/45] clk: mediatek: mt8365: Move apmixedsys clock driver to its own file AngeloGioacchino Del Regno
2023-02-07  7:12   ` Chen-Yu Tsai
2023-02-07  9:14     ` AngeloGioacchino Del Regno
2023-02-07  9:32       ` Chen-Yu Tsai
2023-02-06 15:28 ` [PATCH v1 12/45] clk: mediatek: mt8365: Convert to mtk_clk_simple_{probe,remove}() AngeloGioacchino Del Regno
2023-02-07  7:28   ` Chen-Yu Tsai
2023-02-07  9:16     ` AngeloGioacchino Del Regno
2023-02-06 15:28 ` [PATCH v1 13/45] clk: mediatek: mt8167: Compress GATE_TOPx macros AngeloGioacchino Del Regno
2023-02-07  7:30   ` Chen-Yu Tsai
2023-02-07  9:17     ` AngeloGioacchino Del Regno
2023-02-06 15:28 ` [PATCH v1 14/45] clk: mediatek: mt8167: Move apmixedsys as platform_driver in new file AngeloGioacchino Del Regno
2023-02-07  7:36   ` Chen-Yu Tsai
2023-02-06 15:28 ` [PATCH v1 15/45] clk: mediatek: mt8167: Remove __initconst annotation from arrays AngeloGioacchino Del Regno
2023-02-07  7:41   ` Chen-Yu Tsai
2023-02-06 15:28 ` [PATCH v1 16/45] clk: mediatek: mt8167: Convert to mtk_clk_simple_{probe,remove}() AngeloGioacchino Del Regno
2023-02-07  8:07   ` Chen-Yu Tsai
2023-02-07 11:51     ` AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 17/45] clk: mediatek: mt8183: Move apmixedsys clock driver to its own file AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 18/45] clk: mediatek: mt8183: Compress clocks arrays entries where possible AngeloGioacchino Del Regno
2023-02-07  9:41   ` Chen-Yu Tsai
2023-02-06 15:29 ` [PATCH v1 19/45] clk: mediatek: mt8183: Convert all remaining clocks to common probe AngeloGioacchino Del Regno
2023-02-07  9:58   ` Chen-Yu Tsai
2023-02-07 12:14     ` AngeloGioacchino Del Regno
2023-02-08  8:17       ` Chen-Yu Tsai
2023-02-06 15:29 ` [PATCH v1 20/45] clk: mediatek: Consistently use GATE_MTK() macro AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 21/45] clk: mediatek: mt7622: Properly use CLK_IS_CRITICAL flag AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 22/45] clk: mediatek: mt7622: Move apmixedsys clock driver to its own file AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 23/45] clk: mediatek: mt7622: Move infracfg to clk-mt7622-infracfg.c AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 24/45] clk: mediatek: mt7622: Convert to platform driver and simple probe AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 25/45] clk: mediatek: mt8516: Move apmixedsys clock driver to its own file AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 26/45] clk: mediatek: mt8516: Convert to platform driver and simple probe AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 27/45] clk: mediatek: mt8516: Allow building clock drivers as modules AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 28/45] clk: mediatek: Propagate struct device with mtk_clk_register_dividers() AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 29/45] clk: mediatek: mt7986-apmixed: Use PLL_AO flag to set critical clock AngeloGioacchino Del Regno
2023-02-07 14:43   ` Daniel Golle
2023-02-07 15:22     ` AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 30/45] clk: mediatek: mt7986-infracfg: Migrate to common probe mechanism AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 31/45] clk: mediatek: mt7986-eth: " AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 32/45] clk: mediatek: mt8186-mcu: " AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 33/45] clk: mediatek: Switch to module_platform_driver() where possible AngeloGioacchino Del Regno
2023-02-07  6:37   ` Chen-Yu Tsai
2023-02-07  9:03     ` AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 34/45] clk: mediatek: Add MODULE_LICENSE() where missing AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 35/45] clk: mediatek: Split MT8195 clock drivers and allow module build AngeloGioacchino Del Regno
2023-02-08  8:28   ` Chen-Yu Tsai
2023-02-08  8:59     ` AngeloGioacchino Del Regno
2023-02-09  3:46       ` Chen-Yu Tsai
2023-02-09  9:14         ` AngeloGioacchino Del Regno [this message]
2023-02-06 15:29 ` [PATCH v1 36/45] clk: mediatek: Allow building MT8192 non-critical clocks as modules AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 37/45] clk: mediatek: Allow MT7622 clocks to be built " AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 38/45] clk: mediatek: Allow all MT8167 " AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 39/45] clk: mediatek: Allow all MT8183 " AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 40/45] clk: mediatek: Allow building most MT6765 clock drivers " AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 41/45] clk: mediatek: Allow building most MT6797 " AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 42/45] clk: mediatek: Split configuration options for MT8186 clock drivers AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 43/45] clk: mediatek: mt8192: Move apmixedsys clock driver to its own file AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 44/45] clk: mediatek: Kconfig: Allow module build for core mt8192 clocks AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 45/45] clk: mediatek: Add MODULE_DEVICE_TABLE() where appropriate AngeloGioacchino Del Regno
2023-02-06 15:38 ` [PATCH v1 00/45] MediaTek clocks: full module build and cleanups AngeloGioacchino Del Regno
2023-02-07  9:04   ` Chen-Yu Tsai
2023-02-07  9:19     ` AngeloGioacchino Del Regno
2023-02-07  9:49       ` Chen-Yu Tsai

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=62a86fd9-5770-c32c-ad65-467940cc3ee0@collabora.com \
    --to=angelogioacchino.delregno@collabora.com \
    --cc=chen.zhong@mediatek.com \
    --cc=chun-jie.chen@mediatek.com \
    --cc=daniel@makrotopia.org \
    --cc=edward-jw.yang@mediatek.com \
    --cc=fparent@baylibre.com \
    --cc=granquet@baylibre.com \
    --cc=johnson.wang@mediatek.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=matthias.bgg@gmail.com \
    --cc=miles.chen@mediatek.com \
    --cc=msp@baylibre.com \
    --cc=mturquette@baylibre.com \
    --cc=nfraprado@collabora.com \
    --cc=pablo.sun@mediatek.com \
    --cc=rex-bc.chen@mediatek.com \
    --cc=sam.shih@mediatek.com \
    --cc=sboyd@kernel.org \
    --cc=sean.wang@mediatek.com \
    --cc=wenst@chromium.org \
    --cc=yangyingliang@huawei.com \
    --cc=zhaojh329@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox