# @name SMP IRQ Affinity with I2C
# @desc Check that I2C interrupts assigned to different CPUs complete without errors
# @requires smp && i2c
# @setup_requires 

SMP_S_FUNC_IRQAFF_I2C_NOLB_CORE1 source 'common.sh';  num_cores=`cat /sys/devices/system/cpu/online`; echo $num_cores | grep -E '[[:digit:]]+\-' > /dev/null && (IRQ=`get_irq_for_iface.sh -i 'i2c'` && PRE=`get_num_interrupts_for_irq.sh -i $IRQ -c 0` && echo "1" > /proc/irq/$IRQ/smp_affinity  && run_processes.sh -c "/opt/ltp/runltp -f ddt/i2c_detect -P $PLATFORM -s I2C_S_FUNC_I2CDETECT " && POST=`get_num_interrupts_for_irq.sh -i $IRQ -c 0` && [[ $POST -gt $PRE ]] )

SMP_M_FUNC_IRQAFF_I2C_NOLB_CORE1_NEG_TEST source 'common.sh';  num_cores=`cat /sys/devices/system/cpu/online`; echo $num_cores | grep -E '[[:digit:]]+\-' > /dev/null && (IRQ=`get_irq_for_iface.sh -i 'i2c'` && PRE=`get_num_interrupts_for_irq.sh -i $IRQ -c 1` && echo "1" > /proc/irq/$IRQ/smp_affinity  && run_processes.sh -c "/opt/ltp/runltp -f ddt/i2c_detect -P $PLATFORM -s I2C_S_FUNC_I2CDETECT " && POST=`get_num_interrupts_for_irq.sh -i $IRQ -c 1` && [[ $POST -eq $PRE ]] )

SMP_S_FUNC_IRQAFF_I2C_NOLB_CORE2 source 'common.sh';  num_cores=`cat /sys/devices/system/cpu/online`; echo $num_cores | grep -E '[[:digit:]]+\-' > /dev/null && (IRQ=`get_irq_for_iface.sh -i 'i2c'` && PRE=`get_num_interrupts_for_irq.sh -i $IRQ -c 1` && echo "2" > /proc/irq/$IRQ/smp_affinity  && run_processes.sh -c "/opt/ltp/runltp -f ddt/i2c_detect -P $PLATFORM -s I2C_S_FUNC_I2CDETECT " && POST=`get_num_interrupts_for_irq.sh -i $IRQ -c 1` && [[ $POST -gt $PRE ]] )

SMP_M_FUNC_IRQAFF_I2C_NOLB_CORE2_NEG_TEST source 'common.sh';  num_cores=`cat /sys/devices/system/cpu/online`; echo $num_cores | grep -E '[[:digit:]]+\-' > /dev/null && (IRQ=`get_irq_for_iface.sh -i 'i2c'` && PRE=`get_num_interrupts_for_irq.sh -i $IRQ -c 0` && echo "2" > /proc/irq/$IRQ/smp_affinity  && run_processes.sh -c "/opt/ltp/runltp -f ddt/i2c_detect -P $PLATFORM -s I2C_S_FUNC_I2CDETECT " && POST=`get_num_interrupts_for_irq.sh -i $IRQ -c 0` && [[ $POST -eq $PRE ]] )

SMP_M_FUNC_IRQAFF_I2C_LB source 'common.sh';  num_cores=`cat /sys/devices/system/cpu/online`; echo $num_cores | grep -E '[[:digit:]]+\-' > /dev/null && (IRQ=`get_irq_for_iface.sh -i 'i2c'` && echo "3" > /proc/irq/$IRQ/smp_affinity  && run_processes.sh -c "/opt/ltp/runltp -f ddt/i2c_detect -P $PLATFORM -s I2C_S_FUNC_I2CDETECT " )

