hwc: Don't run CABL when HDMI is connected
There is no power benefit with CABL when HDMI is on.
Bug: 9605980
Change-Id: I57b3af493e0af54db520fea04dc3a2d007943b82
Signed-off-by: Iliyan Malchev <malchev@google.com>
diff --git a/libhwcomposer/hwc_utils.cpp b/libhwcomposer/hwc_utils.cpp
index c7756a5..5c67b3e 100644
--- a/libhwcomposer/hwc_utils.cpp
+++ b/libhwcomposer/hwc_utils.cpp
@@ -360,10 +360,19 @@
}
// Switch ppd on/off for YUV
-static void setYUVProp(hwc_context_t *ctx, int yuvCount) {
+static void configurePPD(hwc_context_t *ctx, int yuvCount) {
if (!ctx->mCablProp.enabled)
return;
+ // No PPD for external
+ if (ctx->mExtDisplay->isExternalConnected()) {
+ if (ctx->mCablProp.start) {
+ ppdComm("cabl:off", ctx);
+ ctx->mCablProp.start = false;
+ }
+ return;
+ }
+
if (yuvCount > 0 && !ctx->mCablProp.start) {
ctx->mCablProp.start = true;
if(ctx->mCablProp.videoOnly)
@@ -419,7 +428,8 @@
if(!ctx->listStats[dpy].needsAlphaScale)
ctx->listStats[dpy].needsAlphaScale = isAlphaScaled(layer);
}
- setYUVProp(ctx, ctx->listStats[dpy].yuvCount);
+ if (dpy == HWC_DISPLAY_PRIMARY)
+ configurePPD(ctx, ctx->listStats[dpy].yuvCount);
}