#!/bin/sh

DESC="PowerVR SGX driver"
NAME="PVRSRV"


d_stop() {
	if [ -e /dev/pvrsrvkm ] ; then 
		rm -f /dev/pvrsrvkm
	fi

	if `grep -q pvrsrv /proc/modules` ; then
		rmmod omaplfb 2>/dev/null
		rmmod pvrsrvkm 2>/dev/null
	fi
}

d_start() {
	if `grep -q pvrsrv /proc/modules` ; then
		echo " ... already started."
		exit 1
	fi

	modprobe pvrsrvkm
	modprobe omaplfb

	pvr_maj=`grep "pvrsrvkm$" /proc/devices | cut -b1,2,3`

	mknod /dev/pvrsrvkm c $pvr_maj 0 
	chmod 666 /dev/pvrsrvkm

	/usr/bin/pvrsrvinit

	# Set SGX to full speed
	# Temp fix to OMAP clocks are sorted.
	devmem2 0x48004b40 w 0
}


case "$1" in
  start)
	echo -n "Starting $DESC: $NAME"
	d_start
	echo "."
	;;
  stop)
	echo -n "Stopping $DESC: $NAME"
	d_stop
	echo "."
	;;
  restart|force-reload)
	echo -n "Restarting $DESC: $NAME"
	d_stop
	sleep 1
	d_start
	echo "."
	;;
  *)
	echo "Usage: $0 {start|stop|restart|force-reload}" >&2
	exit 1
	;;
esac

exit 0
