enjoy-digital / litepcie

Small footprint and configurable PCIe core
Other
468 stars 116 forks source link

flawed DMA driver #102

Closed 1n3o1 closed 2 years ago

1n3o1 commented 2 years ago

thanks in advance your dma on fpga side is capable of accepting different descriptors with different length of data and address but on the software side it assumed that only with the length in byte of 8192 and 256 number of descriptors is used and there is no possible way to DMA in either MMAP and or copy with length larger or other that the 8192 the structure is that the kernel driver is always update descriptors with predefined length and if I read or write anything other that 8192 length it either wont or drop some of it the proper usage was to create and update descriptor based on the length taken form user space request but in its interrupt handler it always update with a fixed value and also addition of read with the capability that uses buffered endpoint data length to read the last renaming data in buffer would be nice (to read exactly the same amount of data that already exist (for the reading of last packet or blocking control word data through dma ))

enjoy-digital commented 2 years ago

Hi @1n3o1,

this is a design choice and related to the way we are operating the DMA for our needs. A different driver could be created/adapted for other usage.