Прямая передача подчиненного DMA с устройства P CIe в согласованную отображенную память без дополнительной memcpy - PullRequest
2 голосов
/ 30 апреля 2020

Я работаю над повышением пропускной способности передач DMA в моем собственном драйвере ядра от FPGA. Текущая пропускная способность ~ 250 Мб / с.

Архитектура выглядит следующим образом:

  1. ПЛИС, подключенная через P CIe
  2. Я выделяю большой буфер в ОЗУ, используя согласованное отображение с dma_alloc_coherent когда probe вызывается
  3. ПЛИС постоянно передает данные через DMA.
  4. ПЛИС вызывает int, когда DMA готов, а затем из обработчика прерываний я копирую данные из пространство памяти, отображаемое из регистра BAR в мой согласованно выделенный буфер с использованием device_prep_dma_memcpy.

Есть ли способ избежать этого memcpy из device_prep_dma_memcpy и сказать DMA для копирования данных непосредственно в мой согласованный выделенный буфер?

...