<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lwn.git/include/asm-x86_64/dma-mapping.h, branch docs-6.8</title>
<subtitle>Linux kernel documentation tree maintained by Jonathan Corbet</subtitle>
<id>http://mirrors.hust.edu.cn/git/lwn.git/atom?h=docs-6.8</id>
<link rel='self' href='http://mirrors.hust.edu.cn/git/lwn.git/atom?h=docs-6.8'/>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/'/>
<updated>2007-10-11T09:20:03+00:00</updated>
<entry>
<title>i386/x86_64: move headers to include/asm-x86</title>
<updated>2007-10-11T09:20:03+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2007-10-11T09:20:03+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=96a388de5dc53a8b234b3fd41f3ae2cedc9ffd42'/>
<id>urn:sha1:96a388de5dc53a8b234b3fd41f3ae2cedc9ffd42</id>
<content type='text'>
Move the headers to include/asm-x86 and fixup the
header install make rules

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>[PATCH] x86-64: dma_ops as const</title>
<updated>2007-05-02T17:27:06+00:00</updated>
<author>
<name>Stephen Hemminger</name>
<email>shemminger@linux-foundation.org</email>
</author>
<published>2007-05-02T17:27:06+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=e65845045588806fa5c8df8a4f4253516515a5e3'/>
<id>urn:sha1:e65845045588806fa5c8df8a4f4253516515a5e3</id>
<content type='text'>
The dma_ops structure can be const since it never changes
after boot.

Signed-off-by: Stephen Hemminger &lt;shemminger@linux-foundation.org&gt;
Signed-off-by: Andi Kleen &lt;ak@suse.de&gt;
</content>
</entry>
<entry>
<title>[PATCH] x86-64: define dma noncoherent API functions</title>
<updated>2007-02-13T12:26:24+00:00</updated>
<author>
<name>Jeff Garzik</name>
<email>jeff@garzik.org</email>
</author>
<published>2007-02-13T12:26:24+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=2fa8a050a0026eadbb39a2f281011991e00fe29a'/>
<id>urn:sha1:2fa8a050a0026eadbb39a2f281011991e00fe29a</id>
<content type='text'>
x86-64 is missing these:

Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
Signed-off-by: Andi Kleen &lt;ak@suse.de&gt;
</content>
</entry>
<entry>
<title>[PATCH] x86-64: define dma noncoherent API functions</title>
<updated>2007-02-03T19:26:06+00:00</updated>
<author>
<name>Jeff Garzik</name>
<email>jeff@garzik.org</email>
</author>
<published>2007-02-03T09:14:03+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=259886a7c4e4eb0089181e800d1f477cb3786875'/>
<id>urn:sha1:259886a7c4e4eb0089181e800d1f477cb3786875</id>
<content type='text'>
x86-64 is missing these:

Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] Pass struct dev pointer to dma_cache_sync()</title>
<updated>2006-12-07T16:39:41+00:00</updated>
<author>
<name>Ralf Baechle</name>
<email>ralf@linux-mips.org</email>
</author>
<published>2006-12-07T04:38:56+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=d3fa72e4556ec1f04e46a0d561d9e785ecaa173d'/>
<id>urn:sha1:d3fa72e4556ec1f04e46a0d561d9e785ecaa173d</id>
<content type='text'>
Pass struct dev pointer to dma_cache_sync()

dma_cache_sync() is ill-designed in that it does not have a struct device
pointer argument which makes proper support for systems that consist of a
mix of coherent and non-coherent DMA devices hard.  Change dma_cache_sync
to take a struct device pointer as first argument and fix all its callers
to pass it.

Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
Cc: James Bottomley &lt;James.Bottomley@steeleye.com&gt;
Cc: "David S. Miller" &lt;davem@davemloft.net&gt;
Cc: Greg KH &lt;greg@kroah.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] Add struct dev pointer to dma_is_consistent()</title>
<updated>2006-12-07T16:39:41+00:00</updated>
<author>
<name>Ralf Baechle</name>
<email>ralf@linux-mips.org</email>
</author>
<published>2006-12-07T04:38:54+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=f67637ee4b5d90d41160d755b9a8cca18c394586'/>
<id>urn:sha1:f67637ee4b5d90d41160d755b9a8cca18c394586</id>
<content type='text'>
dma_is_consistent() is ill-designed in that it does not have a struct
device pointer argument which makes proper support for systems that consist
of a mix of coherent and non-coherent DMA devices hard.  Change
dma_is_consistent to take a struct device pointer as first argument and fix
the sole caller to pass it.

Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
Cc: James Bottomley &lt;James.Bottomley@steeleye.com&gt;
Cc: "David S. Miller" &lt;davem@davemloft.net&gt;
Cc: Greg KH &lt;greg@kroah.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] Move valid_dma_direction() from x86_64 to generic code</title>
<updated>2006-09-29T16:18:10+00:00</updated>
<author>
<name>Rolf Eike Beer</name>
<email>eike-kernel@sf-tec.de</email>
</author>
<published>2006-09-29T08:59:48+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=d6bd3a39f7c6ebad49c261c3d458df974c880758'/>
<id>urn:sha1:d6bd3a39f7c6ebad49c261c3d458df974c880758</id>
<content type='text'>
As suggested by Muli Ben-Yehuda this function is moved to generic code as
may be useful for all archs.

[akpm@osdl.org: fix]
Signed-off-by: Rolf Eike Beer &lt;eike-kernel@sf-tec.de&gt;
Cc: Muli Ben-Yehuda &lt;muli@il.ibm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] x86_64: Calgary IOMMU - move valid_dma_direction into the callers</title>
<updated>2006-06-26T17:48:18+00:00</updated>
<author>
<name>Jon Mason</name>
<email>jdmason@us.ibm.com</email>
</author>
<published>2006-06-26T11:58:08+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=a3c042a0f022dade8e02bf6c9be5d2379d7e133c'/>
<id>urn:sha1:a3c042a0f022dade8e02bf6c9be5d2379d7e133c</id>
<content type='text'>
Based on Andi Kleen's comments on the original Calgary patch, move
valid_dma_direction into the calling functions.

Signed-off-by: Muli Ben-Yehuda &lt;muli@il.ibm.com&gt;
Signed-off-by: Jon Mason &lt;jdmason@us.ibm.com&gt;
Signed-off-by: Andi Kleen &lt;ak@suse.de&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>Don't include linux/config.h from anywhere else in include/</title>
<updated>2006-04-26T11:56:16+00:00</updated>
<author>
<name>David Woodhouse</name>
<email>dwmw2@infradead.org</email>
</author>
<published>2006-04-26T11:56:16+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=62c4f0a2d5a188f73a94f2cb8ea0dba3e7cf0a7f'/>
<id>urn:sha1:62c4f0a2d5a188f73a94f2cb8ea0dba3e7cf0a7f</id>
<content type='text'>
Signed-off-by: David Woodhouse &lt;dwmw2@infradead.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] x86_64: Use function pointers to call DMA mapping functions</title>
<updated>2006-01-12T03:04:55+00:00</updated>
<author>
<name>Muli Ben-Yehuda</name>
<email>mulix@mulix.org</email>
</author>
<published>2006-01-11T21:44:42+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=17a941d854a3f7b0bb916fdeee4c9ffdcc19d8d3'/>
<id>urn:sha1:17a941d854a3f7b0bb916fdeee4c9ffdcc19d8d3</id>
<content type='text'>
AK: I hacked Muli's original patch a lot and there were a lot
of changes - all bugs are probably to blame on me now.
There were also some changes in the fall back behaviour
for swiotlb - in particular it doesn't try to use GFP_DMA
now anymore. Also all DMA mapping operations use the
same core dma_alloc_coherent code with proper fallbacks now.
And various other changes and cleanups.

Known problems: iommu=force swiotlb=force together breaks
                needs more testing.

This patch cleans up x86_64's DMA mapping dispatching code. Right now
we have three possible IOMMU types: AGP GART, swiotlb and nommu, and
in the future we will also have Xen's x86_64 swiotlb and other HW
IOMMUs for x86_64. In order to support all of them cleanly, this
patch:

- introduces a struct dma_mapping_ops with function pointers for each
  of the DMA mapping operations of gart (AMD HW IOMMU), swiotlb
  (software IOMMU) and nommu (no IOMMU).

- gets rid of:

  if (swiotlb)
      return swiotlb_xxx();

- PCI_DMA_BUS_IS_PHYS is now checked against the dma_ops being set
This makes swiotlb faster by avoiding double copying in some cases.

Signed-Off-By: Muli Ben-Yehuda &lt;mulix@mulix.org&gt;
Signed-Off-By: Jon D. Mason &lt;jdmason@us.ibm.com&gt;
Signed-off-by: Andi Kleen &lt;ak@suse.de&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
</feed>
