1 // SPDX-License-Identifier: GPL-2.0 2 // Copyright (C) 2018 Hangzhou C-SKY Microsystems co.,ltd. 3 4 #include <linux/export.h> 5 #include <linux/mm.h> 6 #include <linux/io.h> 7 8 pgprot_t phys_mem_access_prot(struct file *file, unsigned long pfn, 9 unsigned long size, pgprot_t vma_prot) 10 { 11 if (!pfn_valid(pfn)) { 12 return pgprot_noncached(vma_prot); 13 } else if (file->f_flags & O_SYNC) { 14 return pgprot_writecombine(vma_prot); 15 } 16 17 return vma_prot; 18 } 19 EXPORT_SYMBOL(phys_mem_access_prot); 20