[PATCH 0/2] Exynos DRM: resolve problems with DMA and virtual exynos-drm device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

This patchset resolves the issues with using 'exynos-drm' virtual device
for allocating DMA buffers and performing various DMA-mapping operations
inside Exynos DRM driver.

'exynos-drm' is a pure virtual device and some architectures (like
ARM64) doesn't configure DMA-mapping operations for such devices. Also
on ARM architecture some hacks were needed to setup IOMMU-based
DMA-mapping ops for this virtual device to use common IO/DMA address
space for all devices, which are a part of Exynos DRM subsystem.

Instead of configuring DMA-mapping ops for virtual device (like I
initially proposed in this patch:
http://www.spinics.net/lists/linux-samsung-soc/msg50699.html ),
different device is is used by Exynos GEM code for DMA-mapping operations.
In this approach, the real device of one of the CRTC devices is used for
all DMA-mapping operations. This way all hacks related to configuring
DMA-mapping ops for virtual device are avoided. This approach also works
fine in case of Exynos DRM driver built as module. Patch no 2 implements
this approach.

Patch no 1 is a simple refactoring of driver and device registeration
procedure. It groups all pointers to the subdrivers in one array with
additional flags, instead of having them in 3 separate arrays (with
possible duplication). Implementing the main feature of this patchset
without this refactoring would result in one more array with duplicated
entries for all CRTC drivers.

Patches are based on the currect exynos-drm-next branch.

Best regards
Marek Szyprowski
Samsung R&D Institute Poland


Patch summary:

Marek Szyprowski (2):
  drm/exynos: refactor driver and device registration code
  drm/exynos: use real device for DMA-mapping operations

 drivers/gpu/drm/exynos/exynos_drm_drv.c   | 265 ++++++++++++++++--------------
 drivers/gpu/drm/exynos/exynos_drm_drv.h   |   9 +-
 drivers/gpu/drm/exynos/exynos_drm_fbdev.c |   2 +-
 drivers/gpu/drm/exynos/exynos_drm_g2d.c   |   6 +-
 drivers/gpu/drm/exynos/exynos_drm_gem.c   |  14 +-
 drivers/gpu/drm/exynos/exynos_drm_iommu.c |  37 +----
 drivers/gpu/drm/exynos/exynos_drm_iommu.h |   5 +-
 7 files changed, 169 insertions(+), 169 deletions(-)

-- 
1.9.2

_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux