title: DMA from Linux kernel-space to PCIe card
body: <p>I am trying to write a linux driver for a PCIe device - the Adlink PCIe 7300A High-Speed digital-IO card. </p>
  
  <p>The driver works fine for normal memory transfer, but attempting to use the card's bus-mastering capabilities to initiate DMA transfer of a buffer from CPU memory to the device's output FIFO buffer simply does not work. </p>
  
  <p>I have been trying to solve this problem on the order of weeks, not on the order of days.</p>
  
  <p>Any insight at all would really really be appreciated.</p>
  
  <p>Driver code -- <a href="https://github.com/sbrookes/timing_driver_sdarn/blob/master/kernel_land/timing.c" rel="nofollow">https://github.com/sbrookes/timing_driver_sdarn/blob/master/kernel_land/timing.c</a></p>
  
  <p>Device Datasheet -- <a href="http://www.acceed.com/manuals/adlink/P7300A%20Manual.PDF" rel="nofollow">http://www.acceed.com/manuals/adlink/P7300A%20Manual.PDF</a></p>
  
  <p>PLX 9080 PCI Interface chip Datasheet -- <a href="http://www.der-ingo.de/bin/milanhelp/PLX9080.pdf" rel="nofollow">http://www.der-ingo.de/bin/milanhelp/PLX9080.pdf</a></p>
  
  <p>I can not explain how much I would appreciate any bit of insight.</p>
  
  <p>Thank you,</p>
  
  <p>Scott</p>