Устройство (endpoint) подключено к шине PCI Express. Оно посылает последовательность TLP WrMem, данные записываются в память хоста. Как драйвер, выполняющийся на хосте, может узнать, что данные уже записаны в память?
- pci_map_single() - старт операции чтения, опрос состояния устройства - pci_unmap_single()
Можно опрашивать регистр состояния устройства или получить от него прерывание, но все-таки нужно знать, когда полностью завершена транзакция и можно делать pci_unmap_single(). Хост работает под Linux Ubuntu. Устройство сделано на основе Xilinx XAPP1171.
|