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>
This commit is contained in:
Jesper Dangaard Brouer 2019-02-13 02:55:40 +01:00 коммит произвёл David S. Miller
Родитель fb14b09635
Коммит c25fff7171
1 изменённых файлов: 7 добавлений и 0 удалений

Просмотреть файл

@ -95,6 +95,13 @@ struct page {
*/ */
unsigned long private; 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 */ struct { /* slab, slob and slub */
union { union {
struct list_head slab_list; /* uses lru */ struct list_head slab_list; /* uses lru */