Maybe the OctoWS2811 code can help? It writes to the GPIO port using DMA, but the concept is pretty much the same for reading.

In the audio library, the "ping pong" is actually done using a...