How to Change Clock Frequency on GPU?

Hi. We want to try changing the clock frequency numbers for the gpu in the device tree (msm8996.dtsi). We see this for the gpu:
/* This is a safe speed for bring up in all bin levels.
* This isn’t the fastest the chip can go, but we can
* get there eventually */
qcom,gpu-pwrlevels {
compatible = “qcom,gpu-pwrlevels”;
qcom,gpu-pwrlevel@0 {
qcom,gpu-freq = <510000000>;
qcom,gpu-pwrlevel@1 {
qcom,gpu-freq = <27000000>;

What is the range of values we can use. Is it a multiple of some number? Is the one frequency number(510000000) the upper boundary and the other number(270000000) a lower boundary?

Also, can someone tell me if the GPU is dynamically changing clock speed? Can we read the GPU clock speed somehow?


No sure which tree/branch you’re looking at, but supported frequencies are listed in the operating table: linux/msm8996.dtsi at master · torvalds/linux · GitHub

You can remove operating points you don’t want to reach.

However I’m not sure this table is actually used in the adreno 5xx driver (cf drivers/gpu/drm/msm/adreno).

Thanks @Loic, I will try those. Do you know of a tool or file location that I can use to read the current GPU frequency? does the frequency change?