PCI and DMA

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I have 3 questions regarding PCI and DMA.

Basically the pci setup in my platform is such that, the host must be
mapped to a specific portion of the available PCI space. How could I
make this happen? What I mean is, if there are resource regions A, B,
C available (io or mem doesn't matter), I want to force my host to be
mapped to a particular region within these available PCI regions,
rather than rely on pci_assign_resource to automatically allocate a
free region. Any suggestions?

Secondly, I also have constraints on the available DMA space. A
device-to-host DMA can only occur to a particular region of memory
(Address bits [27:0]), and I want to use a very specific address
region to be allocated for DMA, when a device wants to do DMA to host.
What are the ways to achieve this? Which functions should I modify, to
provide usable DMA regions to devices?

Also when supplying this DMA region, what about virtual memory
conditions? Perhaps this space needs to be reserved and not mapped by
the pagetables? Also it needs to be mapped as non-cacheable,
non-bufferable, when it's allocated for DMA. How do I take care of
these issues?

Thanks,
Bahadir

--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux