#!/bin/bash

usage()
{
echo "Usage: npu_freq_scaling.sh [test_second] [every_freq_stay_second]"
echo "example: npu_freq_test.sh  3600 30"
echo "means npu_freq_test.sh will run 1 hour and every cpu frequency stay 30s"
}

echo "test will run $1 seconds"
echo "every npu frqeucny will stay $2 seconds"

NPU_PATH=/sys/devices/platform/fdab0000.npu/devfreq/fdab0000.npu

unset FREQS
read -a FREQS < $NPU_PATH/available_frequencies
RANDOM=$$$(date +%s)
time_cnt=0

while true; do
  if [ $time_cnt -ge $1 ]
  then
     echo "======TEST SUCCESSFUL, QUIT====="
     exit 0
  fi

  echo userspace > $NPU_PATH/governor
  FREQ=${FREQS[$RANDOM % ${#FREQS[@]} ]}
  echo "set ddr frequency to $FREQ"
  echo ${FREQ} > $NPU_PATH/userspace/set_freq
  sleep $2
  let "time_cnt=$time_cnt+$2"
done

