Messages in this thread |  | | | Date | Wed, 19 Nov 2008 16:05:07 +0900 | | Subject | Re: pci_map_sg() does not coalesce adjacent physical memory? x86 | | From | FUJITA Tomonori <> | |
Oops, sorry about typos.
On Wed, 19 Nov 2008 15:58:12 +0900
FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> wrote:
> > Of course, I could write my own (tm) and map my pages into PCI using
> > pci_map_single, but I thought I was being the good kid by using what
> > was there.> > I don't think it's not a good place. What pci_map_single should do is
> mapping a virtual address to a dma-capable address.
> > IOMMU dma operations maps a virtual address to an I/O address and
> non-IOMMU dma operations do nothing. As you said below, some IOMMU
> operations do coalescing but it's virtual mapping (probably their code
virtual coalescing
> can handle physical coalescing too though but the block layer does
> physical coalescing before that though). And the virtual mapping is
virtual coalescing
> optional. Not all the IOMMU operations do. As I said, x86 IOMMUs
> (VT-d, AMD, and Calgary) except for GART does not do coalescing. Any
> non-IOMMU dma operations don't do something complicated.
|  |