Цитата(novartis @ Jun 5 2014, 21:31)

Не понятно, а регистр состояния CDMA намного раньше выставляется, чем кидается прерывание?
Не знаком с XAPP1171, но у нас сделано так:
драйвер дает задание для DMA,
DMA выставляет в регистр состояния "выполняю работу",
после окончания выполнения задания (пересылки всех данных) DMA выставляет в регистр состояния "выполнил работу" и кидает прерывание.
То есть вот в нашей системе абсолютно без разницы - читать регистр состояния или ожидать прерывание.
Наш программист даже опцию такую сделал (для отладочных целей): работать только по регистру состояния или работать по прерываниям.
Цитата(novartis @ Jun 5 2014, 21:31)

Не понятно, а регистр состояния CDMA намного раньше выставляется, чем кидается прерывание?
Нет. Можно сделать задержку, но я не делал.
Чтение регистра состояния выполняется по шине PCIe. Может, это мешало? Хотя ведь передача по шине дуплексная.
Но раньше при чтении больших блоков памяти (4 МБ) были ошибки - некоторые фрагменты приемного буфера не заполнялись данными. . Теперь ошибок нет.