it seems that the driver could allocate memory.
it'll be cool to have the same behaviour for buffer allocation : this could solve the use of device's memory buffer problem :
we can first ask if device posses memory, then ask for memory from a device using a api malloc like (ie hiden mmap()) which return a pointer to this area....
then use this memory as a buffer....

the question that i can't answer is "can a device can dma another device memory?"