2018-09-05 14:25:12 +08:00
|
|
|
// SPDX-License-Identifier: GPL-2.0
|
|
|
|
// Copyright (C) 2018 Hangzhou C-SKY Microsystems co.,ltd.
|
|
|
|
|
|
|
|
#include <linux/export.h>
|
|
|
|
#include <linux/mm.h>
|
|
|
|
#include <linux/io.h>
|
|
|
|
|
2019-01-30 20:13:11 +08:00
|
|
|
pgprot_t phys_mem_access_prot(struct file *file, unsigned long pfn,
|
|
|
|
unsigned long size, pgprot_t vma_prot)
|
|
|
|
{
|
|
|
|
if (!pfn_valid(pfn)) {
|
|
|
|
return pgprot_noncached(vma_prot);
|
|
|
|
} else if (file->f_flags & O_SYNC) {
|
2019-07-30 14:43:22 +08:00
|
|
|
return pgprot_writecombine(vma_prot);
|
2019-01-30 20:13:11 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
return vma_prot;
|
|
|
|
}
|
|
|
|
EXPORT_SYMBOL(phys_mem_access_prot);
|