aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ramips/mt7621
diff options
context:
space:
mode:
authorDENG Qingfang <dengqf6@mail2.sysu.edu.cn>2019-12-14 00:24:39 +0800
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>2020-01-03 00:08:35 +0100
commit113e51f79aa4bb44b436f1f103f9bb934806eff9 (patch)
tree44ffffaf4cd8d2be68c8423c067b666eb2df690d /target/linux/ramips/mt7621
parentf943d846154c5297228511a83f1e13edba039e57 (diff)
downloadupstream-113e51f79aa4bb44b436f1f103f9bb934806eff9.tar.gz
upstream-113e51f79aa4bb44b436f1f103f9bb934806eff9.tar.bz2
upstream-113e51f79aa4bb44b436f1f103f9bb934806eff9.zip
ramips: move set-irq-affinity script to mt7621 subtarget
Move the set-irq-affinity script to mt7621 because it is the only SMP subtarget. Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
Diffstat (limited to 'target/linux/ramips/mt7621')
-rwxr-xr-xtarget/linux/ramips/mt7621/base-files/etc/init.d/set-irq-affinity31
1 files changed, 31 insertions, 0 deletions
diff --git a/target/linux/ramips/mt7621/base-files/etc/init.d/set-irq-affinity b/target/linux/ramips/mt7621/base-files/etc/init.d/set-irq-affinity
new file mode 100755
index 0000000000..9a3afefa5a
--- /dev/null
+++ b/target/linux/ramips/mt7621/base-files/etc/init.d/set-irq-affinity
@@ -0,0 +1,31 @@
+#!/bin/sh /etc/rc.common
+
+START=99
+
+get_irq() {
+ local name="$1"
+ grep -m 1 "$name" /proc/interrupts | cut -d: -f1 | sed 's, *,,'
+}
+
+set_irq_affinity() {
+ local name="$1"
+ local val="$2"
+ local irq="$(get_irq "$name")"
+ [ -n "$irq" ] || return
+ echo "$val" > "/proc/irq/$irq/smp_affinity"
+}
+
+start() {
+ if grep -q 'processor.*: 2' /proc/cpuinfo; then
+ mask1=4
+ mask2=8
+ elif grep -q 'processor.*: 1' /proc/cpuinfo; then
+ mask1=2
+ mask2=2
+ else
+ return
+ fi
+
+ set_irq_affinity mt76x2e $mask1
+ set_irq_affinity mt7603e $mask2
+}