bunch of gpu config (#23932)

Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: aeb98b3937
taco
Adeeb Shihadeh 3 years ago committed by GitHub
parent d44266bed4
commit c00256ca1d
  1. 31
      selfdrive/hardware/tici/hardware.py

@ -54,6 +54,11 @@ NetworkStrength = log.DeviceState.NetworkStrength
MM_MODEM_ACCESS_TECHNOLOGY_UMTS = 1 << 5 MM_MODEM_ACCESS_TECHNOLOGY_UMTS = 1 << 5
MM_MODEM_ACCESS_TECHNOLOGY_LTE = 1 << 14 MM_MODEM_ACCESS_TECHNOLOGY_LTE = 1 << 14
def sudo_write(val, path):
os.system(f"sudo su -c 'echo {val} > {path}'")
class Tici(HardwareBase): class Tici(HardwareBase):
@cached_property @cached_property
def bus(self): def bus(self):
@ -390,18 +395,16 @@ class Tici(HardwareBase):
if not powersave_enabled: if not powersave_enabled:
self.amplifier.initialize_configuration() self.amplifier.initialize_configuration()
# *** CPU config ***
# offline big cluster, leave core 4 online for boardd # offline big cluster, leave core 4 online for boardd
for i in range(5, 8): for i in range(5, 8):
# TODO: fix permissions with udev
val = "0" if powersave_enabled else "1" val = "0" if powersave_enabled else "1"
os.system(f"sudo su -c 'echo {val} > /sys/devices/system/cpu/cpu{i}/online'") sudo_write(val, f"/sys/devices/system/cpu/cpu{i}/online")
for n in ('0', '4'): for n in ('0', '4'):
gov = 'userspace' if powersave_enabled else 'performance' gov = 'ondemand' if powersave_enabled else 'performance'
os.system(f"sudo su -c 'echo {gov} > /sys/devices/system/cpu/cpufreq/policy{n}/scaling_governor'") sudo_write(gov, f"/sys/devices/system/cpu/cpufreq/policy{n}/scaling_governor")
if powersave_enabled:
os.system(f"sudo su -c 'echo 979200 > /sys/devices/system/cpu/cpufreq/policy{n}/scaling_setspeed'")
def get_gpu_usage_percent(self): def get_gpu_usage_percent(self):
try: try:
@ -416,9 +419,19 @@ class Tici(HardwareBase):
# Allow thermald to write engagement status to kmsg # Allow thermald to write engagement status to kmsg
os.system("sudo chmod a+w /dev/kmsg") os.system("sudo chmod a+w /dev/kmsg")
# *** GPU config ***
sudo_write("0", "/sys/class/kgsl/kgsl-3d0/min_pwrlevel")
sudo_write("0", "/sys/class/kgsl/kgsl-3d0/max_pwrlevel")
sudo_write("1", "/sys/class/kgsl/kgsl-3d0/force_bus_on")
sudo_write("1", "/sys/class/kgsl/kgsl-3d0/force_clk_on")
sudo_write("1", "/sys/class/kgsl/kgsl-3d0/force_rail_on")
sudo_write("1000000", "/sys/class/kgsl/kgsl-3d0/idle_timer")
sudo_write("performance", "/sys/class/kgsl/kgsl-3d0/devfreq/governor")
# setup governors # setup governors
os.system("sudo su -c 'echo performance > /sys/class/devfreq/soc:qcom,memlat-cpu0/governor'") sudo_write("performance", "/sys/class/devfreq/soc:qcom,cpubw/governor")
os.system("sudo su -c 'echo performance > /sys/class/devfreq/soc:qcom,memlat-cpu4/governor'") sudo_write("performance", "/sys/class/devfreq/soc:qcom,memlat-cpu0/governor")
sudo_write("performance", "/sys/class/devfreq/soc:qcom,memlat-cpu4/governor")
def get_networks(self): def get_networks(self):
r = {} r = {}

Loading…
Cancel
Save