#!/bin/sh

start() {
	echo "ti-gfx: starting pvr driver"

	BITSPERPIXEL="$(fbset | awk '/geom/ {print $6}')"
	YRES="$(fbset | awk '/geom/ {print $3}')"
	# Set RGBA ordering to something the drivers like
	if [ "$BITSPERPIXEL" = "32" ] ; then
		fbset -rgba 8/16,8/8,8/0,8/24
	fi
	# Try to enable triple buffering when there's enough VRAM
	fbset -vyres $(( YRES*3 ))

	modprobe pvrsrvkm
	modprobe omaplfb
	modprobe bufferclass_ti

	pvr_maj=$(awk '$2=="pvrsrvkm" { print $1; }' /proc/devices)
	rm -f /dev/pvrsrvkm

	mknod /dev/pvrsrvkm c $pvr_maj 0
	chmod 600 /dev/pvrsrvkm

	if ! /usr/bin/pvrsrvctl --start --no-module; then
		echo "ti-gfx: unable to start server"
	fi
}

stop() {
	echo "ti-gfx: stopping pvr driver"

	rmmod bufferclass_ti
	rmmod omaplfb
	rmmod pvrsrvkm
}

case "$1" in
start)
	start
;;
stop)
	stop
;;
restart)
	stop
	start
;;
*)
	echo "ti-gfx: Please use start, stop, or restart."
	exit 1
;;
esac
