diff options
| author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2019-02-14 14:07:17 +0100 |
|---|---|---|
| committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2019-02-14 14:07:18 +0100 |
| commit | 8d451a4b6e9f4b52ae3d4cafe17486d8d0c6afb0 (patch) | |
| tree | 299ada5e68937f5f356974c49ae0b3e5c4145f05 /drivers/gpu/drm/xen/xen_drm_front_gem.c | |
| parent | 16065fcdd19ddb9e093192914ac863884f308766 (diff) | |
| parent | 6649a95d35d850e417f125821a803ca7889c713c (diff) | |
| download | linux-8d451a4b6e9f4b52ae3d4cafe17486d8d0c6afb0.tar.gz linux-8d451a4b6e9f4b52ae3d4cafe17486d8d0c6afb0.tar.bz2 linux-8d451a4b6e9f4b52ae3d4cafe17486d8d0c6afb0.zip | |
Merge tag 'drm-misc-next-2019-02-11' of git://anongit.freedesktop.org/drm/drm-misc into drm-next
drm-misc-next for 5.1:
UAPI Changes:
- New fourcc for P010 and P016 formats
Cross-subsystem Changes:
Core Changes:
- Removal of drm_calc_{h,v}scale_relaxed
- A few fixes for DP-MST
Driver Changes:
- More drmP.h cleanups
- A bunch of vkms fixes
- Conversion of the Cadence DSI bridge and Allwinner DSI driver to the
generic phy MIPI-DPHY API
- New panel: Innolux EE101IA-01D
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
From: Maxime Ripard <maxime.ripard@bootlin.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190211095220.3oeodszr2dgxrwqq@flea
Diffstat (limited to 'drivers/gpu/drm/xen/xen_drm_front_gem.c')
| -rw-r--r-- | drivers/gpu/drm/xen/xen_drm_front_gem.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/drivers/gpu/drm/xen/xen_drm_front_gem.c b/drivers/gpu/drm/xen/xen_drm_front_gem.c index d303a2e17f5e..53c376d55fcf 100644 --- a/drivers/gpu/drm/xen/xen_drm_front_gem.c +++ b/drivers/gpu/drm/xen/xen_drm_front_gem.c @@ -235,8 +235,14 @@ static int gem_mmap_obj(struct xen_gem_object *xen_obj, vma->vm_flags &= ~VM_PFNMAP; vma->vm_flags |= VM_MIXEDMAP; vma->vm_pgoff = 0; - vma->vm_page_prot = - pgprot_writecombine(vm_get_page_prot(vma->vm_flags)); + /* + * According to Xen on ARM ABI (xen/include/public/arch-arm.h): + * all memory which is shared with other entities in the system + * (including the hypervisor and other guests) must reside in memory + * which is mapped as Normal Inner Write-Back Outer Write-Back + * Inner-Shareable. + */ + vma->vm_page_prot = vm_get_page_prot(vma->vm_flags); /* * vm_operations_struct.fault handler will be called if CPU access @@ -282,8 +288,9 @@ void *xen_drm_front_gem_prime_vmap(struct drm_gem_object *gem_obj) if (!xen_obj->pages) return NULL; + /* Please see comment in gem_mmap_obj on mapping and attributes. */ return vmap(xen_obj->pages, xen_obj->num_pages, - VM_MAP, pgprot_writecombine(PAGE_KERNEL)); + VM_MAP, PAGE_KERNEL); } void xen_drm_front_gem_prime_vunmap(struct drm_gem_object *gem_obj, |
