forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/drivers/gpu/drm/rockchip/rk618/rk618_lvds.c
....@@ -12,12 +12,13 @@
1212 #include <linux/regmap.h>
1313 #include <linux/mfd/rk618.h>
1414
15
-#include <drm/drmP.h>
15
+#include <drm/drm_drv.h>
1616 #include <drm/drm_of.h>
1717 #include <drm/drm_atomic.h>
1818 #include <drm/drm_crtc_helper.h>
1919 #include <drm/drm_atomic_helper.h>
2020 #include <drm/drm_panel.h>
21
+#include <drm/drm_probe_helper.h>
2122
2223 #include <video/of_display_timing.h>
2324 #include <video/videomode.h>
....@@ -70,7 +71,7 @@
7071 u32 bus_format = MEDIA_BUS_FMT_RGB888_1X24;
7172 int num_modes = 0;
7273
73
- num_modes = drm_panel_get_modes(lvds->panel);
74
+ num_modes = drm_panel_get_modes(lvds->panel, connector);
7475
7576 if (info->num_bus_formats)
7677 lvds->bus_format = info->bus_formats[0];
....@@ -97,9 +98,6 @@
9798
9899 static void rk618_lvds_connector_destroy(struct drm_connector *connector)
99100 {
100
- struct rk618_lvds *lvds = connector_to_lvds(connector);
101
-
102
- drm_panel_detach(lvds->panel);
103101 drm_connector_cleanup(connector);
104102 }
105103
....@@ -124,9 +122,6 @@
124122 rk618_frc_dither_init(lvds->parent, lvds->bus_format);
125123
126124 switch (lvds->bus_format) {
127
- case MEDIA_BUS_FMT_RGB666_1X7X3_JEIDA:
128
- format = LVDS_FORMAT_JEIDA_18BIT;
129
- break;
130125 case MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA:
131126 format = LVDS_FORMAT_JEIDA_24BIT;
132127 break;
....@@ -170,7 +165,8 @@
170165 clk_disable_unprepare(lvds->clock);
171166 }
172167
173
-static int rk618_lvds_bridge_attach(struct drm_bridge *bridge)
168
+static int rk618_lvds_bridge_attach(struct drm_bridge *bridge,
169
+ enum drm_bridge_attach_flags flags)
174170 {
175171 struct rk618_lvds *lvds = bridge_to_lvds(bridge);
176172 struct drm_connector *connector = &lvds->connector;
....@@ -186,12 +182,6 @@
186182
187183 drm_connector_helper_add(connector, &rk618_lvds_connector_helper_funcs);
188184 drm_connector_attach_encoder(connector, bridge->encoder);
189
-
190
- ret = drm_panel_attach(lvds->panel, connector);
191
- if (ret) {
192
- dev_err(lvds->dev, "Failed to attach panel\n");
193
- return ret;
194
- }
195185
196186 lvds->sub_dev.connector = &lvds->connector;
197187 lvds->sub_dev.of_node = lvds->dev->of_node;