From a3fa9ae3c9cc2a0a63b01d3ef259e97db3aeba4e Mon Sep 17 00:00:00 2001 From: Paul Colta Date: Wed, 6 Nov 2024 04:41:39 -0800 Subject: HDMI: Solve deep sleep issue on Low Energy Mode On boot-up, the TV CEC might need to be re-enabled due to being disabled by low energy mode. Bug: 377107359 Flag: EXEMPT bugfix Test: atest com.android.server.hdmi Change-Id: Ib534a939beacab8c450fadda47100f60912d6ac2 --- .../core/java/com/android/server/hdmi/HdmiControlService.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/services/core/java/com/android/server/hdmi/HdmiControlService.java b/services/core/java/com/android/server/hdmi/HdmiControlService.java index 132d6fa377eb..0c5069f81774 100644 --- a/services/core/java/com/android/server/hdmi/HdmiControlService.java +++ b/services/core/java/com/android/server/hdmi/HdmiControlService.java @@ -771,6 +771,14 @@ public class HdmiControlService extends SystemService { Slog.i(TAG, "Device does not support eARC."); } mHdmiCecNetwork = new HdmiCecNetwork(this, mCecController, mMhlController); + if (isTvDevice() && getWasCecDisabledOnStandbyByLowEnergyMode()) { + Slog.w(TAG, "Re-enable CEC on boot-up since it was disabled due to low energy " + + " mode."); + getHdmiCecConfig().setIntValue(HdmiControlManager.CEC_SETTING_NAME_HDMI_CEC_ENABLED, + HDMI_CEC_CONTROL_ENABLED); + setWasCecDisabledOnStandbyByLowEnergyMode(false); + setCecEnabled(HDMI_CEC_CONTROL_ENABLED); + } if (isCecControlEnabled()) { initializeCec(INITIATED_BY_BOOT_UP); } else { -- cgit v1.2.3-59-g8ed1b