I've successfully built the FMCOMMS2 HDL, kernel, device tree, etc. and have it all running on a Zedboard+FMCOMMS4. The next step in this process is to start sending data. To that end, our protocol will involve an "idle frame" -- in other words, a continuous transmission even when there's nothing to send. This is very common in e.g. CCSDS satellite protocols.
I noted the "cyclic" buffer support in IIO, which seems perfect for the idle frame -- just set it and forget it. That way I won't buffer the heck out of a bunch of idle frames that have to be transmitted before sending real data. I can destroy the cyclic buffer object and start sending a data frame when I have one, great. But I'd like the idle frame to complete sending before the next buffer is processed. If I destroy the idle frame cyclic buffer, I assume it will immediately stop sending. So I assume I'll have to modify the IIO driver to allow the cyclic frame to finish when destroy is called. I'll also have to modify IIO to allow enqueuing noncyclic buffers after a cyclic buffer so there's an immediate buffer available to transmit when the cyclic buffer stops.
Before I get started on this I'd like an idiot-check to make sure that I'm not barking up the wrong tree or replicating someone else's work. Any pointers to where to look and things to look out for would be appreciated.