|  |  | @ -17,7 +17,9 @@ function two_init { | 
			
		
	
		
		
			
				
					
					|  |  |  |   # Wifi scan |  |  |  |   # Wifi scan | 
			
		
	
		
		
			
				
					
					|  |  |  |   wpa_cli IFNAME=wlan0 SCAN |  |  |  |   wpa_cli IFNAME=wlan0 SCAN | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |   # Restrict Android and other system processes to the first two cores |  |  |  |   # *** shield cores 2-3 *** | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   # android gets two cores | 
			
		
	
		
		
			
				
					
					|  |  |  |   echo 0-1 > /dev/cpuset/background/cpus |  |  |  |   echo 0-1 > /dev/cpuset/background/cpus | 
			
		
	
		
		
			
				
					
					|  |  |  |   echo 0-1 > /dev/cpuset/system-background/cpus |  |  |  |   echo 0-1 > /dev/cpuset/system-background/cpus | 
			
		
	
		
		
			
				
					
					|  |  |  |   echo 0-1 > /dev/cpuset/foreground/cpus |  |  |  |   echo 0-1 > /dev/cpuset/foreground/cpus | 
			
		
	
	
		
		
			
				
					|  |  | @ -27,7 +29,8 @@ function two_init { | 
			
		
	
		
		
			
				
					
					|  |  |  |   # openpilot gets all the cores |  |  |  |   # openpilot gets all the cores | 
			
		
	
		
		
			
				
					
					|  |  |  |   echo 0-3 > /dev/cpuset/app/cpus |  |  |  |   echo 0-3 > /dev/cpuset/app/cpus | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |   # set up governors |  |  |  |   # *** set up governors *** | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |   # +50mW offroad, +500mW onroad for 30% more RAM bandwidth |  |  |  |   # +50mW offroad, +500mW onroad for 30% more RAM bandwidth | 
			
		
	
		
		
			
				
					
					|  |  |  |   echo "performance" > /sys/class/devfreq/soc:qcom,cpubw/governor |  |  |  |   echo "performance" > /sys/class/devfreq/soc:qcom,cpubw/governor | 
			
		
	
		
		
			
				
					
					|  |  |  |   echo 1056000 > /sys/class/devfreq/soc:qcom,m4m/max_freq |  |  |  |   echo 1056000 > /sys/class/devfreq/soc:qcom,m4m/max_freq | 
			
		
	
	
		
		
			
				
					|  |  | @ -43,6 +46,8 @@ function two_init { | 
			
		
	
		
		
			
				
					
					|  |  |  |   # /sys/class/devfreq/soc:qcom,mincpubw is the only one left at "powersave" |  |  |  |   # /sys/class/devfreq/soc:qcom,mincpubw is the only one left at "powersave" | 
			
		
	
		
		
			
				
					
					|  |  |  |   # it seems to gain nothing but a wasted 500mW |  |  |  |   # it seems to gain nothing but a wasted 500mW | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   # *** set up IRQ affinities *** | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |   # Collect RIL and other possibly long-running I/O interrupts onto CPU 1 |  |  |  |   # Collect RIL and other possibly long-running I/O interrupts onto CPU 1 | 
			
		
	
		
		
			
				
					
					|  |  |  |   echo 1 > /proc/irq/78/smp_affinity_list # qcom,smd-modem (LTE radio) |  |  |  |   echo 1 > /proc/irq/78/smp_affinity_list # qcom,smd-modem (LTE radio) | 
			
		
	
		
		
			
				
					
					|  |  |  |   echo 1 > /proc/irq/33/smp_affinity_list # ufshcd (flash storage) |  |  |  |   echo 1 > /proc/irq/33/smp_affinity_list # ufshcd (flash storage) | 
			
		
	
	
		
		
			
				
					|  |  | @ -53,6 +58,13 @@ function two_init { | 
			
		
	
		
		
			
				
					
					|  |  |  |   [ -d "/proc/irq/733" ] && echo 3 > /proc/irq/733/smp_affinity_list # USB for LeEco |  |  |  |   [ -d "/proc/irq/733" ] && echo 3 > /proc/irq/733/smp_affinity_list # USB for LeEco | 
			
		
	
		
		
			
				
					
					|  |  |  |   [ -d "/proc/irq/736" ] && echo 3 > /proc/irq/736/smp_affinity_list # USB for OP3T |  |  |  |   [ -d "/proc/irq/736" ] && echo 3 > /proc/irq/736/smp_affinity_list # USB for OP3T | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   # GPU and camera get cpu 2 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   CAM_IRQS="177 178 179 180 181 182 183 184 185 186 192" | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   for irq in $CAM_IRQS; do | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     echo 2 > /proc/irq/$irq/smp_affinity_list | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   done | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   echo 2 > /proc/irq/193/smp_affinity_list # GPU | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |   # Check for NEOS update |  |  |  |   # Check for NEOS update | 
			
		
	
		
		
			
				
					
					|  |  |  |   if [ $(< /VERSION) != "$REQUIRED_NEOS_VERSION" ]; then |  |  |  |   if [ $(< /VERSION) != "$REQUIRED_NEOS_VERSION" ]; then | 
			
		
	
		
		
			
				
					
					|  |  |  |     if [ -f "$DIR/scripts/continue.sh" ]; then |  |  |  |     if [ -f "$DIR/scripts/continue.sh" ]; then | 
			
		
	
	
		
		
			
				
					|  |  | 
 |