Hi
I recently test CPUFreq feature based on SDK BSP36 image and enabled the following kernel configs:
CONFIG_CPU_FREQ=y
CONFIG_ARM_SCMI_CPUFREQ=y
But, it seems that the cpu frequency still could not be set, and the logs as following:
root@s32g399ardb3:~# cd /sys/devices/system/cpu/cpufreq/policy0
root@s32g399ardb3:/sys/devices/system/cpu/cpufreq/policy0# cat cpuinfo_cur_freq
1300000
root@s32g399ardb3:/sys/devices/system/cpu/cpufreq/policy0# cat scaling_available_frequencies
48148 54166 61904 72222 86666 104000 136842 200000 371428 1300000
root@s32g399ardb3:/sys/devices/system/cpu/cpufreq/policy0# cat scaling_governor
schedutil
root@s32g399ardb3:/sys/devices/system/cpu/cpufreq/policy0# cat scaling_available_governors
performance schedutil
root@s32g399ardb3:/sys/devices/system/cpu/cpufreq/policy0# echo performance scaling_governor
performance scaling_governor
root@s32g399ardb3:/sys/devices/system/cpu/cpufreq/policy0# cat scaling_available_governors
performance schedutil
root@s32g399ardb3:/sys/devices/system/cpu/cpufreq/policy0# cat scaling_governor
schedutil
root@s32g399ardb3:/sys/devices/system/cpu/cpufreq/policy0# echo 371428 scaling_setspeed
371428 scaling_setspeed
root@s32g399ardb3:/sys/devices/system/cpu/cpufreq/policy0# cat cpuinfo_cur_freq
1300000
root@s32g399ardb3:/sys/devices/system/cpu/cpufreq/policy0# uname -a
Linux s32g399ardb3 5.15.85-rt55+g9133b22fcbe1 #1 SMP PREEMPT Fri Mar 24 11:06:44 UTC 2023 aarch64 aarch64 aarch64 GNU/Linux
root@s32g399ardb3:/sys/devices/system/cpu/cpufreq/policy0# zcat /proc/config.gz | grep CONFIG_CPU_FREQ
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_GOV_ATTR_SET=y
# CONFIG_CPU_FREQ_STAT is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=y
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_GOV_USERSPACE is not set
# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set
# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
root@s32g399ardb3:/sys/devices/system/cpu/cpufreq/policy0# zcat /proc/config.gz | grep CONFIG_ARM_SCMI_CPUFREQ
CONFIG_ARM_SCMI_CPUFREQ=y
root@s32g399ardb3:/sys/devices/system/cpu/cpufreq/policy0#
The "scaling_governor" could not be set to performance, and the "scaling_setspeed" could not be set to other values too.
And the test steps I used all followed the "23.4 Dynamic Frequency Scaling" section of "Linux BSP 36.0 User Manual for S32G3 platforms"
Would you please help to confirm the issue and give a fix or workaround for it?
Thanks,
Zhantao
解決済! 解決策の投稿を見る。
Hi @hittzt,
Thanks for reaching out to us.
The procedure you followed was correct but there is a need for correction in the last two commands:
1. need to select the governor from the available governor using the below command:
echo (governor_name) > scaling_governor
2. Set scaling frequency from the available frequencies using the below command:
echo (frequency) > scaling_setspeed
Please find the attached screenshot for reference.
Hope this helps you.
Thanks,
Mayank s Patel
Hi @hittzt,
Thanks for reaching out to us.
The procedure you followed was correct but there is a need for correction in the last two commands:
1. need to select the governor from the available governor using the below command:
echo (governor_name) > scaling_governor
2. Set scaling frequency from the available frequencies using the below command:
echo (frequency) > scaling_setspeed
Please find the attached screenshot for reference.
Hope this helps you.
Thanks,
Mayank s Patel
Thanks for your reply.
Now the issue has been fixed, you are right, the command is wrong in my description, and the USERSPACE govner kernel config should be enabled too for the CPUFreq setting.
Thanks,
Zhantao