Hi Roger, Roger Lu <roger.lu@xxxxxxxxxxxx> writes: > The Smart Voltage Scaling(SVS) engine is a piece of hardware > which calculates suitable SVS bank voltages to OPP voltage table. > Then, DVFS driver could apply those SVS bank voltages to PMIC/Buck > when receiving OPP_EVENT_ADJUST_VOLTAGE. > > 1. SVS driver uses OPP adjust event in [1] to update OPP table voltage part. > 2. SVS driver gets thermal/GPU device by node [2][3] and CPU device by get_cpu_device(). > After retrieving subsys device, SVS driver calls device_link_add() to make sure probe/suspend callback priority. > > [1] https://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm.git/commit/?h=opp/linux-next&id=25cb20a212a1f989385dfe23230817e69c62bee5 > [2] https://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm.git/commit/?h=opp/linux-next&id=b325ce39785b1408040d90365a6ab1aa36e94f87 > [3] https://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux.git/commit/?h=v5.16-next/dts64&id=a8168cebf1bca1b5269e8a7eb2626fb76814d6e2 > > Change since v23: > - Change wording from "Mediatek" to "MediaTek" (uppercase T) in mtk-svs.yaml. > - Use cpuidle_pause_and_lock() to prevent system from entering cpuidle instead of applying pm_qos APIs. > - Add kfree() at the end of svs_probe() when encountering probe fail. > - Change MODULE_LICENSE from "GPL v2" to "GPL". > - Add nvmem_cell_put() in error handling when nvmem_cell_read() encounters fail. I also gave you a reviewed-by on v23, but here it is again: Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxxxx> That being said, it would be really nice to see an integration tree where this was all tested on mainline (e.g. v5.17, or v5.18-rc) For example, I can apply this to v5.18-rc2 and boot on my mt8183-pumpkin board, it fails to probe[1] because there is no CCI node in the upstream mt8183.dtsi. I'm assuming this series is also not very useful without the CPUfreq series from Rex, so being able to test this, CCI and CPUfreq together on MT8183 on a mainline kernel would be very helpful. Kevin [1] [ 0.573332] mtk-svs 1100b000.svs: cannot find cci node [ 0.574061] mtk-svs 1100b000.svs: error -ENODEV: svs platform probe fail