The cirros image was rebuilt against the 3.13.0-83 kernel, drivers e1000e, igbvf...
[packages/trusty/cirros-testvm.git] / cirros-testvm / src-cirros / buildroot-2015.05 / package / sunxi-mali / S80mali
diff --git a/cirros-testvm/src-cirros/buildroot-2015.05/package/sunxi-mali/S80mali b/cirros-testvm/src-cirros/buildroot-2015.05/package/sunxi-mali/S80mali
new file mode 100644 (file)
index 0000000..ecfbab9
--- /dev/null
@@ -0,0 +1,54 @@
+#!/bin/sh -e
+
+install_driver() {
+       DRIVER=$1
+       OPTS=$2
+
+       modprobe $DRIVER $OPTS
+       maj=$(awk "\$2==\"${DRIVER}\" { print \$1; }" /proc/devices)
+
+       rm -f /dev/${DRIVER}
+
+       mknod /dev/${DRIVER} c $maj 0
+       chmod 600 /dev/${DRIVER}
+}
+
+start() {
+       echo "mali: starting 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 ))
+
+       install_driver mali
+       install_driver ump
+}
+
+stop() {
+       echo "mali: stopping driver"
+
+       rmmod ump
+       rmmod mali
+}
+
+case "$1" in
+start)
+       start
+;;
+stop)
+       stop
+;;
+restart)
+       stop
+       start
+;;
+*)
+       echo "mali: Please use start, stop, or restart."
+       exit 1
+;;
+esac