[PATCH v3 00/10] MediaTek SoC safe clock muxing and GPU clocks
Chen-Yu Tsai
wenst at chromium.org
Wed Sep 28 21:24:23 PDT 2022
On Tue, Sep 27, 2022 at 6:11 PM AngeloGioacchino Del Regno
<angelogioacchino.delregno at collabora.com> wrote:
>
> This series adds a clock notifier for MediaTek clock muxes, required
> in order to achieve stability for GPU DVFS.
>
> The GPU frequency scaling mechanism requires us to switch the GPU
> mux clock to a safe parent which frequency is always less or equal
> to the "current" GPU frequency before reprogramming its dedicated
> "MFG" PLL.
> This is needed because the PLL needs time to reconfigure for its
> output to stabilize (so, for the PLL to lock again): failing to do
> so will lead to instabilities such as glitches, GPU lockups and/or
> full system lockups.
>
> While at it, reparenting of some GPU clocks was also performed, as
> the clock tree was slightly incorrect.
>
> This series was tested, along with mtk-regulator-coupler [1], on
> Chromebooks with different SoCs (MT8183, MT8192, MT8195*), resulting
> in fully working GPU DVFS with the Panfrost driver.
>
> [1]: https://patchwork.kernel.org/project/linux-mediatek/patch/20220628120224.81180-1-angelogioacchino.delregno@collabora.com/
>
> * MT8195 does not require mtk-regulator-coupler. This series, along
> with [1], are required to perform GPU DVFS also on non-Chromebook SoCs.
>
> Changes in v3:
> - Clarified commit description in patch [05/10]
>
> Changes in v2:
> - Added comment in clk-mt8195-topckgen to keep the mfg parents
> documented after removal, as suggested by Chen-Yu
>
> AngeloGioacchino Del Regno (6):
> clk: mediatek: clk-mt8195-mfg: Reparent mfg_bg3d and propagate rate
> changes
> clk: mediatek: clk-mt8195-topckgen: Register mfg_ck_fast_ref as
> generic mux
> clk: mediatek: clk-mt8195-topckgen: Add GPU clock mux notifier
> clk: mediatek: clk-mt8195-topckgen: Drop univplls from mfg mux parents
> clk: mediatek: clk-mt8192-mfg: Propagate rate changes to parent
> clk: mediatek: clk-mt8192: Add clock mux notifier for mfg_pll_sel
>
> Chen-Yu Tsai (4):
> arm64: dts: mt8183: Fix Mali GPU clock
> clk: mediatek: mt8183: mfgcfg: Propagate rate changes to parent
> clk: mediatek: mux: add clk notifier functions
> clk: mediatek: mt8183: Add clk mux notifier for MFG mux
I've queued all the clk patches up here [1] and will send a pull request
to the clock maintainer later this week.
The dts patch needs to go through the soc tree.
ChenYu
[1] https://git.kernel.org/pub/scm/linux/kernel/git/wens/linux.git/log/?h=clk-mtk-for-6.1
More information about the linux-arm-kernel
mailing list