aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/oxnas
diff options
context:
space:
mode:
authorJohn Crispin <blogic@openwrt.org>2015-11-24 18:29:14 +0000
committerJohn Crispin <blogic@openwrt.org>2015-11-24 18:29:14 +0000
commit28a7ad2f506a4bb3b736b7a74eafebe12d67bb72 (patch)
tree0a1d670897c43eb90f7f79af4ace043269fee11d /target/linux/oxnas
parent3fa9bab32afdb102457dd6b36ff46c2fc8310acc (diff)
downloadmaster-187ad058-28a7ad2f506a4bb3b736b7a74eafebe12d67bb72.tar.gz
master-187ad058-28a7ad2f506a4bb3b736b7a74eafebe12d67bb72.tar.bz2
master-187ad058-28a7ad2f506a4bb3b736b7a74eafebe12d67bb72.zip
oxnas: set irq of usb&sata to cpu1
V2: The KD-20 also has USB 3.0.I modiy the set_irq_affinity usb 2 to set_irq_affinity ?hci_hcd 2 to bind usb 2.0&3.0 to cpu1. Signed-off-by: Shonn Lu <countrysideboy@qq.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@47618 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/oxnas')
-rwxr-xr-xtarget/linux/oxnas/base-files/init.d/set-irq-affinity22
1 files changed, 22 insertions, 0 deletions
diff --git a/target/linux/oxnas/base-files/init.d/set-irq-affinity b/target/linux/oxnas/base-files/init.d/set-irq-affinity
new file mode 100755
index 0000000000..8ab066ff4c
--- /dev/null
+++ b/target/linux/oxnas/base-files/init.d/set-irq-affinity
@@ -0,0 +1,22 @@
+#!/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() {
+ set_irq_affinity ehci_hcd 2
+ set_irq_affinity xhci_hcd 2
+ set_irq_affinity sata 2
+}