Hello again,
I will try to allocate some memory in the same way the example you provided using the link
https://github.com/jpendlum/user-peripheral-kmod/blob/master/user_peripheral.c,
d->xx_buf = alloc_pages(GFP_ATOMIC, PAGE_ORDER);
But from you code hint,
d->my_buf.buf_phys_addr, d->myfx_buf.buf_len,
I don't know what is my_buf, it seem for me an array of structs, so how were you getting the allocated memory? what is the relation between the virtual address you got from this and the variable buf_phys_addr?
is the buf_phys_addr the physical address of a given start virtual address of a buffer or is it the dma address?
If I would like to use the ACP port, I need to send to the FPGA module the physical address | 0x80000000, right? so how did you get the buffer's physical address you allocated? Using the same function page_to_phys?
Just I would like to give a try on using the ACP because I was requested to use it and see if my implementation of the driver is working.
Another thing would be, what is the address I need to use as a parameter for the function call dma_sync_single_for_device?
Thanks!