From f728b49da174e77997c1d216253f9fd3d6e30d33 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 12 Nov 2020 17:18:13 +0000 Subject: [PATCH] drm/vc4: Add configuration for BCM2711 DSI1. raspberrypi inclusion category: feature bugzilla: 50432 -------------------------------- BCM2711 DSI1 doesn't have the issue with the ARM not being able to write to the registers, therefore remove the DMA workaround for that compatible string. Signed-off-by: Dave Stevenson Signed-off-by: Fang Yafen Signed-off-by: Zheng Zengkai --- drivers/gpu/drm/vc4/vc4_dsi.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_dsi.c b/drivers/gpu/drm/vc4/vc4_dsi.c index 1680adf9fe31..0cd40d31e82d 100644 --- a/drivers/gpu/drm/vc4/vc4_dsi.c +++ b/drivers/gpu/drm/vc4/vc4_dsi.c @@ -1308,6 +1308,11 @@ static const struct drm_encoder_helper_funcs vc4_dsi_encoder_helper_funcs = { static const struct of_device_id vc4_dsi_dt_match[] = { { .compatible = "brcm,bcm2835-dsi0", (void *)(uintptr_t)0 }, { .compatible = "brcm,bcm2835-dsi1", (void *)(uintptr_t)1 }, + /* + * Use 2 so that it uses the DSI1 register layout, but not DMA + * workaround + */ + { .compatible = "brcm,bcm2711-dsi1", (void *)(uintptr_t)2 }, {} }; @@ -1495,8 +1500,8 @@ static int vc4_dsi_bind(struct device *dev, struct device *master, void *data) return -ENODEV; } - /* DSI1 has a broken AXI slave that doesn't respond to writes - * from the ARM. It does handle writes from the DMA engine, + /* DSI1 on BCM2835/6/7 has a broken AXI slave that doesn't respond to + * writes from the ARM. It does handle writes from the DMA engine, * so set up a channel for talking to it. */ if (dsi->port == 1) { -- GitLab