Write-combine framebuffer writes through user-space mappings, if possible.

Note that KVA mapping of the framebuffer already uses write-combining
mode, so the change, besides improving speed of user mode writes, also
satisfies requirement of the IA32 architecture of using consistent
caching modes for multiple mappings of the same page.

Reported and tested by:	bde
Sponsored by:	The FreeBSD Foundation
MFC after:	 1 week
This commit is contained in:
Konstantin Belousov 2017-04-20 15:18:15 +00:00
parent 5d840968f8
commit be4bf62684
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=317196

View File

@ -1643,6 +1643,9 @@ vesa_mmap(video_adapter_t *adp, vm_ooffset_t offset, vm_paddr_t *paddr,
if (offset > adp->va_window_size - PAGE_SIZE)
return (-1);
*paddr = adp->va_info.vi_buffer + offset;
#ifdef VM_MEMATTR_WRITE_COMBINING
*memattr = VM_MEMATTR_WRITE_COMBINING;
#endif
return (0);
}
return ((*prevvidsw->mmap)(adp, offset, paddr, prot, memattr));