I was being specific. Have you seen the code ?! It's push\pulls and initiators. It does handle timeouts and allocations and that's why I've said it looks useful, but where is the added value that differs a wrapper from a library ?!
Originally Posted by Ericg
Code like this is at best a poor substitute for documentations. In this case, we get what nvidia tells us is the right way to push data into the SoC. It hints the structs and handles the pointer magic for us. But, what you end up doing is hoping nvidia isn't hiding another subset of commands for her "business partners".
For instance, some functions they wrote handle uint32_t buffers. Does that mean they don't have a register that can handle other data types better ? Maybe some image\video decompression on the chip that will decrease my mem usage ? Of course not. What it does mean is that you're writing code to a hostile environment.
And it's not like it's all conjunctures and speculation. Nvidia's geforce drivers are often released with game-specific optimizations for big houses.
As long as there are closed source blobs in the kernel, You're a second class developer.