mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-14 06:35:12 +00:00
0ea057a9cb
The DMA configuration of the virtual device is inherited from the first actual etnaviv device. Unfortunately, this doesn't work with an IOMMU: [ 5.191008] Failed to set up IOMMU for device (null); retaining platform DMA ops This is because there is no associated iommu_group with the device. The group is set in iommu_group_add_device() which is eventually called by device_add() via the platform bus: device_add() blocking_notifier_call_chain() iommu_bus_notifier() iommu_probe_device() __iommu_probe_device() iommu_group_get_for_dev() iommu_group_add_device() Move of_dma_configure() into the probe function, which is called after device_add(). Normally, the platform code will already call it itself if .of_node is set. Unfortunately, this isn't the case here. Signed-off-by: Michael Walle <michael@walle.cc> Signed-off-by: Lucas Stach <l.stach@pengutronix.de> |
||
---|---|---|
.. | ||
cmdstream.xml.h | ||
common.xml.h | ||
etnaviv_buffer.c | ||
etnaviv_cmd_parser.c | ||
etnaviv_cmdbuf.c | ||
etnaviv_cmdbuf.h | ||
etnaviv_drv.c | ||
etnaviv_drv.h | ||
etnaviv_dump.c | ||
etnaviv_dump.h | ||
etnaviv_gem.c | ||
etnaviv_gem.h | ||
etnaviv_gem_prime.c | ||
etnaviv_gem_submit.c | ||
etnaviv_gpu.c | ||
etnaviv_gpu.h | ||
etnaviv_hwdb.c | ||
etnaviv_iommu.c | ||
etnaviv_iommu_v2.c | ||
etnaviv_mmu.c | ||
etnaviv_mmu.h | ||
etnaviv_perfmon.c | ||
etnaviv_perfmon.h | ||
etnaviv_sched.c | ||
etnaviv_sched.h | ||
Kconfig | ||
Makefile | ||
state.xml.h | ||
state_3d.xml.h | ||
state_blt.xml.h | ||
state_hi.xml.h |