.. | .. |
---|
10 | 10 | |
---|
11 | 11 | The big picture is that USB drivers can continue to ignore most DMA issues, |
---|
12 | 12 | though they still must provide DMA-ready buffers (see |
---|
13 | | -``Documentation/DMA-API-HOWTO.txt``). That's how they've worked through |
---|
| 13 | +:doc:`/core-api/dma-api-howto`). That's how they've worked through |
---|
14 | 14 | the 2.4 (and earlier) kernels, or they can now be DMA-aware. |
---|
15 | 15 | |
---|
16 | 16 | DMA-aware usb drivers: |
---|
.. | .. |
---|
60 | 60 | force a consistent memory access ordering by using memory barriers. It's |
---|
61 | 61 | not using a streaming DMA mapping, so it's good for small transfers on |
---|
62 | 62 | systems where the I/O would otherwise thrash an IOMMU mapping. (See |
---|
63 | | - ``Documentation/DMA-API-HOWTO.txt`` for definitions of "coherent" and |
---|
| 63 | + :doc:`/core-api/dma-api-howto` for definitions of "coherent" and |
---|
64 | 64 | "streaming" DMA mappings.) |
---|
65 | 65 | |
---|
66 | 66 | Asking for 1/Nth of a page (as well as asking for N pages) is reasonably |
---|
.. | .. |
---|
91 | 91 | Existing buffers aren't usable for DMA without first being mapped into the |
---|
92 | 92 | DMA address space of the device. However, most buffers passed to your |
---|
93 | 93 | driver can safely be used with such DMA mapping. (See the first section |
---|
94 | | -of Documentation/DMA-API-HOWTO.txt, titled "What memory is DMA-able?") |
---|
| 94 | +of :doc:`/core-api/dma-api-howto`, titled "What memory is DMA-able?") |
---|
95 | 95 | |
---|
96 | 96 | - When you're using scatterlists, you can map everything at once. On some |
---|
97 | 97 | systems, this kicks in an IOMMU and turns the scatterlists into single |
---|