Commit 8315a3c1 authored by Hongchen Zhang's avatar Hongchen Zhang
Browse files

LoongArch: fix dma-direct.h not found

LoongArch inclusion
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/IAZ2YN


CVE: NA

--------------------------------

This patch fix the compile error: dma-direct.h not found

Fixes: 90d2bbc1 ("LoongArch: use arch specific phys_to_dma")
Signed-off-by: default avatarHongchen Zhang <zhanghongchen@loongson.cn>
parent 9a2058ed
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _ASM_LOONGARCH_DMA_DIRECT_H
#define _ASM_LOONGARCH_DMA_DIRECT_H

extern int node_id_offset;

static inline dma_addr_t phys_to_dma(struct device *dev, phys_addr_t paddr)
{
	long nid = (paddr >> 44) & 0xf;

	return ((nid << 44) ^ paddr) | (nid << node_id_offset);
}

static inline phys_addr_t dma_to_phys(struct device *dev, dma_addr_t daddr)
{
	long nid = (daddr >> node_id_offset) & 0xf;

	return ((nid << node_id_offset) ^ daddr) | (nid << 44);
}

#endif /* _ASM_LOONGARCH_DMA_DIRECT_H */
+2 −15
Original line number Diff line number Diff line
@@ -11,21 +11,8 @@
 * 48bit physical address space and embed it into 40bit.
 */

static int node_id_offset;

dma_addr_t phys_to_dma(struct device *dev, phys_addr_t paddr)
{
	long nid = (paddr >> 44) & 0xf;

	return ((nid << 44) ^ paddr) | (nid << node_id_offset);
}

phys_addr_t dma_to_phys(struct device *dev, dma_addr_t daddr)
{
	long nid = (daddr >> node_id_offset) & 0xf;

	return ((nid << node_id_offset) ^ daddr) | (nid << 44);
}
int node_id_offset;
EXPORT_SYMBOL_GPL(node_id_offset);

void acpi_arch_dma_setup(struct device *dev)
{