powerpc/mm: Fixup tlbie vs mtpidr/mtlpidr ordering issue on POWER9
[linux-2.6-block.git] / arch / powerpc / include / asm / dma-direct.h
CommitLineData
ea8c64ac
CH
1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef ASM_POWERPC_DMA_DIRECT_H
3#define ASM_POWERPC_DMA_DIRECT_H 1
4
5static inline bool dma_capable(struct device *dev, dma_addr_t addr, size_t size)
6{
ea8c64ac
CH
7 if (!dev->dma_mask)
8 return false;
9
9b18114c
CH
10 return addr + size - 1 <=
11 min_not_zero(*dev->dma_mask, dev->bus_dma_mask);
ea8c64ac
CH
12}
13
b6e05477 14static inline dma_addr_t __phys_to_dma(struct device *dev, phys_addr_t paddr)
ea8c64ac 15{
7610fdf5
CH
16 if (!dev)
17 return paddr + PCI_DRAM_OFFSET;
18 return paddr + dev->archdata.dma_offset;
ea8c64ac
CH
19}
20
b6e05477 21static inline phys_addr_t __dma_to_phys(struct device *dev, dma_addr_t daddr)
ea8c64ac 22{
7610fdf5
CH
23 if (!dev)
24 return daddr - PCI_DRAM_OFFSET;
25 return daddr - dev->archdata.dma_offset;
ea8c64ac
CH
26}
27#endif /* ASM_POWERPC_DMA_DIRECT_H */