On Tue, Sep 27, 2022 at 6:11 PM AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx> 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@xxxxxxxxxxxxx/ > > * 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