I fixed DMA write instability, the reason was wrong ring buffer memory type, it should be GTT, not VRAM. VRAM was used because GTT memory was not implemented when ring buffer was implemented. Linux driver also use GTT memory for ring buffers. Now I can go next.
GTT memory is CPU memory mapped to GPU address space if someone don’t know yet. I use Haiku areas with locked pages and Poke driver to implement GTT memory for Radeon GPU. It is already working good enough.