Linux driver concurrent periodic DMA transfers

Post a reply

Confirmation code
Enter the code exactly as it appears. All letters are case insensitive.
Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :arrow: :| :mrgreen: :geek: :ugeek:
BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON
Topic review
   

Expand view Topic review: Linux driver concurrent periodic DMA transfers

Re: Linux driver concurrent periodic DMA transfers

Post by support »

Hi,

It's not clear why you need to do anything with the Linux driver. If you want to have multiple endpoints with the same configuration, udev rules can be used to prevent the device files' name collisions. If you want to do periodic access -- that can be done from the user space as well. If you're unhappy with the device files a single core supplies -- make a custom one in the IP Core factory.

So why do you feel a need to play with the driver?

And by the way -- you didn't mention if you're working with PCIe or a Xillinux-based platform.

As for latency -- there have a few teams of Physics professors researching plasma reactions using Xillybus, working with latencies as low as 30-50 microseconds with userspace programs, so your 20 ms intervals should be more than possible. Odds are you'll have no problems at all with that.

For some guidelines for proper low-latency programming, see http://xillybus.com/doc/xillybus-latency

Regards,
Eli

Linux driver concurrent periodic DMA transfers

Post by Ves »

Hello,

We are trying to extend existing xillybus linux kernel driver to access multiple Xillybus-based devices, configured with the same IDT type.
We need to be able to perform periodic DMA operations concurrently in the kernel mode on the same IDT r/w channel and which are initiated from two different timer routines - one routine needs to write data block to the device every 100ms, the other needs to read data block (different offset) from the device every 20ms.
Would it be possible to safely access devices in such manner with 20ms latency?
Could you help with any instructions or advice regarding how to do it properly?
Also it would be desirable (but less critical) if the user mode file access-based functionality can be preserved.

Thanks in advance for any help

Top