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