linux-arm-msm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* IOMMU Query
@ 2011-03-23  9:08 Abhilash Kesavan
  2011-03-23  9:21 ` Roedel, Joerg
  2011-03-23 22:18 ` Stepan Moskovchenko
  0 siblings, 2 replies; 4+ messages in thread
From: Abhilash Kesavan @ 2011-03-23  9:08 UTC (permalink / raw)
  To: joerg.roedel, stepanm, linux-arm-msm, kvm, iommu; +Cc: pullip.cho

Hi all,

We are investigating if the generic IOMMU API (include/linux/iommu.h)
can be used
for the IOMMU on our arm-based boards. I noticed that msm's IOMMU code
(arch/arm/mach-msm/iommu.c) uses the genric IOMMU API and have a few queries
regarding the supported features. Following are some
features/requirements of our
system:

1) Multiple IOMMU's  - consistency between parallel IOMMUs must be maintained
2) Supports varying page sizes - 4K, 64K, 1M, 16M i.e. a sg list of
contiguous physical
memory blocks be made available. Thus, giving us mappings from the
conservative 4K
to large1M reducing TLB misses.
3) Multiple VA allocations can be associated with the same PA space.

Who manages the virtual address space of IO device that has IOMMU? I think the
generic iommu.h API cannot handle virtual address space and memory allocation.
Is it just a IOMMU handler? Should we have another virtual memory
manager for IOMMU?

Can you please tell me if the current msm sysmmu code supports some/all of the
above features, so that we can use it as reference. Also, any pointers on areas
which would need work would be appreciated.

Lastly, is there any driver making use of msm's IOMMU code - mainline
or otherwise ?
I wanted to check the usage of the same.

Regards,
Abhilash

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2011-03-24  6:10 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-23  9:08 IOMMU Query Abhilash Kesavan
2011-03-23  9:21 ` Roedel, Joerg
2011-03-23 22:18 ` Stepan Moskovchenko
2011-03-24  6:10   ` Joerg Roedel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).