[PATCH 2/2] RFC: drm/pl111: Support using the VGA bridge as fallback

Linus Walleij linus.walleij at linaro.org
Fri Sep 1 02:46:29 PDT 2017


If we cannot find a panel, assume that the output from the
PL111 is connected directly to a "dumb" VGA connector,
so look up the connector from that bridge.

Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
---
This is how the new API is used in the PL111.
---
 drivers/gpu/drm/pl111/Kconfig     | 1 +
 drivers/gpu/drm/pl111/pl111_drv.c | 3 +++
 2 files changed, 4 insertions(+)

diff --git a/drivers/gpu/drm/pl111/Kconfig b/drivers/gpu/drm/pl111/Kconfig
index e5e2abd66491..82cb3e60ddc8 100644
--- a/drivers/gpu/drm/pl111/Kconfig
+++ b/drivers/gpu/drm/pl111/Kconfig
@@ -8,6 +8,7 @@ config DRM_PL111
 	select DRM_GEM_CMA_HELPER
 	select DRM_BRIDGE
 	select DRM_PANEL_BRIDGE
+	select DRM_DUMB_VGA_DAC
 	select VT_HW_CONSOLE_BINDING if FRAMEBUFFER_CONSOLE
 	help
 	  Choose this option for DRM support for the PL111 CLCD controller.
diff --git a/drivers/gpu/drm/pl111/pl111_drv.c b/drivers/gpu/drm/pl111/pl111_drv.c
index f5bc6f160e60..6db423bbd84e 100644
--- a/drivers/gpu/drm/pl111/pl111_drv.c
+++ b/drivers/gpu/drm/pl111/pl111_drv.c
@@ -67,6 +67,7 @@
 #include <drm/drm_of.h>
 #include <drm/drm_bridge.h>
 #include <drm/drm_panel.h>
+#include <drm/dumb_vga_dac.h>
 
 #include "pl111_drm.h"
 #include "pl111_versatile.h"
@@ -128,6 +129,8 @@ static int pl111_modeset_init(struct drm_device *dev)
 	if (panel) {
 		priv->panel = panel;
 		priv->connector = panel->connector;
+	} else {
+		priv->connector = drm_dumb_vga_get_connector(bridge);
 	}
 	priv->bridge = bridge;
 
-- 
2.13.5




More information about the linux-arm-kernel mailing list