mirror of
https://github.com/Evolution-X-Devices/device_xiaomi_sapphire
synced 2026-01-27 14:25:57 +00:00
sapphire: rootdir: Dynamically set IRQ affinity for KGSL and MSM_DRM
- Introduce a new shell script to set IRQ affinity, since different kernels can have different IRQ numbers. Change-Id: I61d2350e6b40f096714148c568489579bc4d2371 Co-Authored-By: Alex Naidis <alex.naidis@paranoidandroid.co> Co-Authored-By: Jake Weinstein <jake@aospa.co>
This commit is contained in:
@@ -318,6 +318,7 @@ PRODUCT_PACKAGES += \
|
||||
init.qti.early_init.sh \
|
||||
init.qti.kernel.sh \
|
||||
init.qti.write.sh \
|
||||
init.sapphire_perf.sh \
|
||||
system_dlkm_modprobe.sh \
|
||||
vendor_modprobe.sh
|
||||
|
||||
|
||||
@@ -74,6 +74,12 @@ sh_binary {
|
||||
vendor: true,
|
||||
}
|
||||
|
||||
sh_binary {
|
||||
name: "init.sapphire_perf.sh",
|
||||
src: "bin/init.sapphire_perf.sh",
|
||||
vendor: true,
|
||||
}
|
||||
|
||||
sh_binary {
|
||||
name: "init.kernel.post_boot-bengal.sh",
|
||||
src: "bin/init.kernel.post_boot-bengal.sh",
|
||||
|
||||
25
rootdir/bin/init.sapphire_perf.sh
Normal file
25
rootdir/bin/init.sapphire_perf.sh
Normal file
@@ -0,0 +1,25 @@
|
||||
#!/vendor/bin/sh
|
||||
#
|
||||
# Copyright (C) 2024 Paranoid Android
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
function write_irq_affinity() {
|
||||
# Arguments:
|
||||
# $1 = irq name
|
||||
# $2 = cpu id
|
||||
irq_dir="$(dirname /proc/irq/*/$1)"
|
||||
[ -d "$irq_dir" ] && echo $2 > "${irq_dir}/smp_affinity_list"
|
||||
}
|
||||
|
||||
# IRQ Tuning
|
||||
# kgsl_3d0_irq -> CPU 1
|
||||
# msm_drm -> CPU 2
|
||||
write_irq_affinity kgsl_3d0_irq 1
|
||||
write_irq_affinity msm_drm 2
|
||||
|
||||
# IRQ Tuning for pre-5.4 targets
|
||||
write_irq_affinity kgsl-3d0 1
|
||||
|
||||
# IRQ Tuning for MDSS targets
|
||||
write_irq_affinity MDSS 2
|
||||
@@ -6,6 +6,8 @@ on property:sys.boot_completed=1
|
||||
copy_per_line /dev/cpuctl/tasks /dev/cpuctl/system/tasks
|
||||
|
||||
on property:vendor.post_boot.parsed=1
|
||||
exec u:r:vendor_qti_init_shell:s0 -- /vendor/bin/init.sapphire_perf.sh
|
||||
|
||||
# cpuset parameters
|
||||
write /dev/cpuset/background/cpus 0-1
|
||||
write /dev/cpuset/system-background/cpus 0-3
|
||||
|
||||
3
sepolicy/vendor/file_contexts
vendored
3
sepolicy/vendor/file_contexts
vendored
@@ -27,6 +27,9 @@
|
||||
# Health
|
||||
/vendor/bin/hw/android\.hardware\.health-service\.xiaomi u:object_r:hal_health_default_exec:s0
|
||||
|
||||
# Init
|
||||
/(vendor|system/vendor)/bin/init\.sapphire_perf\.sh u:object_r:vendor_qti_init_shell_exec:s0
|
||||
|
||||
# Mac Address
|
||||
/data/vendor/mac_addr(/.*)? u:object_r:vendor_mac_vendor_data_file:s0
|
||||
/vendor/bin/nv_mac u:object_r:vendor_wcnss_service_exec:s0
|
||||
|
||||
2
sepolicy/vendor/vendor_qti_init_shell.te
vendored
2
sepolicy/vendor/vendor_qti_init_shell.te
vendored
@@ -1,3 +1,5 @@
|
||||
allow vendor_qti_init_shell proc:dir r_dir_perms;
|
||||
allow vendor_qti_init_shell proc:file rw_file_perms;
|
||||
allow vendor_qti_init_shell configfs:dir { add_name create write };
|
||||
# NECESSARY?
|
||||
allow vendor_qti_init_shell configfs:dir setattr;
|
||||
|
||||
Reference in New Issue
Block a user