Hello Igor,
I don't feel this addresses the question that I asked. I am interested in how the AP and SDMA core ensure only one of them has exclusive access to the CCBs and DBs. Looking at the Linux SDMA driver, it seems that no mechanism is being used to ensure that the SDMA core is not accessing the CCBs and DBs while the driver is accessing them. None of the documents provided demonstrate how the ROM scripts might be doing this.
I am currently investigating an issue where the SDMA core seems to randomly stop issuing interrupts to the AP. The likely explanation at the moment is that there is a race condition caused by the Linux SDMA interrupt handler and ROM scripts modifying the D flag of the DBs.