Цитата(DASM @ Jan 23 2014, 17:20)

просто стал блокирующим и усыплет поток, пока ДМА не будет готова,
Ну так бы сразу и сказал, что это допустимо, ioctl сделать блокирующим. Я был почему-то уверен по вопросу, что это как раз недопустимо, а требуется асинхронный вызов. А так собственно все делают, на этом, к примеру v4l2 живет, ф-ция ожидания готовности очередного буфера с видео.