mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 11:46:19 +00:00
Update DMA-mapping documentation
A couple of updates haven't considered whether the documentation makes sense as a whole any more. Three changes here: - Remove the reference to the "DAC Addressing for Address Space Hungry Devices" section which was deleted by Jan Beulich. - Remove the comment about DMA_24BIT_MASK which became obsolete when Tobias Klauser changed the code to actually use DMA_24BIT_MASK. - Remove the section "64-bit DMA and DAC cycle support" since it's fully covered above, and contains a reference to the section deleted by Jan. Signed-off-by: Matthew Wilcox <willy@linux.intel.com> Cc: "David S. Miller" <davem@davemloft.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
814073620a
commit
d1482f40c9
1 changed files with 0 additions and 20 deletions
|
@ -189,12 +189,6 @@ smaller mask as pci_set_dma_mask(). However for the rare case that a
|
||||||
device driver only uses consistent allocations, one would have to
|
device driver only uses consistent allocations, one would have to
|
||||||
check the return value from pci_set_consistent_dma_mask().
|
check the return value from pci_set_consistent_dma_mask().
|
||||||
|
|
||||||
If your 64-bit device is going to be an enormous consumer of DMA
|
|
||||||
mappings, this can be problematic since the DMA mappings are a
|
|
||||||
finite resource on many platforms. Please see the "DAC Addressing
|
|
||||||
for Address Space Hungry Devices" section near the end of this
|
|
||||||
document for how to handle this case.
|
|
||||||
|
|
||||||
Finally, if your device can only drive the low 24-bits of
|
Finally, if your device can only drive the low 24-bits of
|
||||||
address during PCI bus mastering you might do something like:
|
address during PCI bus mastering you might do something like:
|
||||||
|
|
||||||
|
@ -203,8 +197,6 @@ address during PCI bus mastering you might do something like:
|
||||||
"mydev: 24-bit DMA addressing not available.\n");
|
"mydev: 24-bit DMA addressing not available.\n");
|
||||||
goto ignore_this_device;
|
goto ignore_this_device;
|
||||||
}
|
}
|
||||||
[Better use DMA_24BIT_MASK instead of 0x00ffffff.
|
|
||||||
See linux/include/dma-mapping.h for reference.]
|
|
||||||
|
|
||||||
When pci_set_dma_mask() is successful, and returns zero, the PCI layer
|
When pci_set_dma_mask() is successful, and returns zero, the PCI layer
|
||||||
saves away this mask you have provided. The PCI layer will use this
|
saves away this mask you have provided. The PCI layer will use this
|
||||||
|
@ -652,18 +644,6 @@ It is planned to completely remove virt_to_bus() and bus_to_virt() as
|
||||||
they are entirely deprecated. Some ports already do not provide these
|
they are entirely deprecated. Some ports already do not provide these
|
||||||
as it is impossible to correctly support them.
|
as it is impossible to correctly support them.
|
||||||
|
|
||||||
64-bit DMA and DAC cycle support
|
|
||||||
|
|
||||||
Do you understand all of the text above? Great, then you already
|
|
||||||
know how to use 64-bit DMA addressing under Linux. Simply make
|
|
||||||
the appropriate pci_set_dma_mask() calls based upon your cards
|
|
||||||
capabilities, then use the mapping APIs above.
|
|
||||||
|
|
||||||
It is that simple.
|
|
||||||
|
|
||||||
Well, not for some odd devices. See the next section for information
|
|
||||||
about that.
|
|
||||||
|
|
||||||
Optimizing Unmap State Space Consumption
|
Optimizing Unmap State Space Consumption
|
||||||
|
|
||||||
On many platforms, pci_unmap_{single,page}() is simply a nop.
|
On many platforms, pci_unmap_{single,page}() is simply a nop.
|
||||||
|
|
Loading…
Reference in a new issue