xref: /openbmc/linux/arch/m68k/include/asm/fb.h (revision b24413180f5600bcb3bb70fbed5cf186b60864bd)
1*b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
2146b7cdbSGreg Ungerer #ifndef _ASM_FB_H_
3146b7cdbSGreg Ungerer #define _ASM_FB_H_
4146b7cdbSGreg Ungerer 
5146b7cdbSGreg Ungerer #include <linux/fb.h>
6146b7cdbSGreg Ungerer #include <linux/fs.h>
7146b7cdbSGreg Ungerer #include <asm/page.h>
8146b7cdbSGreg Ungerer #include <asm/setup.h>
9146b7cdbSGreg Ungerer 
10146b7cdbSGreg Ungerer #ifdef CONFIG_MMU
11146b7cdbSGreg Ungerer #ifdef CONFIG_SUN3
12146b7cdbSGreg Ungerer static inline void fb_pgprotect(struct file *file, struct vm_area_struct *vma,
13146b7cdbSGreg Ungerer 				unsigned long off)
14146b7cdbSGreg Ungerer {
15146b7cdbSGreg Ungerer 	pgprot_val(vma->vm_page_prot) |= SUN3_PAGE_NOCACHE;
16146b7cdbSGreg Ungerer }
1749148020SSam Ravnborg #else
18146b7cdbSGreg Ungerer static inline void fb_pgprotect(struct file *file, struct vm_area_struct *vma,
19146b7cdbSGreg Ungerer 				unsigned long off)
20146b7cdbSGreg Ungerer {
21146b7cdbSGreg Ungerer 	if (CPU_IS_020_OR_030)
22146b7cdbSGreg Ungerer 		pgprot_val(vma->vm_page_prot) |= _PAGE_NOCACHE030;
23146b7cdbSGreg Ungerer 	if (CPU_IS_040_OR_060) {
24146b7cdbSGreg Ungerer 		pgprot_val(vma->vm_page_prot) &= _CACHEMASK040;
25146b7cdbSGreg Ungerer 		/* Use no-cache mode, serialized */
26146b7cdbSGreg Ungerer 		pgprot_val(vma->vm_page_prot) |= _PAGE_NOCACHE_S;
27146b7cdbSGreg Ungerer 	}
28146b7cdbSGreg Ungerer }
29146b7cdbSGreg Ungerer #endif /* CONFIG_SUN3 */
30146b7cdbSGreg Ungerer #else
31146b7cdbSGreg Ungerer #define fb_pgprotect(...) do {} while (0)
32146b7cdbSGreg Ungerer #endif /* CONFIG_MMU */
33146b7cdbSGreg Ungerer 
34146b7cdbSGreg Ungerer static inline int fb_is_primary_device(struct fb_info *info)
35146b7cdbSGreg Ungerer {
36146b7cdbSGreg Ungerer 	return 0;
37146b7cdbSGreg Ungerer }
38146b7cdbSGreg Ungerer 
39146b7cdbSGreg Ungerer #endif /* _ASM_FB_H_ */
40