Vladimir, this is why I really didn't like overloading the current dma coherent infrastructure with the global pool.
And this new patch seems like piling hacks over hacks. I think we should go back and make sure allocations from the global coherent pool are done by the dma ops implementation, and not before calling into them - preferably still reusing the common code for it. Vladimir or Vitaly - can you look into that?