I want to get data from a DMA enabled, PCIe hardware device into user-space as quickly as possible.
Q: How do I combine \"direct I/O to user-space with/and/via a DMA
first_page_offset = udata & PAGE_MASK;
It seems wrong. It should be either:
first_page_offset = udata & ~PAGE_MASK;
or
first_page_offset = udata & (PAGE_SIZE - 1)