имхо, лучше порциями: заполняешь по DMA весь framelist qh, ссылающиеся на нужное число td, по готовности заглатываешь по DMA результаты, снова формируешь framelist и запускаешьне прием. пока прм не кончен, обрабатываешь данные ...
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)