]> git.baikalelectronics.ru Git - kernel.git/commit
drm/etnaviv: add DMA configuration for etnaviv platform device
authorLucas Stach <l.stach@pengutronix.de>
Wed, 12 Sep 2018 14:34:27 +0000 (16:34 +0200)
committerLucas Stach <l.stach@pengutronix.de>
Fri, 14 Sep 2018 16:46:10 +0000 (18:46 +0200)
commit2ee33565a68d19cdad0e3ee193a1c1b9e84c0d09
tree22b96973ceba55efa9fe31c928e47b3b31243ba7
parent0ff97265403d59a684be8666710156706ccfd8fa
drm/etnaviv: add DMA configuration for etnaviv platform device

The etnaviv device is a virtual device backing the DRM device, which may
drive multiple hardware GPU core devices. As most of the dma-mapping handling
is done through the virtual device, we need to make sure that a proper DMA
setup is in place. The easiest way to get a reasonable configuration is
to let the virtual device share the DMA configuration with one of the GPU
devices, so call of_dma_configure() with the right parameters manually.

This assumes that all etnaviv driven GPU devices in the system share the
same DMA configuration. If we ever encounter a SoC where the GPUs are on
busses with different offsets or behind different IOMMUs that will require
much deeper changes to the driver, as we would need to implement etnaviv
specific versions of most of the DRM helper functions.

For now we should be fine with this solution.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Tested-by: Guido Günther <agx@sigxcpu.org>
Tested-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
drivers/gpu/drm/etnaviv/etnaviv_drv.c