OpenWrt – Rev 1

Subversion Repositories:
Rev:
#!/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
}