]> git.baikalelectronics.ru Git - kernel.git/commit
drm/xen-front: Remove CMA support
authorOleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Tue, 17 Apr 2018 07:40:12 +0000 (10:40 +0300)
committerOleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Wed, 18 Apr 2018 07:18:27 +0000 (10:18 +0300)
commit259c01dc0b1107f176230cf965f8267dd2c08809
treee8cf2a3432f881fa3a37636a955a3aa5fed0263c
parent815dcb795d3c09adfb48a794fb02fd5bcbe6480e
drm/xen-front: Remove CMA support

It turns out this was only needed to paper over a bug in the CMA
helpers, which was addressed in

commit 9f6f78d1213a1df4c7de92e6b49468b6ae18d678
Author: Liviu Dudau <Liviu.Dudau@arm.com>
Date:   Fri Nov 10 13:33:10 2017 +0000

    drm: gem_cma_helper.c: Allow importing of contiguous scatterlists with nents > 1

Without this the following pipeline didn't work:

domU:
1. xen-front allocates a non-contig buffer
2. creates grants out of it

dom0:
3. converts the grants into a dma-buf. Since they're non-contig, the
scatter-list is huge.
4. imports it into rcar-du, which requires dma-contig memory for
scanout.

-> On this given platform there's an IOMMU, so in theory this should
work. But in practice this failed, because of the huge number of sg
entries, even though the IOMMU driver mapped it all into a dma-contig
range.

With a guest-contig buffer allocated in step 1, this problem doesn't
exist. But there's technically no reason to require guest-contig
memory for xen buffer sharing using grants.

Given all that, the xen-front cma support is not needed and should be
removed.

Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Suggested-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20180417074012.21311-1-andr2000@gmail.com
Documentation/gpu/xen-front.rst
drivers/gpu/drm/xen/Kconfig
drivers/gpu/drm/xen/Makefile
drivers/gpu/drm/xen/xen_drm_front.c
drivers/gpu/drm/xen/xen_drm_front.h
drivers/gpu/drm/xen/xen_drm_front_gem.c
drivers/gpu/drm/xen/xen_drm_front_gem.h
drivers/gpu/drm/xen/xen_drm_front_gem_cma.c [deleted file]
drivers/gpu/drm/xen/xen_drm_front_shbuf.c
drivers/gpu/drm/xen/xen_drm_front_shbuf.h