1*4882a593Smuzhiyun#!/bin/sh 2*4882a593Smuzhiyun 3*4882a593Smuzhiyunstart() { 4*4882a593Smuzhiyun echo "ti-gfx: starting pvr driver" 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun BITSPERPIXEL="$(fbset | awk '/geom/ {print $6}')" 7*4882a593Smuzhiyun YRES="$(fbset | awk '/geom/ {print $3}')" 8*4882a593Smuzhiyun # Set RGBA ordering to something the drivers like 9*4882a593Smuzhiyun if [ "$BITSPERPIXEL" = "32" ] ; then 10*4882a593Smuzhiyun fbset -rgba 8/16,8/8,8/0,8/24 11*4882a593Smuzhiyun fi 12*4882a593Smuzhiyun # Try to enable triple buffering when there's enough VRAM 13*4882a593Smuzhiyun fbset -vyres $(( YRES*3 )) 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun modprobe pvrsrvkm 16*4882a593Smuzhiyun modprobe omaplfb 17*4882a593Smuzhiyun modprobe bufferclass_ti 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun pvr_maj=$(awk '$2=="pvrsrvkm" { print $1; }' /proc/devices) 20*4882a593Smuzhiyun rm -f /dev/pvrsrvkm 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun mknod /dev/pvrsrvkm c $pvr_maj 0 23*4882a593Smuzhiyun chmod 600 /dev/pvrsrvkm 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun if ! /usr/bin/pvrsrvctl --start --no-module; then 26*4882a593Smuzhiyun echo "ti-gfx: unable to start server" 27*4882a593Smuzhiyun fi 28*4882a593Smuzhiyun} 29*4882a593Smuzhiyun 30*4882a593Smuzhiyunstop() { 31*4882a593Smuzhiyun echo "ti-gfx: stopping pvr driver" 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun rmmod bufferclass_ti 34*4882a593Smuzhiyun rmmod omaplfb 35*4882a593Smuzhiyun rmmod pvrsrvkm 36*4882a593Smuzhiyun} 37*4882a593Smuzhiyun 38*4882a593Smuzhiyuncase "$1" in 39*4882a593Smuzhiyunstart) 40*4882a593Smuzhiyun start 41*4882a593Smuzhiyun;; 42*4882a593Smuzhiyunstop) 43*4882a593Smuzhiyun stop 44*4882a593Smuzhiyun;; 45*4882a593Smuzhiyunrestart) 46*4882a593Smuzhiyun stop 47*4882a593Smuzhiyun start 48*4882a593Smuzhiyun;; 49*4882a593Smuzhiyun*) 50*4882a593Smuzhiyun echo "ti-gfx: Please use start, stop, or restart." 51*4882a593Smuzhiyun exit 1 52*4882a593Smuzhiyun;; 53*4882a593Smuzhiyunesac 54