Skip to content

Instantly share code, notes, and snippets.

@kainz
Created November 24, 2018 11:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kainz/658a4e1b00031113075d9452c931db64 to your computer and use it in GitHub Desktop.
Save kainz/658a4e1b00031113075d9452c931db64 to your computer and use it in GitHub Desktop.
#!/bin/bash
set -e
restoreboot=0
if [ "$1" == "restoreboot" ]; then
restoreboot=1
fi
name="pci3 asus rx580 4gb" #card4 / ellesmere
pcipath="/sys/devices/pci0000:00/0000:00:1b.4/0000:03:00.0"
boottblname="${pcipath##/sys/devices/}"
boottblname="/run/${boottblname//\//,}"
cd $pcipath
echo "$name - $pcipath"
echo "$pcipath boot table"
cat pp_od_clk_voltage
if [ \! -e "$boottblname" ]; then cat pp_table > "$boottblname"; fi
echo manual > power_dpm_force_performance_level
for i in $(seq 2 7); do echo s $i 1000 770 > pp_od_clk_voltage; done
for i in 2; do echo m $i 2000 870 > pp_od_clk_voltage; done
echo c > pp_od_clk_voltage
echo 4 > pp_power_profile_mode
for i in hwmon/hwmon*; do
echo -n $i:
echo 1 > $i/pwm1_enable
cat $i/pwm1_enable
echo 189 > $i/pwm1
echo -n $i-pwm:
cat $i/pwm1
done
cat pp_od_clk_voltage
echo "$name set"
name="pci9 asus rx580 4gb" #card4 / ellesmere
pcipath="/sys/devices/pci0000:00/0000:00:1c.7/0000:09:00.0"
boottblname="${pcipath##/sys/devices/}"
boottblname="/run/${boottblname//\//,}"
cd $pcipath
echo "$name - $pcipath"
echo "$pcipath boot table"
cat pp_od_clk_voltage
if [ \! -e "$boottblname" ]; then cat pp_table > "$boottblname"; fi
echo manual > power_dpm_force_performance_level
for i in $(seq 2 7); do echo s $i 1000 770 > pp_od_clk_voltage; done
for i in 2; do echo m $i 2000 870 > pp_od_clk_voltage; done
echo c > pp_od_clk_voltage
echo 4 > pp_power_profile_mode
for i in hwmon/hwmon*; do
echo -n $i:
echo 1 > $i/pwm1_enable
cat $i/pwm1_enable
echo 189 > $i/pwm1
echo -n $i-pwm:
cat $i/pwm1
done
cat pp_od_clk_voltage
echo "$name set"
name="pci7 asus rx580 4gb" #card3 / ellesmere
pcipath="/sys/devices/pci0000:00/0000:00:1c.5/0000:07:00.0/"
boottblname="${pcipath##/sys/devices/}"
boottblname="/run/${boottblname//\//,}"
cd $pcipath
echo "$name - $pcipath"
echo "$pcipath boot table"
cat pp_od_clk_voltage
if [ \! -e "$boottblname" ]; then cat pp_table > "$boottblname"; fi
echo manual > power_dpm_force_performance_level
for i in $(seq 2 7); do echo s $i 950 770 > pp_od_clk_voltage; done
for i in 2; do echo m $i 1900 770 > pp_od_clk_voltage; done
echo c > pp_od_clk_voltage
echo 4 > pp_power_profile_mode
for i in hwmon/hwmon*; do
echo -n $i:
echo 1 > $i/pwm1_enable
cat $i/pwm1_enable
echo 189 > $i/pwm1
echo -n $i-pwm:
cat $i/pwm1
done
cat pp_od_clk_voltage
echo "$name set"
name="pci2 r9 380 msi tonga" # card2 tonga
pcipath="/sys/devices/pci0000:00/0000:00:1c.4/0000:06:00.0/"
boottblname="${pcipath##/sys/devices/}"
boottblname="/run/${boottblname//\//,}"
cd $pcipath
echo "$name - $pcipath"
echo "$pcipath boot table"
cat pp_od_clk_voltage
if [ \! -e "$boottblname" ]; then cat pp_table > "$boottblname"; fi
echo manual > power_dpm_force_performance_level
for i in $(seq 2 7); do echo s $i 747 900 > pp_od_clk_voltage; done
for i in 3; do echo m $i 1600 900 > pp_od_clk_voltage; done # was 1700
#echo m 3 1600 900 > pp_od_clk_voltage
echo c > pp_od_clk_voltage
echo 4 > pp_power_profile_mode
cat pp_od_clk_voltage
echo "$name set"
# do rx 570 msi ellesmere
name="pci1 rx570 msi ellesmere" # card1 ellesmere
pcipath="/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/"
boottblname="${pcipath##/sys/devices/}"
boottblname="/run/${boottblname//\//,}"
cd $pcipath
echo "$name - $pcipath"
echo "$pcipath boot table"
if [ \! -e "$boottblname" ]; then cat pp_table > "$boottblname"; fi
cat pp_od_clk_voltage
echo manual > power_dpm_force_performance_level
#for i in $(seq 2 6); do echo s $i 1072 1018 > pp_od_clk_voltage; done
#for i in 7; do echo s $i 1200 1018 > pp_od_clk_voltage; done
#for i in $(seq 2 6); do echo s $i 1072 850 > pp_od_clk_voltage; done
#for i in 7; do echo s $i 1200 850 > pp_od_clk_voltage; done
for i in $(seq 2 6); do echo s $i 800 850 > pp_od_clk_voltage; done
for i in 7; do echo s $i 900 850 > pp_od_clk_voltage; done
for i in 2; do echo m $i 2000 900 > pp_od_clk_voltage; done
echo c > pp_od_clk_voltage
echo 4 > pp_power_profile_mode
cat pp_od_clk_voltage
echo "$name set"
exit 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment