diff options
author | DENG Qingfang <dengqf6@mail2.sysu.edu.cn> | 2020-06-04 12:00:44 +0800 |
---|---|---|
committer | Petr Štetiar <ynezz@true.cz> | 2020-07-11 15:15:04 +0200 |
commit | 23de93a5216bf1c24c4e4c71f6cad4455c3cfa2c (patch) | |
tree | 78f62ba431f81d954ccc18c71ddf72d24198a9b6 | |
parent | ff8b8fee890dae345d6a5189a8633214f6a4da3a (diff) | |
download | openwrt-23de93a5216bf1c24c4e4c71f6cad4455c3cfa2c.tar.gz openwrt-23de93a5216bf1c24c4e4c71f6cad4455c3cfa2c.tar.bz2 openwrt-23de93a5216bf1c24c4e4c71f6cad4455c3cfa2c.zip |
ramips: mt7621: refactor set affinity script
The current one only looks for mt76x2e and mt7603e, and
does not work for 2 or more same Wi-Fi chips.
Refactor the script to cover those cases.
Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
-rwxr-xr-x | target/linux/ramips/mt7621/base-files/etc/init.d/set-irq-affinity | 26 |
1 files changed, 7 insertions, 19 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 index 9a3afefa5a..c118d928a7 100755 --- 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 @@ -2,30 +2,18 @@ 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 + mask=4 elif grep -q 'processor.*: 1' /proc/cpuinfo; then - mask1=2 - mask2=2 + mask=2 else return fi - set_irq_affinity mt76x2e $mask1 - set_irq_affinity mt7603e $mask2 + for irq in $(grep "mt76..e" /proc/interrupts | cut -d: -f1 | sed 's, *,,') + do + echo "$mask" > "/proc/irq/$irq/smp_affinity" + [ $mask = 4 ] && mask=8 + done } |