Sanka Piyaratna wrote:
Hi Everyone,
I am currently developing a custom PCIe device and the Linux kernel
driver for this. I am able to use the device as a character device with
PIO and now I am working on getting the DMA to work. I have implemented
2 BARs (BAR0 - mem and BAR5 - mem) in the PCIe device. I have
implemented the DMA in my custom device firmware to transfer a block of
memory via the PCIe bus and now trying to get this to work with the
device driver.
As I understand it, I can get hold of the PCI bus to become the bus
master and then initiate the DMA transfer from my device. However, I
don't understand how I can specify within my kernel driver how to
specify which BAR to use.
Does this mean when I initiate a transfer from the hardware, the memory
get transferred into the location allocated by by pci_map_single()
function regardless of which BAR the memory comes from? or do I need to
specify the BAR using a mask?
Would some one be able to point me to an example code please?
Thanks and Regards,
Sanka
Your question doesn't seem to make much sense. DMA transfers have
nothing to do with BARs at all, they don't come "from" or "to" one.
--
Robert Hancock Saskatoon, SK, Canada
To email, remove "nospam" from [EMAIL PROTECTED]
Home Page: http://www.roberthancock.com/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/