The Suspend solution works on AUTO DMA channels as well. You need to setup the channel to suspend on CY_U3P_DMA_SCK_SUSP_EOP on the consumer (USB) side.
e.g.: CyU3PDmaChannelSetSuspend (chHandle, CY_U3P_DMA_SCK_SUSP_NONE, CY_U3P_DMA_SCK_SUSP_EOP);
Then in the DMA callback for the CY_U3P_DMA_CB_CONS_SUSP event, the channel operation can be resumed (CyU3PDmaChannelResume). It may be a good idea to insert a small delay (about CyU3PBusyWait (50)) before calling channel resume. We have seen that this solution works for at least a couple of customers.