#./bin/bash #Program: # this script is used to test gfx turbo feature. #History: # First Version max_freq=$(cat /sys/class/drm/card0/gt_max_freq_mhz) min_freq=$(cat /sys/class/drm/card0/gt_min_freq_mhz) cur_rc6_residency1=$(cat /sys/class/drm/card0/power/rc6_residency_ms) getcur_freq() { cur_freq=$(cat /sys/class/drm/card0/gt_cur_freq_mhz) echo "Current GPU device frequecny is: ${cur_freq}" } # get the default currency and frequency and frequency range echo "GPU freqency range is: [${min_freq}~${max_freq}]" getcur_freq echo "Beginning GPU device RC6 residency since boot is: ${cur_rc6_residency1}" xinit & glxgears > log1 & sleep 2 glxgears > log2 & sleep 2 glxgears > log3 & sleep 2 glxgears > log4 & sleep 2 glxgears > log5 & sleep 2 echo "5 glxgears started!" getcur_freq # If the current frequency did not reach max frequency, start glxgear and check the currenct frequency again if [ "${cur_freq}" -lt "${max_freq}" ]; then glxgears > log & getcur_freq; else echo "GPU device successfully increased to the largest frequency!" fi # when current frequency reached max frequecny, kill glxgears, let SUT sleep 5 seconds killall glxgears sleep 5 getcur_freq # check whether current GPU frequency down to minimum GPU frequency if [ "${cur_freq}" -gt "${min_freq}" ]; then sleep 10; getcur_freq; else echo "GPU device successfully decrease to the lowest frequency" fi # Veruft RC6 residency is larger then begining one. then print it out cur_rc6_residency2=$(cat /sys/class/drm/card0/power/rc6_residency_ms) if [ "${cur_rc6_residency2}" -gt "${cur_rc6_residency1}" ]; then echo "Last GPU device RC6 residency since boot is: " ${cur_rc6_residency2}; echo "GPU device RC6 residency is normal after frequency change! " fi pkill x exit 0