forked from ~ljy/RK356X_SDK_RELEASE

hc
2023-12-09 95099d4622f8cb224d94e314c7a8e0df60b13f87
kernel/drivers/gpu/drm/msm/hdmi/hdmi_bridge.c
....@@ -1,19 +1,10 @@
1
+// SPDX-License-Identifier: GPL-2.0-only
12 /*
23 * Copyright (C) 2013 Red Hat
34 * Author: Rob Clark <robdclark@gmail.com>
4
- *
5
- * This program is free software; you can redistribute it and/or modify it
6
- * under the terms of the GNU General Public License version 2 as published by
7
- * the Free Software Foundation.
8
- *
9
- * This program is distributed in the hope that it will be useful, but WITHOUT
10
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12
- * more details.
13
- *
14
- * You should have received a copy of the GNU General Public License along with
15
- * this program. If not, see <http://www.gnu.org/licenses/>.
165 */
6
+
7
+#include <linux/delay.h>
178
189 #include "hdmi.h"
1910
....@@ -40,7 +31,7 @@
4031 for (i = 0; i < config->pwr_reg_cnt; i++) {
4132 ret = regulator_enable(hdmi->pwr_regs[i]);
4233 if (ret) {
43
- dev_err(dev->dev, "failed to enable pwr regulator: %s (%d)\n",
34
+ DRM_DEV_ERROR(dev->dev, "failed to enable pwr regulator: %s (%d)\n",
4435 config->pwr_reg_names[i], ret);
4536 }
4637 }
....@@ -49,7 +40,7 @@
4940 DBG("pixclock: %lu", hdmi->pixclock);
5041 ret = clk_set_rate(hdmi->pwr_clks[0], hdmi->pixclock);
5142 if (ret) {
52
- dev_err(dev->dev, "failed to set pixel clk: %s (%d)\n",
43
+ DRM_DEV_ERROR(dev->dev, "failed to set pixel clk: %s (%d)\n",
5344 config->pwr_clk_names[0], ret);
5445 }
5546 }
....@@ -57,7 +48,7 @@
5748 for (i = 0; i < config->pwr_clk_cnt; i++) {
5849 ret = clk_prepare_enable(hdmi->pwr_clks[i]);
5950 if (ret) {
60
- dev_err(dev->dev, "failed to enable pwr clk: %s (%d)\n",
51
+ DRM_DEV_ERROR(dev->dev, "failed to enable pwr clk: %s (%d)\n",
6152 config->pwr_clk_names[i], ret);
6253 }
6354 }
....@@ -82,7 +73,7 @@
8273 for (i = 0; i < config->pwr_reg_cnt; i++) {
8374 ret = regulator_disable(hdmi->pwr_regs[i]);
8475 if (ret) {
85
- dev_err(dev->dev, "failed to disable pwr regulator: %s (%d)\n",
76
+ DRM_DEV_ERROR(dev->dev, "failed to disable pwr regulator: %s (%d)\n",
8677 config->pwr_reg_names[i], ret);
8778 }
8879 }
....@@ -101,11 +92,12 @@
10192 u32 val;
10293 int len;
10394
104
- drm_hdmi_avi_infoframe_from_display_mode(&frame.avi, mode, false);
95
+ drm_hdmi_avi_infoframe_from_display_mode(&frame.avi,
96
+ hdmi->connector, mode);
10597
10698 len = hdmi_infoframe_pack(&frame, buffer, sizeof(buffer));
10799 if (len < 0) {
108
- dev_err(&hdmi->pdev->dev,
100
+ DRM_DEV_ERROR(&hdmi->pdev->dev,
109101 "failed to configure avi infoframe\n");
110102 return;
111103 }
....@@ -207,8 +199,8 @@
207199 }
208200
209201 static void msm_hdmi_bridge_mode_set(struct drm_bridge *bridge,
210
- struct drm_display_mode *mode,
211
- struct drm_display_mode *adjusted_mode)
202
+ const struct drm_display_mode *mode,
203
+ const struct drm_display_mode *adjusted_mode)
212204 {
213205 struct hdmi_bridge *hdmi_bridge = to_hdmi_bridge(bridge);
214206 struct hdmi *hdmi = hdmi_bridge->hdmi;
....@@ -295,7 +287,7 @@
295287 bridge = &hdmi_bridge->base;
296288 bridge->funcs = &msm_hdmi_bridge_funcs;
297289
298
- ret = drm_bridge_attach(hdmi->encoder, bridge, NULL);
290
+ ret = drm_bridge_attach(hdmi->encoder, bridge, NULL, 0);
299291 if (ret)
300292 goto fail;
301293