linux-stable/drivers/gpu/drm/etnaviv
Michael Walle 0ea057a9cb drm/etnaviv: fix dma configuration of the virtual device
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>
2021-12-01 13:27:12 +01:00
..
cmdstream.xml.h
common.xml.h
etnaviv_buffer.c drm/etnaviv: return context from etnaviv_iommu_context_get 2021-09-16 10:34:59 +02:00
etnaviv_cmd_parser.c
etnaviv_cmdbuf.c
etnaviv_cmdbuf.h
etnaviv_drv.c drm/etnaviv: fix dma configuration of the virtual device 2021-12-01 13:27:12 +01:00
etnaviv_drv.h drm/etnaviv: Implement mmap as GEM object function 2021-07-06 18:32:23 +02:00
etnaviv_dump.c drm/etnaviv: dump: fix sparse warnings 2021-01-22 12:38:17 +01:00
etnaviv_dump.h
etnaviv_gem.c drm/etnaviv: return context from etnaviv_iommu_context_get 2021-09-16 10:34:59 +02:00
etnaviv_gem.h drm/etnaviv: Replace zero-length array with flexible-array member 2020-03-05 12:15:46 +01:00
etnaviv_gem_prime.c dma-buf: move dma-buf symbols into the DMA_BUF module namespace 2021-10-25 14:53:08 +02:00
etnaviv_gem_submit.c drm/etnaviv: return context from etnaviv_iommu_context_get 2021-09-16 10:34:59 +02:00
etnaviv_gpu.c drm: Remove redundant 'flush_workqueue()' calls 2021-10-15 16:48:51 -07:00
etnaviv_gpu.h drm/etnaviv: stop abusing mmu_context as FE running marker 2021-09-16 10:35:15 +02:00
etnaviv_hwdb.c drm/etnaviv: add HWDB entry for GC7000 r6202 2021-07-06 18:31:26 +02:00
etnaviv_iommu.c drm/etnaviv: reference MMU context when setting up hardware state 2021-09-16 10:35:33 +02:00
etnaviv_iommu_v2.c drm/etnaviv: reference MMU context when setting up hardware state 2021-09-16 10:35:33 +02:00
etnaviv_mmu.c drm/etnaviv: add missing MMU context put when reaping MMU mapping 2021-09-16 10:35:37 +02:00
etnaviv_mmu.h drm/etnaviv: return context from etnaviv_iommu_context_get 2021-09-16 10:34:59 +02:00
etnaviv_perfmon.c drm/etnaviv: add pipe_select(..) helper 2020-09-25 12:02:58 +02:00
etnaviv_perfmon.h
etnaviv_sched.c drm/sched: drop entity parameter from drm_sched_push_job 2021-08-30 10:54:45 +02:00
etnaviv_sched.h
Kconfig
Makefile
state.xml.h
state_3d.xml.h
state_blt.xml.h drm/etnaviv: fix TS cache flushing on GPUs with BLT engine 2020-03-20 18:40:44 +01:00
state_hi.xml.h drm/etnaviv: Update idle bits 2020-03-03 10:58:57 +01:00