Skip to content

Add Mali devfreq changes for platform

The devfreq callback in midgard will directly set the clock through clk_set_rate().

For Mediatek, we have a platform-specific clock setting flow.

The patch from Chromebook adds the support for the platform.

Also add mali-supply property in mt8195-demo.dts gpu node, so that devfreq can adjust the voltage

BUG: AIOT-1129, AIOT-1150

Test: By manually setting DVFS frequency, the voltage of the regulator is changed as well. For value check, please refer to the opp table.

# echo 390000000 > /sys/devices/platform/soc/13000000.mali/devfreq/13000000.mali/userspace/set_freq
# cat /sys/kernel/debug/regulator/Vgpu/13000000.mali-mali/max_uV
575000
# echo 410000000 > /sys/devices/platform/soc/13000000.mali/devfreq/13000000.mali/userspace/set_freq
# cat /sys/kernel/debug/regulator/Vgpu/13000000.mali-mali/max_uV
581250
# echo 431000000 > /sys/devices/platform/soc/13000000.mali/devfreq/13000000.mali/userspace/set_freq
# cat /sys/kernel/debug/regulator/Vgpu/13000000.mali-mali/max_uV
587500
# echo 473000000 > /sys/devices/platform/soc/13000000.mali/devfreq/13000000.mali/userspace/set_freq
# cat /sys/kernel/debug/regulator/Vgpu/13000000.mali-mali/max_uV
600000
# echo 515000000 > /sys/devices/platform/soc/13000000.mali/devfreq/13000000.mali/userspace/set_freq
# cat /sys/kernel/debug/regulator/Vgpu/13000000.mali-mali/max_uV
612500
# echo 556000000 > /sys/devices/platform/soc/13000000.mali/devfreq/13000000.mali/userspace/set_freq
# cat /sys/kernel/debug/regulator/Vgpu/13000000.mali-mali/max_uV
625000
# echo 598000000 > /sys/devices/platform/soc/13000000.mali/devfreq/13000000.mali/userspace/set_freq
# cat /sys/kernel/debug/regulator/Vgpu/13000000.mali-mali/max_uV
637500
# echo 640000000 > /sys/devices/platform/soc/13000000.mali/devfreq/13000000.mali/userspace/set_freq
# cat /sys/kernel/debug/regulator/Vgpu/13000000.mali-mali/max_uV
650000
# echo 670000000 > /sys/devices/platform/soc/13000000.mali/devfreq/13000000.mali/userspace/set_freq
# cat /sys/kernel/debug/regulator/Vgpu/13000000.mali-mali/max_uV
662500
# echo 700000000 > /sys/devices/platform/soc/13000000.mali/devfreq/13000000.mali/userspace/set_freq
# cat /sys/kernel/debug/regulator/Vgpu/13000000.mali-mali/max_uV
675000
# echo 730000000 > /sys/devices/platform/soc/13000000.mali/devfreq/13000000.mali/userspace/set_freq
# cat /sys/kernel/debug/regulator/Vgpu/13000000.mali-mali/max_uV
687500
# echo 760000000 > /sys/devices/platform/soc/13000000.mali/devfreq/13000000.mali/userspace/set_freq
# cat /sys/kernel/debug/regulator/Vgpu/13000000.mali-mali/max_uV
700000
# echo 790000000 > /sys/devices/platform/soc/13000000.mali/devfreq/13000000.mali/userspace/set_freq
# cat /sys/kernel/debug/regulator/Vgpu/13000000.mali-mali/max_uV
712500
# echo 820000000 > /sys/devices/platform/soc/13000000.mali/devfreq/13000000.mali/userspace/set_freq
# cat /sys/kernel/debug/regulator/Vgpu/13000000.mali-mali/max_uV
725000
# echo 850000000 > /sys/devices/platform/soc/13000000.mali/devfreq/13000000.mali/userspace/set_freq
# cat /sys/kernel/debug/regulator/Vgpu/13000000.mali-mali/max_uV
737500
# echo 880000000 > /sys/devices/platform/soc/13000000.mali/devfreq/13000000.mali/userspace/set_freq
# cat /sys/kernel/debug/regulator/Vgpu/13000000.mali-mali/max_uV
750000
Edited by Andy Hsieh

Merge request reports