xref: /OK3568_Linux_fs/debian/overlay-debug/rockchip-test/npu2/npu_freq_scaling.sh (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1#!/bin/bash
2
3usage()
4{
5echo "Usage: npu_freq_scaling.sh [test_second] [every_freq_stay_second]"
6echo "example: npu_freq_test.sh  3600 30"
7echo "means npu_freq_test.sh will run 1 hour and every cpu frequency stay 30s"
8}
9
10echo "test will run $1 seconds"
11echo "every npu frqeucny will stay $2 seconds"
12
13NPU_PATH=/sys/devices/platform/*.npu/devfreq/*.npu
14
15unset FREQS
16read -a FREQS < $NPU_PATH/available_frequencies
17RANDOM=$$$(date +%s)
18time_cnt=0
19
20while true; do
21  if [ $time_cnt -ge $1 ]
22  then
23     echo "======TEST SUCCESSFUL, QUIT====="
24     exit 0
25  fi
26
27  echo userspace > $NPU_PATH/governor
28  FREQ=${FREQS[$RANDOM % ${#FREQS[@]} ]}
29  echo "set ddr frequency to $FREQ"
30  echo ${FREQ} > $NPU_PATH/userspace/set_freq
31  sleep $2
32  let "time_cnt=$time_cnt+$2"
33done
34
35