xref: /openbmc/linux/drivers/gpu/drm/i915/i915_mm.h (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
167c430bbSSiva Mullati /* SPDX-License-Identifier: MIT */
267c430bbSSiva Mullati /*
367c430bbSSiva Mullati  * Copyright © 2021 Intel Corporation
467c430bbSSiva Mullati  */
567c430bbSSiva Mullati 
667c430bbSSiva Mullati #ifndef __I915_MM_H__
767c430bbSSiva Mullati #define __I915_MM_H__
867c430bbSSiva Mullati 
9*377c675fSLucas De Marchi #include <linux/bug.h>
1067c430bbSSiva Mullati #include <linux/types.h>
1167c430bbSSiva Mullati 
1267c430bbSSiva Mullati struct vm_area_struct;
1367c430bbSSiva Mullati struct io_mapping;
1467c430bbSSiva Mullati struct scatterlist;
1567c430bbSSiva Mullati 
1667c430bbSSiva Mullati #if IS_ENABLED(CONFIG_X86)
1767c430bbSSiva Mullati int remap_io_mapping(struct vm_area_struct *vma,
1867c430bbSSiva Mullati 		     unsigned long addr, unsigned long pfn, unsigned long size,
1967c430bbSSiva Mullati 		     struct io_mapping *iomap);
2067c430bbSSiva Mullati #else
2167c430bbSSiva Mullati static inline
remap_io_mapping(struct vm_area_struct * vma,unsigned long addr,unsigned long pfn,unsigned long size,struct io_mapping * iomap)2267c430bbSSiva Mullati int remap_io_mapping(struct vm_area_struct *vma,
2367c430bbSSiva Mullati 		     unsigned long addr, unsigned long pfn, unsigned long size,
2467c430bbSSiva Mullati 		     struct io_mapping *iomap)
2567c430bbSSiva Mullati {
26d30b9ae9SLucas De Marchi 	WARN_ONCE(1, "Architecture has no drm_cache.c support\n");
2767c430bbSSiva Mullati 	return 0;
2867c430bbSSiva Mullati }
2967c430bbSSiva Mullati #endif
3067c430bbSSiva Mullati 
3167c430bbSSiva Mullati int remap_io_sg(struct vm_area_struct *vma,
3267c430bbSSiva Mullati 		unsigned long addr, unsigned long size,
3367c430bbSSiva Mullati 		struct scatterlist *sgl, resource_size_t iobase);
3467c430bbSSiva Mullati 
3567c430bbSSiva Mullati #endif /* __I915_MM_H__ */
36