Files
LibreELEC.tv/packages/linux/patches/rockchip-old/rockchip-0004-WIP-1000-drm-rockchip-dw-hdmi-encoder-error-handling.patch
Christian Hewitt 334b6a6e6b linux: add Rockchip kernel and patches for Linux 6.16.y and 6.17.y
Patches for RK356X, RK3576 and RK3588 are placed in a 'rockchip'
folder under the Linux package dir. Boards use a common aarch64
arch defconfig.

Patches for RK3288, RK3328 and RK3399 are moved to a 'rockchip-old'
folder under the Linux package dir. Boards continue to use device
level 6.16.y defconfigs to ensure all drivers are present, except
for RK3288 which has been moved to the project level folder to be
the common arm arch defconfig.

Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
2025-09-12 09:31:57 +00:00

50 lines
1.6 KiB
Diff

From ad4a904ac2fb081ba0e389a4c09520e7b33ee63a Mon Sep 17 00:00:00 2001
From: Jonas Karlman <jonas@kwiboo.se>
Date: Sat, 10 Oct 2020 10:16:32 +0000
Subject: [PATCH 04/59] WIP/1000: drm/rockchip: dw-hdmi: encoder error handling
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
---
drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
index f737e7d46e66..d65409b84888 100644
--- a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
+++ b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
@@ -582,7 +582,7 @@ static int dw_hdmi_rockchip_bind(struct device *dev, struct device *master,
if (IS_ERR(hdmi->phy)) {
ret = PTR_ERR(hdmi->phy);
if (ret != -EPROBE_DEFER)
- dev_err(hdmi->dev, "failed to get phy\n");
+ dev_err(hdmi->dev, "failed to get phy: %d\n", ret);
return ret;
}
@@ -604,7 +604,12 @@ static int dw_hdmi_rockchip_bind(struct device *dev, struct device *master,
}
drm_encoder_helper_add(encoder, &dw_hdmi_rockchip_encoder_helper_funcs);
- drm_simple_encoder_init(drm, encoder, DRM_MODE_ENCODER_TMDS);
+
+ ret = drm_simple_encoder_init(drm, encoder, DRM_MODE_ENCODER_TMDS);
+ if (ret) {
+ DRM_DEV_ERROR(hdmi->dev, "Failed to init encoder: %d\n", ret);
+ goto err_disable_clk;
+ }
platform_set_drvdata(pdev, hdmi);
@@ -623,7 +628,7 @@ static int dw_hdmi_rockchip_bind(struct device *dev, struct device *master,
err_bind:
drm_encoder_cleanup(encoder);
-
+err_disable_clk:
return ret;
}
--
2.34.1