diff options
| author | Alexey Brodkin <Alexey.Brodkin@synopsys.com> | 2016-03-28 07:36:38 -0400 |
|---|---|---|
| committer | Vineet Gupta <vgupta@synopsys.com> | 2016-04-07 05:29:09 -0400 |
| commit | e5e0a65cd20a7a892a87e6bd73bdc3d83726d725 (patch) | |
| tree | 52b6bbcef2d992c6127ab156ff59567dfae780f9 | |
| parent | 732dc97baec006c118bf49d52dd1c0b91b388497 (diff) | |
arc: Add our own implementation of fb_pgprotect()
During mmaping of frame-buffer pages to user-space
fb_protect() is called to set proper page settings.
In case of ARC we need to mark pages that are mmaped to
user as uncached because of 2 reasons:
* Huge amount of data if passing through data cache will
thrash cache a lot making cache almost useless for other
less traffic hungry processes.
* Data written by user in FB will be immediately available for
hardware (such as PGU etc) without requirements to flush data
cache regularly.
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: linux-snps-arc@lists.infradead.org
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
| -rw-r--r-- | arch/arc/include/asm/fb.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/arch/arc/include/asm/fb.h b/arch/arc/include/asm/fb.h new file mode 100644 index 000000000000..bd3f68c9ddfc --- /dev/null +++ b/arch/arc/include/asm/fb.h | |||
| @@ -0,0 +1,19 @@ | |||
| 1 | #ifndef _ASM_FB_H_ | ||
| 2 | #define _ASM_FB_H_ | ||
| 3 | |||
| 4 | #include <linux/fb.h> | ||
| 5 | #include <linux/fs.h> | ||
| 6 | #include <asm/page.h> | ||
| 7 | |||
| 8 | static inline void fb_pgprotect(struct file *file, struct vm_area_struct *vma, | ||
| 9 | unsigned long off) | ||
| 10 | { | ||
| 11 | vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot); | ||
| 12 | } | ||
| 13 | |||
| 14 | static inline int fb_is_primary_device(struct fb_info *info) | ||
| 15 | { | ||
| 16 | return 0; | ||
| 17 | } | ||
| 18 | |||
| 19 | #endif /* _ASM_FB_H_ */ | ||
