summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLucas Wei <lucaswei@google.com>2021-05-21 10:25:46 +0800
committerLucas Wei <lucaswei@google.com>2021-05-21 10:25:46 +0800
commit85564eaabf02749260b6e6c57daa4dd7767aa085 (patch)
treee8d30415c0c3ca0c2e0a2cc19e649a0aabdd1a4d
parent47fba5cbdc8b2791e6677cdca75483a9f2d3e079 (diff)
parentf2d8a201653c2404f312c76f85a35234cd8f350e (diff)
downloaddata-kernel-android-msm-redbull-4.19-android12-v2-beta-2.tar.gz
Bug: 187909050 Signed-off-by: Lucas Wei <lucaswei@google.com> Change-Id: I77c6fcbef71d5da5866058e1b9f3f2ff23bff6f1
-rw-r--r--eth-rps/Android.mk16
-rw-r--r--eth-rps/emac_rps_settings.sh34
2 files changed, 50 insertions, 0 deletions
diff --git a/eth-rps/Android.mk b/eth-rps/Android.mk
new file mode 100644
index 0000000..4bb90f4
--- /dev/null
+++ b/eth-rps/Android.mk
@@ -0,0 +1,16 @@
+#This makefile is only to compile EMAC for AUTO platform
+
+ifeq ($(TARGET_BOARD_AUTO),true)
+LOCAL_PATH := $(call my-dir)
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := emac_rps_settings.sh
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := ETC
+LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
+LOCAL_SRC_FILES := emac_rps_settings.sh
+include $(BUILD_PREBUILT)
+
+endif
+
+
diff --git a/eth-rps/emac_rps_settings.sh b/eth-rps/emac_rps_settings.sh
new file mode 100644
index 0000000..6fd84e2
--- /dev/null
+++ b/eth-rps/emac_rps_settings.sh
@@ -0,0 +1,34 @@
+#!/vendor/bin/sh
+#Copyright (c) 2019, 2021, The Linux Foundation. All rights reserved.
+#
+#This program is free software; you can redistribute it and/or modify
+#it under the terms of the GNU General Public License version 2 and
+#only version 2 as published by the Free Software Foundation.
+#
+#This program is distributed in the hope that it will be useful,
+#but WITHOUT ANY WARRANTY; without even the implied warranty of
+#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+#GNU General Public License for more details.
+#
+#
+plateform_hana=1
+plateform_talos=2
+plateform_poipu=3
+irq_num=`cat /proc/interrupts | grep -i DWC_ETH_QOS| grep -i gic | awk {'print $1'} | awk -F : {'print $1'}`;
+echo irqnum=$irq_num;
+case $1 in
+ $plateform_hana)
+ echo $2 > /sys/class/net/eth0/queues/rx-0/rps_cpus;
+ ;;
+ $plateform_poipu)
+ echo $2 > /sys/class/net/eth0/queues/rx-0/rps_cpus;
+ ;;
+ $plateform_talos)
+ # Here 08 is forcing ISR to CPU 3
+ echo 08 > /proc/irq/$irq_num/smp_affinity;
+ echo $2 > /sys/class/net/eth0/queues/rx-0/rps_cpus;
+ ;;
+ *)
+ echo "Invalid plateform $1";
+ ;;
+esac