drm/rockchip: Do not use DMA mapping API if attached to IOMMU domain
authorTomasz Figa <tfiga@chromium.org>
Fri, 24 Jun 2016 02:13:31 +0000 (10:13 +0800)
committerMark Yao <mark.yao@rock-chips.com>
Wed, 15 Feb 2017 00:52:13 +0000 (08:52 +0800)
commit38f993b7c59e261b8ff7deb66c96c7dff4017f7b
tree708f6e3af42cfa4ff25ecef1f81f8dde0ee9d435
parent13f62f54d174d3417c3caaafedf5e22a0a03e442
drm/rockchip: Do not use DMA mapping API if attached to IOMMU domain

The API is not suitable for subsystems consisting of multiple devices
and requires severe hacks to use it. To mitigate this, this patch
implements allocation and address space management locally by using
helpers provided by DRM framework, like other DRM drivers do, e.g.
Tegra.

This patch should not introduce any functional changes until the driver
is made to attach subdevices into an IOMMU domain with the generic IOMMU
API, which will happen in following patch. Based heavily on GEM
implementation of Tegra DRM driver.

Signed-off-by: Tomasz Figa <tfiga@chromium.org>
Signed-off-by: Shunqian Zheng <zhengsq@rock-chips.com>
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Signed-off-by: rjan Eide <orjan.eide@arm.com>
drivers/gpu/drm/rockchip/rockchip_drm_drv.h
drivers/gpu/drm/rockchip/rockchip_drm_gem.c
drivers/gpu/drm/rockchip/rockchip_drm_gem.h