forked from ~ljy/RK356X_SDK_RELEASE

hc
2023-12-06 08f87f769b595151be1afeff53e144f543faa614
kernel/drivers/gpu/drm/rockchip/rk618/rk618_rgb.c
....@@ -13,12 +13,13 @@
1313 #include <linux/regmap.h>
1414 #include <linux/mfd/rk618.h>
1515
16
-#include <drm/drmP.h>
16
+#include <drm/drm_drv.h>
1717 #include <drm/drm_of.h>
1818 #include <drm/drm_atomic.h>
1919 #include <drm/drm_crtc_helper.h>
2020 #include <drm/drm_atomic_helper.h>
2121 #include <drm/drm_panel.h>
22
+#include <drm/drm_probe_helper.h>
2223
2324 #include <video/videomode.h>
2425
....@@ -64,7 +65,7 @@
6465 u32 bus_format = MEDIA_BUS_FMT_RGB888_1X24;
6566 int num_modes = 0;
6667
67
- num_modes = drm_panel_get_modes(rgb->panel);
68
+ num_modes = drm_panel_get_modes(rgb->panel, connector);
6869
6970 if (info->num_bus_formats)
7071 rgb->bus_format = info->bus_formats[0];
....@@ -91,9 +92,6 @@
9192
9293 static void rk618_rgb_connector_destroy(struct drm_connector *connector)
9394 {
94
- struct rk618_rgb *rgb = connector_to_rgb(connector);
95
-
96
- drm_panel_detach(rgb->panel);
9795 drm_connector_cleanup(connector);
9896 }
9997
....@@ -161,7 +159,8 @@
161159 clk_disable_unprepare(rgb->clock);
162160 }
163161
164
-static int rk618_rgb_bridge_attach(struct drm_bridge *bridge)
162
+static int rk618_rgb_bridge_attach(struct drm_bridge *bridge,
163
+ enum drm_bridge_attach_flags flags)
165164 {
166165 struct rk618_rgb *rgb = bridge_to_rgb(bridge);
167166 struct device *dev = rgb->dev;
....@@ -181,13 +180,12 @@
181180 drm_connector_helper_add(connector,
182181 &rk618_rgb_connector_helper_funcs);
183182 drm_connector_attach_encoder(connector, bridge->encoder);
184
- drm_panel_attach(rgb->panel, connector);
185183
186184 rgb->sub_dev.connector = &rgb->connector;
187185 rgb->sub_dev.of_node = rgb->dev->of_node;
188186 rockchip_drm_register_sub_dev(&rgb->sub_dev);
189187 } else {
190
- ret = drm_bridge_attach(bridge->encoder, rgb->bridge, bridge);
188
+ ret = drm_bridge_attach(bridge->encoder, rgb->bridge, bridge, 0);
191189 if (ret) {
192190 dev_err(dev, "failed to attach bridge\n");
193191 return ret;