diff options
author | Jesper Dangaard Brouer <brouer@redhat.com> | 2019-02-13 02:55:40 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-02-13 22:00:16 -0800 |
commit | c25fff7171bebb76243ccc77f0f04aafa3db87be (patch) | |
tree | e48b4e7e38d7270f1774a3e30afd6d72d47871ba | |
parent | fb14b096355b8c947a256e8e5259a4ebaca00866 (diff) |
mm: add dma_addr_t to struct page
The page_pool API is using page->private to store DMA addresses.
As pointed out by David Miller we can't use that on 32-bit architectures
with 64-bit DMA
This patch adds a new dma_addr_t struct to allow storing DMA addresses
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Acked-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | include/linux/mm_types.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h index 2c471a2c43fa..0a36a22228e7 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h @@ -95,6 +95,13 @@ struct page { */ unsigned long private; }; + struct { /* page_pool used by netstack */ + /** + * @dma_addr: might require a 64-bit value even on + * 32-bit architectures. + */ + dma_addr_t dma_addr; + }; struct { /* slab, slob and slub */ union { struct list_head slab_list; /* uses lru */ |