I have had limited success using DMA. In fact, I began developing drivers using DMA and am continuing with that. I started with the STM32Cube library SPI DMA example and modified it to send/receive the messages of interest. I have coded to have continuous receive operations going and switch to transmit/receive operations when there is need to transmit something to the sn8200.
I say limited because right now I have difficulty getting reliable response from the sn8200. Please see my post at SN8200 and GEN_PWR_UP_IND_RSP message.
I would be very interested to hear about your experience with managing the sn8200, particularly if you are using the STA functionality.