source: src/linux/universal/linux-4.4/samples/mic/mpssd/micctrl @ 31633

Last change on this file since 31633 was 31633, checked in by brainslayer, 4 months ago

kernel update

File size: 2.7 KB
Line 
1#!/bin/bash
2# Intel MIC Platform Software Stack (MPSS)
3#
4# Copyright(c) 2013 Intel Corporation.
5#
6# This program is free software; you can redistribute it and/or modify
7# it under the terms of the GNU General Public License, version 2, as
8# published by the Free Software Foundation.
9#
10# This program is distributed in the hope that it will be useful, but
11# WITHOUT ANY WARRANTY; without even the implied warranty of
12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13# General Public License for more details.
14#
15# The full GNU General Public License is included in this distribution in
16# the file called "COPYING".
17#
18# Intel MIC User Space Tools.
19#
20# micctrl - Controls MIC boot/start/stop.
21#
22# chkconfig: 2345 95 05
23# description: start MPSS stack processing.
24#
25### BEGIN INIT INFO
26# Provides: micctrl
27### END INIT INFO
28
29# Source function library.
30. /etc/init.d/functions
31
32sysfs="/sys/class/mic"
33
34_status()
35{
36        f=$sysfs/$1
37        echo -e $1 state: "`cat $f/state`" shutdown_status: "`cat $f/shutdown_status`"
38}
39
40status()
41{
42        if [ "`echo $1 | head -c3`" == "mic" ]; then
43                _status $1
44                return $?
45        fi
46        for f in $sysfs/*
47        do
48                _status `basename $f`
49                RETVAL=$?
50                [ $RETVAL -ne 0 ] && return $RETVAL
51        done
52        return 0
53}
54
55_reset()
56{
57        f=$sysfs/$1
58        echo reset > $f/state
59}
60
61reset()
62{
63        if [ "`echo $1 | head -c3`" == "mic" ]; then
64                _reset $1
65                return $?
66        fi
67        for f in $sysfs/*
68        do
69                _reset `basename $f`
70                RETVAL=$?
71                [ $RETVAL -ne 0 ] && return $RETVAL
72        done
73        return 0
74}
75
76_boot()
77{
78        f=$sysfs/$1
79        echo "linux" > $f/bootmode
80        echo "mic/uos.img" > $f/firmware
81        echo "mic/$1.image" > $f/ramdisk
82        echo "boot" > $f/state
83}
84
85boot()
86{
87        if [ "`echo $1 | head -c3`" == "mic" ]; then
88                _boot $1
89                return $?
90        fi
91        for f in $sysfs/*
92        do
93                _boot `basename $f`
94                RETVAL=$?
95                [ $RETVAL -ne 0 ] && return $RETVAL
96        done
97        return 0
98}
99
100_shutdown()
101{
102        f=$sysfs/$1
103        echo shutdown > $f/state
104}
105
106shutdown()
107{
108        if [ "`echo $1 | head -c3`" == "mic" ]; then
109                _shutdown $1
110                return $?
111        fi
112        for f in $sysfs/*
113        do
114                _shutdown `basename $f`
115                RETVAL=$?
116                [ $RETVAL -ne 0 ] && return $RETVAL
117        done
118        return 0
119}
120
121_wait()
122{
123        f=$sysfs/$1
124        while [ "`cat $f/state`" != "offline" -a "`cat $f/state`" != "online" ]
125        do
126                sleep 1
127                echo -e "Waiting for $1 to go offline"
128        done
129}
130
131wait()
132{
133        if [ "`echo $1 | head -c3`" == "mic" ]; then
134                _wait $1
135                return $?
136        fi
137        # Wait for the cards to go offline
138        for f in $sysfs/*
139        do
140                _wait `basename $f`
141                RETVAL=$?
142                [ $RETVAL -ne 0 ] && return $RETVAL
143        done
144        return 0
145}
146
147if [ ! -d "$sysfs" ]; then
148        echo -e $"Module unloaded "
149        exit 3
150fi
151
152case $1 in
153        -s)
154                status $2
155                ;;
156        -r)
157                reset $2
158                ;;
159        -b)
160                boot $2
161                ;;
162        -S)
163                shutdown $2
164                ;;
165        -w)
166                wait $2
167                ;;
168        *)
169                echo $"Usage: $0 {-s (status) |-r (reset) |-b (boot) |-S (shutdown) |-w (wait)}"
170                exit 2
171esac
172
173exit $?
Note: See TracBrowser for help on using the repository browser.