From 05e59e5fb0064c97a1c10921ecd549f2d4a58565 Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Wed, 09 Oct 2024 06:14:40 +0000
Subject: [PATCH] add REDIRECT

---
 kernel/drivers/gpu/drm/rockchip/rk618/rk618_dsi.c |   20 +++++++-------------
 1 files changed, 7 insertions(+), 13 deletions(-)

diff --git a/kernel/drivers/gpu/drm/rockchip/rk618/rk618_dsi.c b/kernel/drivers/gpu/drm/rockchip/rk618/rk618_dsi.c
index 69db2cd..a008257 100644
--- a/kernel/drivers/gpu/drm/rockchip/rk618/rk618_dsi.c
+++ b/kernel/drivers/gpu/drm/rockchip/rk618/rk618_dsi.c
@@ -11,13 +11,14 @@
 #include <linux/regmap.h>
 #include <linux/mfd/rk618.h>
 
-#include <drm/drmP.h>
+#include <drm/drm_drv.h>
 #include <drm/drm_of.h>
 #include <drm/drm_atomic.h>
 #include <drm/drm_crtc_helper.h>
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_mipi_dsi.h>
 #include <drm/drm_panel.h>
+#include <drm/drm_probe_helper.h>
 
 #include <video/of_display_timing.h>
 #include <video/mipi_display.h>
@@ -736,7 +737,7 @@
 {
 	struct rk618_dsi *dsi = connector_to_dsi(connector);
 
-	return drm_panel_get_modes(dsi->panel);
+	return drm_panel_get_modes(dsi->panel, connector);
 }
 
 static const struct drm_connector_helper_funcs
@@ -753,9 +754,6 @@
 
 static void rk618_dsi_connector_destroy(struct drm_connector *connector)
 {
-	struct rk618_dsi *dsi = connector_to_dsi(connector);
-
-	drm_panel_detach(dsi->panel);
 	drm_connector_cleanup(connector);
 }
 
@@ -793,8 +791,8 @@
 }
 
 static void rk618_dsi_bridge_mode_set(struct drm_bridge *bridge,
-				      struct drm_display_mode *mode,
-				      struct drm_display_mode *adj)
+				      const struct drm_display_mode *mode,
+				      const struct drm_display_mode *adj)
 {
 	struct rk618_dsi *dsi = bridge_to_dsi(bridge);
 
@@ -804,7 +802,8 @@
 		drm_mode_copy(&dsi->mode, adj);
 }
 
-static int rk618_dsi_bridge_attach(struct drm_bridge *bridge)
+static int rk618_dsi_bridge_attach(struct drm_bridge *bridge,
+				   enum drm_bridge_attach_flags flags)
 {
 	struct rk618_dsi *dsi = bridge_to_dsi(bridge);
 	struct drm_connector *connector = &dsi->connector;
@@ -821,11 +820,6 @@
 	drm_connector_helper_add(connector, &rk618_dsi_connector_helper_funcs);
 	drm_connector_attach_encoder(connector, bridge->encoder);
 
-	ret = drm_panel_attach(dsi->panel, connector);
-	if (ret) {
-		dev_err(dsi->dev, "Failed to attach panel\n");
-		return ret;
-	}
 	dsi->sub_dev.connector = &dsi->connector;
 	dsi->sub_dev.of_node = dsi->dev->of_node;
 	rockchip_drm_register_sub_dev(&dsi->sub_dev);

--
Gitblit v1.6.2