armbian-build/patch/kernel/rockchip-rk3588-legacy/005-fix-cec.patch
catalinii fadcb7d915
Fix cec disconnecting after TV restart (#4725)
Co-authored-by: Catalin Toda <catalinii@yahoo.com>
2023-01-22 08:39:48 +01:00

21 lines
935 B
Diff

diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
index fc4445771c05..145da79f1316 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
@@ -2741,6 +2741,15 @@ void dw_hdmi_qp_cec_set_hpd(struct dw_hdmi_qp *hdmi, bool plug_in, bool change)
if (!plug_in)
cec_notifier_set_phys_addr(hdmi->cec_notifier,
CEC_PHYS_ADDR_INVALID);
+ else if (hdmi->ddc) {
+ struct edid *edid = drm_get_edid(&hdmi->connector, hdmi->ddc);
+ if (edid) {
+ if (hdmi->cec_notifier)
+ cec_notifier_set_phys_addr_from_edid(
+ hdmi->cec_notifier, edid);
+ kfree(edid);
+ }
+ }
if (hdmi->bridge.dev) {
if (change && hdmi->cec_adap && hdmi->cec_adap->devnode.registered)