xref: /openbsd-src/sys/dev/pci/drm/i915/i915_mm.h (revision f005ef32267c16bdb134f0e9fa4477dbe07c263a)
11bb76ff1Sjsg /* SPDX-License-Identifier: MIT */
21bb76ff1Sjsg /*
31bb76ff1Sjsg  * Copyright © 2021 Intel Corporation
41bb76ff1Sjsg  */
51bb76ff1Sjsg 
61bb76ff1Sjsg #ifndef __I915_MM_H__
71bb76ff1Sjsg #define __I915_MM_H__
81bb76ff1Sjsg 
91bb76ff1Sjsg #include <linux/bug.h>
101bb76ff1Sjsg #include <linux/types.h>
111bb76ff1Sjsg 
12*f005ef32Sjsg #ifdef __linux__
131bb76ff1Sjsg struct vm_area_struct;
14*f005ef32Sjsg #endif
151bb76ff1Sjsg struct io_mapping;
161bb76ff1Sjsg struct scatterlist;
171bb76ff1Sjsg 
181bb76ff1Sjsg #ifdef notyet
191bb76ff1Sjsg #if IS_ENABLED(CONFIG_X86)
201bb76ff1Sjsg int remap_io_mapping(struct vm_area_struct *vma,
211bb76ff1Sjsg 		     unsigned long addr, unsigned long pfn, unsigned long size,
221bb76ff1Sjsg 		     struct io_mapping *iomap);
231bb76ff1Sjsg #else
241bb76ff1Sjsg static inline
remap_io_mapping(struct vm_area_struct * vma,unsigned long addr,unsigned long pfn,unsigned long size,struct io_mapping * iomap)251bb76ff1Sjsg int remap_io_mapping(struct vm_area_struct *vma,
261bb76ff1Sjsg 		     unsigned long addr, unsigned long pfn, unsigned long size,
271bb76ff1Sjsg 		     struct io_mapping *iomap)
281bb76ff1Sjsg {
291bb76ff1Sjsg 	WARN_ONCE(1, "Architecture has no drm_cache.c support\n");
301bb76ff1Sjsg 	return 0;
311bb76ff1Sjsg }
321bb76ff1Sjsg #endif
331bb76ff1Sjsg #endif /* notyet */
341bb76ff1Sjsg 
35*f005ef32Sjsg #ifdef __linux__
361bb76ff1Sjsg int remap_io_sg(struct vm_area_struct *vma,
371bb76ff1Sjsg 		unsigned long addr, unsigned long size,
381bb76ff1Sjsg 		struct scatterlist *sgl, resource_size_t iobase);
39*f005ef32Sjsg #endif
401bb76ff1Sjsg 
411bb76ff1Sjsg #endif /* __I915_MM_H__ */
42