Цитата(DASM @ Dec 11 2013, 21:51)

Простейший вопрос вроде.. Но примитивы синхронизации работают либо в ядре, либо в юзере. Может надо использовать select над файловым дескриптором? А что в драйвере делать? Я вообще в том направлении смотрю хоть? У меня ДМА запускается по пользовательскому запросу, после чего желательно уступить поток, пробудить по окончании.
Userspace application делает вызов ioctl(), передавая драйверу команду на начало DMA. И засыпает.
Драйвер, получив IOCTL, выполняет транзакцию, делает return, и Userspace application просыпается.