Fix cec disconnecting after TV restart (#4725)

Co-authored-by: Catalin Toda <catalinii@yahoo.com>
This commit is contained in:
catalinii 2023-01-21 23:39:48 -08:00 committed by GitHub
parent 2fd67982bb
commit fadcb7d915
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 21 additions and 1 deletions

View File

@ -1771,7 +1771,7 @@ CONFIG_BT_INTEL=m
CONFIG_BT_BCM=m
CONFIG_BT_RTL=m
CONFIG_BT_HCIBTUSB=m
CONFIG_BT_HCIBTUSB_AUTOSUSPEND=y
# CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set
CONFIG_BT_HCIBTUSB_BCM=y
CONFIG_BT_HCIBTUSB_MTK=y
CONFIG_BT_HCIBTUSB_RTL=y

View File

@ -0,0 +1,20 @@
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)