Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • clo/qyocto/oss/system/recipes/recipes-nss
1 result
Show changes
Commits on Source (7)
......@@ -5,7 +5,7 @@ inherit module
PKG_NAME = "qca-nss-fw-hk"
PKG_BRANCH = "nss"
PKG_VERSION = "149"
PKG_VERSION = "156"
PKG_RELEASE = "1"
NSS_VER = "12.2"
......
......@@ -16,67 +16,98 @@
#
configure_irq_affinity() {
echo configuring core mask $1 for PPE-DS node 1
echo configuring core mask $2 for PPE-DS node 2
echo configuring core mask $3 for PPE-DS node 3
[ -f /tmp/sysinfo/board_name ] && {
board=ap$(cat /tmp/sysinfo/board_name | awk -F 'ap' '{print$2}')
}
# For IRQ to core mapping
case "$board" in ap-al02-c4)
#For RDP 433
irq_num=`grep edma_ppeds_rxfill_0 /proc/interrupts | cut -d ':' -f 1 | tr -d ' '`
[ -n "$irq_rps" ] && echo $1 > /proc/irq/$irq_num/smp_affinity
irq_num=`grep edma_ppeds_rxfill_1 /proc/interrupts | cut -d ':' -f 1 | tr -d ' '`
[ -n "$irq_rps" ] && echo $2 > /proc/irq/$irq_num/smp_affinity
irq_num=`grep edma_ppeds_rxfill_2 /proc/interrupts | cut -d ':' -f 1 | tr -d ' '`
[ -n "$irq_rps" ] && echo $3 > /proc/irq/$irq_num/smp_affinity
irq_num=`grep edma_ppeds_txcmpl_0 /proc/interrupts | cut -d ':' -f 1 | tr -d ' '`
[ -n "$irq_rps" ] && echo $1 > /proc/irq/$irq_num/smp_affinity
irq_num=`grep edma_ppeds_txcmpl_1 /proc/interrupts | cut -d ':' -f 1 | tr -d ' '`
[ -n "$irq_rps" ] && echo $2 > /proc/irq/$irq_num/smp_affinity
irq_num=`grep edma_ppeds_txcmpl_2 /proc/interrupts | cut -d ':' -f 1 | tr -d ' '`
[ -n "$irq_rps" ] && echo $3 > /proc/irq/$irq_num/smp_affinity
irq_num=`grep pci1_ppe_wbm_rel /proc/interrupts | cut -d ':' -f 1 | tr -d ' '`
[ -n "$irq_rps" ] && echo $1 > /proc/irq/$irq_num/smp_affinity
irq_num=`grep pci2_ppe_wbm_rel /proc/interrupts | cut -d ':' -f 1 | tr -d ' '`
[ -n "$irq_rps" ] && echo $2 > /proc/irq/$irq_num/smp_affinity
irq_num=`grep pci3_ppe_wbm_rel /proc/interrupts | cut -d ':' -f 1 | tr -d ' '`
[ -n "$irq_rps" ] && echo $3 > /proc/irq/$irq_num/smp_affinity
irq_rps=`grep pci1_ppe2tcl /proc/interrupts | cut -d ':' -f 1 | tr -d ' '`
[ -n "$irq_rps" ] && echo $1 > /proc/irq/$irq_rps/smp_affinity
irq_rps=`grep pci2_ppe2tcl /proc/interrupts | cut -d ':' -f 1 | tr -d ' '`
[ -n "$irq_rps" ] && echo $2 > /proc/irq/$irq_rps/smp_affinity
irq_rps=`grep pci3_ppe2tcl /proc/interrupts | cut -d ':' -f 1 | tr -d ' '`
[ -n "$irq_rps" ] && echo $3 > /proc/irq/$irq_rps/smp_affinity
irq_rps=`grep pci1_reo2ppe /proc/interrupts | cut -d ':' -f 1 | tr -d ' '`
[ -n "$irq_rps" ] && echo $1 > /proc/irq/$irq_rps/smp_affinity
irq_rps=`grep pci2_reo2ppe /proc/interrupts | cut -d ':' -f 1 | tr -d ' '`
[ -n "$irq_rps" ] && echo $2 > /proc/irq/$irq_rps/smp_affinity
irq_rps=`grep pci3_reo2ppe /proc/interrupts | cut -d ':' -f 1 | tr -d ' '`
[ -n "$irq_rps" ] && echo $3 > /proc/irq/$irq_rps/smp_affinity
;;
esac
echo " Configured the IRQ affinity for DS mode in $board"
ppeds_nodes=$(cat /proc/interrupts | grep edma_ppeds_rxfill_ | wc -l)
if [ $ppeds_nodes == 0 ]; then
echo " No PPEDS interrupts present"
echo " Board Name: $board"
return
fi
rxfill_interrupts=$(grep edma_ppeds_rxfill /proc/interrupts | cut -d ':' -f 1 | tr -d ' ')
txcmpl_interrupts=$(grep edma_ppeds_txcmpl /proc/interrupts | cut -d ':' -f 1 | tr -d ' ')
rxdesc_interrupts=$(grep edma_ppeds_rxdesc /proc/interrupts | cut -d ':' -f 1 | tr -d ' ')
wbmrel_interrupts=$(grep ppe_wbm_rel /proc/interrupts | cut -d ':' -f 1 | tr -d ' ')
reo2ppe_interrupts=$(grep reo2ppe /proc/interrupts | cut -d ':' -f 1 | tr -d ' ')
ppe2tcl_interrupts=$(grep ppe2tcl /proc/interrupts | cut -d ':' -f 1 | tr -d ' ')
counter=0
for i in $rxfill_interrupts; do
counter=$((counter+1))
if [ $counter == 1 ]; then
echo $1 > /proc/irq/$i/smp_affinity
elif [ $counter == 2 ]; then
echo $2 > /proc/irq/$i/smp_affinity
elif [ $counter == 3 ]; then
echo $3 > /proc/irq/$i/smp_affinity
elif [ $counter == 4 ]; then
echo $4 > /proc/irq/$i/smp_affinity
fi
done
counter=0
for i in $txcmpl_interrupts; do
counter=$((counter+1))
if [ $counter == 1 ]; then
echo $1 > /proc/irq/$i/smp_affinity
elif [ $counter == 2 ]; then
echo $2 > /proc/irq/$i/smp_affinity
elif [ $counter == 3 ]; then
echo $3 > /proc/irq/$i/smp_affinity
elif [ $counter == 4 ]; then
echo $4 > /proc/irq/$i/smp_affinity
fi
done
counter=0
for i in $wbmrel_interrupts; do
counter=$((counter+1))
if [ $counter == 1 ]; then
echo $1 > /proc/irq/$i/smp_affinity
elif [ $counter == 2 ]; then
echo $2 > /proc/irq/$i/smp_affinity
elif [ $counter == 3 ]; then
echo $3 > /proc/irq/$i/smp_affinity
elif [ $counter == 4 ]; then
echo $4 > /proc/irq/$i/smp_affinity
fi
done
counter=0
for i in $reo2ppe_interrupts; do
counter=$((counter+1))
if [ $counter == 1 ]; then
echo $1 > /proc/irq/$i/smp_affinity
elif [ $counter == 2 ]; then
echo $2 > /proc/irq/$i/smp_affinity
elif [ $counter == 3 ]; then
echo $3 > /proc/irq/$i/smp_affinity
elif [ $counter == 4 ]; then
echo $4 > /proc/irq/$i/smp_affinity
fi
done
counter=0
for i in $ppe2tcl_interrupts; do
counter=$((counter+1))
if [ $counter == 1 ]; then
echo $1 > /proc/irq/$i/smp_affinity
elif [ $counter == 2 ]; then
echo $2 > /proc/irq/$i/smp_affinity
elif [ $counter == 3 ]; then
echo $3 > /proc/irq/$i/smp_affinity
elif [ $counter == 4 ]; then
echo $4 > /proc/irq/$i/smp_affinity
fi
done
echo "Configured the IRQ affinity for DS mode in $board"
}
start() {
configure_irq_affinity 4 2 4
configure_irq_affinity 4 2 4 2
}
DESCRIPTION = "Kernel module for NSS PPE-RULE driver"
LICENSE = "ISC"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/${LICENSE};md5=f3b90e78ea0cffb20bf5cca7947a896d"
inherit module
SOC = "${@d.getVar('SOC_FAMILY', d, 1).split(':')[1]}"
SOC_TYPE = "${@d.getVar('SOC', d, 0).split('_')[0]}"
FILESPATH = "${TOPDIR}/../opensource/:"
FILESEXTRAPATHS_prepend := "${THISDIR}/:"
SRC_URI = "file://qca-nss-ppe \
"
PACKAGES += "kernel-module-qca-nss-ppe-rule"
DEPENDS = "virtual/kernel qca-nss-ppe qca-nss-ppe-vp"
S = "${WORKDIR}/qca-nss-ppe/drv/ppe_rule"
PPE_RULE_MAKE_OPTS_${SOC} += "ppe-rule=y \
PPE_RFS_ENABLED=y \
PPE_ACL_ENABLED=y \
PPE_POLICER_ENABLED=y \
PPE_PRIORITY_ENABLED=y \
PPE_MIRROR_ENABLED=y \
"
PPE_RULE_MAKE_OPTS_ipq53xx_append += "PPE_RULE_IPQ53XX=y"
PPE_RULE_MAKE_OPTS_ipq53xx_64_append += "PPE_RULE_IPQ53XX=y"
EXTRA_CFLAGS += " \
-I${STAGING_INCDIR}/qca-ssdk \
-I${STAGING_INCDIR}/qca-ssdk/fal \
-I${STAGING_INCDIR}/qca-ssdk/init \
"
MODULE_EXTRA_SYMBOLS = "${STAGING_INCDIR}/qca-nss-ppe/Module.symvers \
${STAGING_INCDIR}/qca-nss-ppe-vp/Module.symvers \
"
do_configure() {
true
}
do_compile() {
unset LDFLAGS
make -C "${STAGING_KERNEL_BUILDDIR}" ${PPE_RULE_MAKE_OPTS} \
CROSS_COMPILE="${TARGET_PREFIX}" \
ARCH="${KARCH}" \
M="${S}" \
EXTRA_CFLAGS="${EXTRA_CFLAGS}" \
KBUILD_EXTRA_SYMBOLS="${MODULE_EXTRA_SYMBOLS}" \
SoC='${SOC_TYPE}' \
modules
}
do_install() {
install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/${PN}
install -m 0644 ${S}/qca-nss-ppe-rule${KERNEL_OBJECT_SUFFIX} ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/${PN}
install -d ${D}${includedir}/qca-nss-ppe-rule
install -m 0644 ${WORKDIR}/qca-nss-ppe/drv/exports/* ${D}${includedir}/qca-nss-ppe-rule/
install -m 0644 ${S}/Module.symvers ${D}${includedir}/qca-nss-ppe-rule/Module.symvers
}
KERNEL_MODULE_AUTOLOAD += "qca-nss-ppe-rule"
......@@ -14,12 +14,16 @@ SRC_URI = "file://qca-nss-ppe"
PACKAGES += "kernel-module-qca-nss-ppe-tun"
DEPENDS = "virtual/kernel qca-nss-ppe qca-nss-ppe-vp"
DEPENDS = "virtual/kernel qca-nss-ppe-vp qca-nss-ppe-rule"
S = "${WORKDIR}/qca-nss-ppe/drv/ppe_tun/"
PPE_VP_STG_INCDIR = "${STAGING_INCDIR}/qca-nss-ppe-vp"
MODULE_EXTRA_SYMBOLS = "${PPE_VP_STG_INCDIR}/Module.symvers"
EXTRA_CFLAGS += "-I${STAGING_INCDIR}/qca-nss-ppe \
-DPPE_TUN_RULE_MODULE_ENABLED"
MODULE_EXTRA_SYMBOLS = "${PPE_VP_STG_INCDIR}/Module.symvers \
${STAGING_INCDIR}/qca-nss-ppe-rule/Module.symvers"
do_configure() {
true
......
......@@ -12,17 +12,23 @@ FILES_${PN} += "/usr/bin"
SRC_URI = "file://qca-nss-sfe/ \
file://sfe_dump \
"
DEPENDS = "virtual/kernel"
DEPENDS = "virtual/kernel qca-nss-ppe-rule"
S = "${WORKDIR}/qca-nss-sfe"
PACKAGES += "kernel-module-qca-nss-sfe"
EXTRA_CFLAGS += "-I${S}/exports \
-DSFE_TSO_MAX_SEG_LIMIT_ENABLE"
-I${STAGING_INCDIR}/qca-nss-ppe \
-DSFE_TSO_MAX_SEG_LIMIT_ENABLE"
MODULE_EXTRA_SYMBOLS = "${STAGING_INCDIR}/qca-nss-ppe-rule/Module.symvers"
SFE_MAKE_OPTS = "SFE_SUPPORT_IPV6=y \
SFE_PROCESS_LOCAL_OUT=y \
SFE_PPE_QOS_SUPPORTED=y"
SFE_PPE_QOS_SUPPORTED=y \
SFE_PROCESS_LOCAL_OUT=y \
SFE_RFS_SUPPORTED=y"
do_configure() {
true
......@@ -35,6 +41,7 @@ do_compile() {
ARCH="${KARCH}" \
M="${S}" \
EXTRA_CFLAGS="${EXTRA_CFLAGS}" \
KBUILD_EXTRA_SYMBOLS="${MODULE_EXTRA_SYMBOLS}" \
${SFE_MAKE_OPTS} \
modules
}
......