Use fbdev's DMA helpers for fbdev emulation. They drivers previously
used the I/O-memory helpers, while allocating DMA-able system memory.
This could (in theory) result in bus errors from accessing the memory
range.

This bug has been present since the exynos driver was first added.

Signed-off-by: Thomas Zimmermann <tzimmerm...@suse.de>
Fixes: 1c248b7d2960 ("DRM: add DRM Driver for Samsung SoC EXYNOS4210.")
Cc: Inki Dae <inki....@samsung.com>
Cc: Seung-Woo Kim <sw0312....@samsung.com>
Cc: Kyungmin Park <kyungmin.p...@samsung.com>
Cc: Krzysztof Kozlowski <krzysztof.kozlow...@linaro.org>
Cc: Alim Akhtar <alim.akh...@samsung.com>
---
 drivers/gpu/drm/exynos/Kconfig            | 2 +-
 drivers/gpu/drm/exynos/exynos_drm_fbdev.c | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/exynos/Kconfig b/drivers/gpu/drm/exynos/Kconfig
index 7ca7e1dab52c..661b42ad4873 100644
--- a/drivers/gpu/drm/exynos/Kconfig
+++ b/drivers/gpu/drm/exynos/Kconfig
@@ -7,7 +7,7 @@ config DRM_EXYNOS
        select DRM_DISPLAY_HELPER if DRM_EXYNOS_DP
        select DRM_KMS_HELPER
        select VIDEOMODE_HELPERS
-       select FB_IO_HELPERS if DRM_FBDEV_EMULATION
+       select FB_DMA_HELPERS if DRM_FBDEV_EMULATION
        select SND_SOC_HDMI_CODEC if SND_SOC
        help
          Choose this option if you have a Samsung SoC Exynos chipset.
diff --git a/drivers/gpu/drm/exynos/exynos_drm_fbdev.c 
b/drivers/gpu/drm/exynos/exynos_drm_fbdev.c
index fdf65587f1fe..7ca3424b59ce 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_fbdev.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_fbdev.c
@@ -49,9 +49,9 @@ static void exynos_drm_fb_destroy(struct fb_info *info)
 
 static const struct fb_ops exynos_drm_fb_ops = {
        .owner          = THIS_MODULE,
-       __FB_DEFAULT_IO_OPS_RDWR,
+       __FB_DEFAULT_DMA_OPS_RDWR,
        DRM_FB_HELPER_DEFAULT_OPS,
-       __FB_DEFAULT_IO_OPS_DRAW,
+       __FB_DEFAULT_DMA_OPS_DRAW,
        .fb_mmap        = exynos_drm_fb_mmap,
        .fb_destroy     = exynos_drm_fb_destroy,
 };
-- 
2.41.0

Reply via email to