blob: 24273fc7ad9176fa86238fbd2b4ab9b638efd57e [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001/* SPDX-License-Identifier: GPL-2.0 */
Greg Ungerer146b7cd2009-02-06 14:25:53 +10002#ifndef _ASM_FB_H_
3#define _ASM_FB_H_
4
Greg Ungerer146b7cd2009-02-06 14:25:53 +10005#include <asm/page.h>
6#include <asm/setup.h>
7
Thomas Zimmermanndb216472023-04-17 14:56:40 +02008struct file;
9
Thomas Zimmermannd8475172023-04-17 14:56:39 +020010static inline void fb_pgprotect(struct file *file, struct vm_area_struct *vma,
11 unsigned long off)
12{
Greg Ungerer146b7cd2009-02-06 14:25:53 +100013#ifdef CONFIG_MMU
14#ifdef CONFIG_SUN3
Greg Ungerer146b7cd2009-02-06 14:25:53 +100015 pgprot_val(vma->vm_page_prot) |= SUN3_PAGE_NOCACHE;
Sam Ravnborg49148022009-01-16 21:58:10 +100016#else
Greg Ungerer146b7cd2009-02-06 14:25:53 +100017 if (CPU_IS_020_OR_030)
18 pgprot_val(vma->vm_page_prot) |= _PAGE_NOCACHE030;
19 if (CPU_IS_040_OR_060) {
20 pgprot_val(vma->vm_page_prot) &= _CACHEMASK040;
21 /* Use no-cache mode, serialized */
22 pgprot_val(vma->vm_page_prot) |= _PAGE_NOCACHE_S;
23 }
Greg Ungerer146b7cd2009-02-06 14:25:53 +100024#endif /* CONFIG_SUN3 */
Greg Ungerer146b7cd2009-02-06 14:25:53 +100025#endif /* CONFIG_MMU */
Thomas Zimmermannd8475172023-04-17 14:56:39 +020026}
Thomas Zimmermanndb216472023-04-17 14:56:40 +020027#define fb_pgprotect fb_pgprotect
Greg Ungerer146b7cd2009-02-06 14:25:53 +100028
Thomas Zimmermanndb216472023-04-17 14:56:40 +020029#include <asm-generic/fb.h>
Greg Ungerer146b7cd2009-02-06 14:25:53 +100030
31#endif /* _ASM_FB_H_ */