This reverts commit "XXX ARM: fbdev: force use of device memtype This *really* doesn't belong here I should just override fb_mmap for omapdrm fbdev"
and moves the override option to fb_mmap.
Missing: choose pgprot_device() for OMAP5 with TILER only and pgprot_writecombine() otherwise. --- arch/arm/include/asm/fb.h | 2 +- drivers/video/fbdev/core/fbmem.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/arch/arm/include/asm/fb.h b/arch/arm/include/asm/fb.h index b4974b825dc1..d92e99cd8c8a 100644 --- a/arch/arm/include/asm/fb.h +++ b/arch/arm/include/asm/fb.h @@ -8,7 +8,7 @@ static inline void fb_pgprotect(struct file *file, struct vm_area_struct *vma, unsigned long off) { - vma->vm_page_prot = pgprot_device(vma->vm_page_prot); + vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot); }
static inline int fb_is_primary_device(struct fb_info *info) diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c index f741ba8df01b..d40b1b549d87 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c @@ -1434,7 +1434,11 @@ fb_mmap(struct file *file, struct vm_area_struct * vma) * SME protection is removed */ vma->vm_page_prot = pgprot_decrypted(vma->vm_page_prot); +#if 0 // OMAP5 TILER may need it (or not?) but it breaks on OMAP3 + vma->vm_page_prot = pgprot_device(vma->vm_page_prot); +#else // all others incl. OMAP3 w/o TILER fb_pgprotect(file, vma, start); +#endif
return vm_iomap_memory(vma, start, len); }