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
8pgprot_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}
19EXPORT_SYMBOL(phys_mem_access_prot);
20