forked from Minki/linux
c74c9318a3
This patch modifies the MIC host and card drivers to start using the VOP driver. The MIC host and card drivers now implement the VOP bus operations and register a VOP device on the VOP bus. MIC driver stack documentation is also updated to include the new VOP driver. Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com> Signed-off-by: Sudeep Dutt <sudeep.dutt@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
201 lines
3.3 KiB
Bash
Executable File
201 lines
3.3 KiB
Bash
Executable File
#!/bin/bash
|
|
# Intel MIC Platform Software Stack (MPSS)
|
|
#
|
|
# Copyright(c) 2013 Intel Corporation.
|
|
#
|
|
# This program is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License, 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.
|
|
#
|
|
# The full GNU General Public License is included in this distribution in
|
|
# the file called "COPYING".
|
|
#
|
|
# Intel MIC User Space Tools.
|
|
#
|
|
# mpss Start mpssd.
|
|
#
|
|
# chkconfig: 2345 95 05
|
|
# description: start MPSS stack processing.
|
|
#
|
|
### BEGIN INIT INFO
|
|
# Provides: mpss
|
|
# Required-Start:
|
|
# Required-Stop:
|
|
# Short-Description: MPSS stack control
|
|
# Description: MPSS stack control
|
|
### END INIT INFO
|
|
|
|
# Source function library.
|
|
. /etc/init.d/functions
|
|
|
|
exec=/usr/sbin/mpssd
|
|
sysfs="/sys/class/mic"
|
|
mic_modules="mic_host mic_x100_dma scif vop"
|
|
|
|
start()
|
|
{
|
|
[ -x $exec ] || exit 5
|
|
|
|
if [ "`ps -e | awk '{print $4}' | grep mpssd | head -1`" = "mpssd" ]; then
|
|
echo -e $"MPSSD already running! "
|
|
success
|
|
echo
|
|
return 0
|
|
fi
|
|
|
|
echo -e $"Starting MPSS Stack"
|
|
echo -e $"Loading MIC drivers:" $mic_modules
|
|
|
|
modprobe -a $mic_modules
|
|
RETVAL=$?
|
|
if [ $RETVAL -ne 0 ]; then
|
|
failure
|
|
echo
|
|
return $RETVAL
|
|
fi
|
|
|
|
# Start the daemon
|
|
echo -n $"Starting MPSSD "
|
|
$exec
|
|
RETVAL=$?
|
|
if [ $RETVAL -ne 0 ]; then
|
|
failure
|
|
echo
|
|
return $RETVAL
|
|
fi
|
|
success
|
|
echo
|
|
|
|
sleep 5
|
|
|
|
# Boot the cards
|
|
micctrl -b
|
|
|
|
# Wait till ping works
|
|
for f in $sysfs/*
|
|
do
|
|
count=100
|
|
ipaddr=`cat $f/cmdline`
|
|
ipaddr=${ipaddr#*address,}
|
|
ipaddr=`echo $ipaddr | cut -d, -f1 | cut -d\; -f1`
|
|
while [ $count -ge 0 ]
|
|
do
|
|
echo -e "Pinging "`basename $f`" "
|
|
ping -c 1 $ipaddr &> /dev/null
|
|
RETVAL=$?
|
|
if [ $RETVAL -eq 0 ]; then
|
|
success
|
|
break
|
|
fi
|
|
sleep 1
|
|
count=`expr $count - 1`
|
|
done
|
|
[ $RETVAL -ne 0 ] && failure || success
|
|
echo
|
|
done
|
|
return $RETVAL
|
|
}
|
|
|
|
stop()
|
|
{
|
|
echo -e $"Shutting down MPSS Stack: "
|
|
|
|
# Bail out if module is unloaded
|
|
if [ ! -d "$sysfs" ]; then
|
|
echo -n $"Module unloaded "
|
|
success
|
|
echo
|
|
return 0
|
|
fi
|
|
|
|
# Shut down the cards.
|
|
micctrl -S
|
|
|
|
# Wait for the cards to go offline
|
|
for f in $sysfs/*
|
|
do
|
|
while [ "`cat $f/state`" != "ready" ]
|
|
do
|
|
sleep 1
|
|
echo -e "Waiting for "`basename $f`" to become ready"
|
|
done
|
|
done
|
|
|
|
# Display the status of the cards
|
|
micctrl -s
|
|
|
|
# Kill MPSSD now
|
|
echo -n $"Killing MPSSD"
|
|
killall -9 mpssd 2>/dev/null
|
|
RETVAL=$?
|
|
[ $RETVAL -ne 0 ] && failure || success
|
|
echo
|
|
return $RETVAL
|
|
}
|
|
|
|
restart()
|
|
{
|
|
stop
|
|
sleep 5
|
|
start
|
|
}
|
|
|
|
status()
|
|
{
|
|
micctrl -s
|
|
if [ "`ps -e | awk '{print $4}' | grep mpssd | head -n 1`" = "mpssd" ]; then
|
|
echo "mpssd is running"
|
|
else
|
|
echo "mpssd is stopped"
|
|
fi
|
|
return 0
|
|
}
|
|
|
|
unload()
|
|
{
|
|
if [ ! -d "$sysfs" ]; then
|
|
echo -n $"No MIC_HOST Module: "
|
|
success
|
|
echo
|
|
return
|
|
fi
|
|
|
|
stop
|
|
|
|
sleep 5
|
|
echo -n $"Removing MIC drivers:" $mic_modules
|
|
modprobe -r $mic_modules
|
|
RETVAL=$?
|
|
[ $RETVAL -ne 0 ] && failure || success
|
|
echo
|
|
return $RETVAL
|
|
}
|
|
|
|
case $1 in
|
|
start)
|
|
start
|
|
;;
|
|
stop)
|
|
stop
|
|
;;
|
|
restart)
|
|
restart
|
|
;;
|
|
status)
|
|
status
|
|
;;
|
|
unload)
|
|
unload
|
|
;;
|
|
*)
|
|
echo $"Usage: $0 {start|stop|restart|status|unload}"
|
|
exit 2
|
|
esac
|
|
|
|
exit $?
|