Exactly - the open source kernel driver is just a gateway for the user space driver to access the hardware. The real magic is in the closed source, user space driver.
I believe Linus has stopped accepting these kinds of Trojan horse drivers into the mainline kernel, unless an open source user space component that does at least handle 2D graphics through it is also available.
What about this one:
http://malideveloper.arm.com/develop-for-mali/drivers/open-s... ?