xref: /dflybsd-src/sys/dev/drm/include/asm/page.h (revision e2a4a6b10bbe56932d54ec1764aad5be0fc49c6f)
18b1a6a38SFrançois Tigeot /*
2*e2a4a6b1SFrançois Tigeot  * Copyright (c) 2015-2020 François Tigeot <ftigeot@wolfpond.org>
38b1a6a38SFrançois Tigeot  * All rights reserved.
48b1a6a38SFrançois Tigeot  *
58b1a6a38SFrançois Tigeot  * Redistribution and use in source and binary forms, with or without
68b1a6a38SFrançois Tigeot  * modification, are permitted provided that the following conditions
78b1a6a38SFrançois Tigeot  * are met:
88b1a6a38SFrançois Tigeot  * 1. Redistributions of source code must retain the above copyright
98b1a6a38SFrançois Tigeot  *    notice unmodified, this list of conditions, and the following
108b1a6a38SFrançois Tigeot  *    disclaimer.
118b1a6a38SFrançois Tigeot  * 2. Redistributions in binary form must reproduce the above copyright
128b1a6a38SFrançois Tigeot  *    notice, this list of conditions and the following disclaimer in the
138b1a6a38SFrançois Tigeot  *    documentation and/or other materials provided with the distribution.
148b1a6a38SFrançois Tigeot  *
158b1a6a38SFrançois Tigeot  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
168b1a6a38SFrançois Tigeot  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
178b1a6a38SFrançois Tigeot  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
188b1a6a38SFrançois Tigeot  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
198b1a6a38SFrançois Tigeot  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
208b1a6a38SFrançois Tigeot  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
218b1a6a38SFrançois Tigeot  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
228b1a6a38SFrançois Tigeot  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
238b1a6a38SFrançois Tigeot  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
248b1a6a38SFrançois Tigeot  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
258b1a6a38SFrançois Tigeot  */
268b1a6a38SFrançois Tigeot 
278b1a6a38SFrançois Tigeot #ifndef _ASM_PAGE_H_
288b1a6a38SFrançois Tigeot #define _ASM_PAGE_H_
298b1a6a38SFrançois Tigeot 
30f0bba3d1SFrançois Tigeot struct page;
31f0bba3d1SFrançois Tigeot 
3209f141c4SFrançois Tigeot #include <vm/vm_page.h>
3309f141c4SFrançois Tigeot 
34f0bba3d1SFrançois Tigeot static inline vm_paddr_t
35f0bba3d1SFrançois Tigeot page_to_phys(struct page *page)
36f0bba3d1SFrançois Tigeot {
37f0bba3d1SFrançois Tigeot 	struct vm_page *p = (struct vm_page *)page;
38f0bba3d1SFrançois Tigeot 
39f0bba3d1SFrançois Tigeot 	return VM_PAGE_TO_PHYS(p);
40f0bba3d1SFrançois Tigeot }
418b1a6a38SFrançois Tigeot 
42d653c727SFrançois Tigeot #define LINUX_PAGE_MASK	(~PAGE_MASK)
43d653c727SFrançois Tigeot 
44541aa16dSFrançois Tigeot #include <asm/memory_model.h>
45541aa16dSFrançois Tigeot 
46b3816793SFrançois Tigeot typedef unsigned long pgprot_t;
47b3816793SFrançois Tigeot 
48*e2a4a6b1SFrançois Tigeot #define virt_to_page(kaddr)	(struct page *)PHYS_TO_VM_PAGE(vtophys(kaddr))
49*e2a4a6b1SFrançois Tigeot 
508b1a6a38SFrançois Tigeot #endif	/* _ASM_PAGE_H_ */
51