Lines Matching +full:dma +full:- +full:safe +full:- +full:map
1 .. SPDX-License-Identifier: GPL-2.0
8 per-page, but it can fallback on the regular page allocator APIs.
15 when it is safe to free a page_pool object. Thus, API users
22 release the DMA mapping and inflight state accounting.
27 .. code-block:: none
29 +------------------+
31 +------------------+
37 +--------------------------------------------+
39 +--------------------------------------------+
45 +-----------------------+ +------------------------+
46 | alloc (and map) pages | | get page from cache |
47 +-----------------------+ +------------------------+
51 | | from ptr-ring
54 +-----------------+ +------------------+
55 | Fast cache | | ptr-ring cache |
56 +-----------------+ +------------------+
72 * dev: struct device. Used on DMA operations
73 * dma_dir: DMA direction
74 * max_len: max DMA sync memory size
75 * offset: DMA address offset
83 * page_pool_put_full_page(): Similar to page_pool_put_page(), but will DMA sync
84 for the entire memory area configured in area pool->max_len.
87 must guarantee safe context (e.g NAPI), since it will recycle the page
96 * page_pool_get_dma_addr(): Retrieve the stored DMA address.
98 * page_pool_get_dma_dir(): Retrieve the stored DMA direction.
104 ------------
106 .. code-block:: c
114 /* internal DMA mapping in page_pool */
118 pp_params.dev = priv->dev;
131 -----------
134 .. code-block:: c
139 dma_dir = page_pool_get_dma_dir(dring->page_pool);
153 -------------
155 .. code-block:: c