Greetings,
I'd like to know the different recommended ways to quickly check and, if possible, set the current frequency of the Mali GPU used by a Linux kernel patched with the Mali kernel-space drivers, once the system is booted of course. The reason is that I'd like to know if my installation is correct and if the GPU is running at its highest frequency when needed.
For reference, I'm running a linux 4.9-rc4 system patched with the latest Mali Kernel Driver, on a RK3288 board.
Best regards
Easiest way to check is to look in sysfs at the mali clock frequency ("clk_mali" specified in the device tree file), but make sure to check also the voltage regulator setting ("mali-supply" in device tree file), see it matches a setting from the dt "operating-points" bindings (I am assuming you have dt bindings).
Harder to set from userspace, if you don't add some code to the driver. I did not look at r14, but in r13 you had to add the "transition" tables to specify what "when needed" means for each frequency step. Probably r14 is the same.
Easiest (no extra code) for me was to use devfreq. It allowed me to use the "simple_ondemand" devfreq governor for the lowest frequency, and the "performance" devfreq governor for highest frequency (but of course this means I had only 2 frequencies I could change to )
The DVFS integration isn't part of the core Mali DDK we provide; it's added by the chipset manufacturer depending on the analogue properties of their system, and their power controller / clock generation.
HTH, Pete