Hi Jonah, Thank you for reply! There is no DMA. The ring buffer is implemented in FPGA. It is mapped to the CPU memory. It has space for 64 messages. That is, if the userspace doesn't read data for 64/50 = 1.28 seconds, there will be lost data. It is possible to set up an interrupt as a certain watermark, e.g. when half of the buffers are utilized. But I expect that the userspace utility will be polling the driver for new messages and will read them before the interrupt is triggered. I'm not sure if a buffer in the kernel space would be needed. It would be nice to save the data in case if the userspace software is slow. But I don't see that as a hard requirement. If the userspace utility sleeps for over a second, I would be in trouble, with or without kernel buffering. I don't want to do any processing in the kernel space. So the driver would have one "channel" spitting out 256 byte long opaque packets. I'm sure there are tons of ways to get that data to the userspace, I just want to select a subsystem that would cause less frustration and "impedance mismatch". -- Regards, Pavel Roskin -- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html