8f21793a3e
When oversubscribing SDMA gangs, a circular deadlock can occur since gang enqueue is staggered with respect to SDMA engine leader based on source to destination. As a result, an enqueued leader may be waiting on a gang item that is waiting on another enqueued leader or gang item and so on. To prevent this, first lock the submission to ensure dma status query and submissions are atomic. Once this is in place, be more stringent with ganging in that all SDMA engines must be available in order to gang. Finally, re-enable SDMA ganging by default. Change-Id: I4511e3487db9d26475b5aece4897f10168cc5322