Merge "libhwcomposer: Only 4 pipes can be used per display for MDP Comp."
diff --git a/libhwcomposer/hwc_mdpcomp.cpp b/libhwcomposer/hwc_mdpcomp.cpp
index 3a241c8..baf4523 100644
--- a/libhwcomposer/hwc_mdpcomp.cpp
+++ b/libhwcomposer/hwc_mdpcomp.cpp
@@ -401,7 +401,7 @@
 
 /*
  * MDPComp not possible when
- * 1. We have more than sMaxLayers
+ * 1. App layers > available pipes
  * 2. External display connected
  * 3. Composition is triggered by
  *    Idle timer expiry
@@ -417,6 +417,8 @@
 
     overlay::Overlay& ov = *ctx->mOverlay;
     int availablePipes = ov.availablePipes(dpy);
+    if (availablePipes > MAX_PIPES_PER_MIXER)
+        availablePipes = MAX_PIPES_PER_MIXER;
 
     if(numAppLayers < 1 || numAppLayers > availablePipes) {
         ALOGD_IF(isDebug(), "%s: Unsupported number of layers",__FUNCTION__);
diff --git a/libhwcomposer/hwc_mdpcomp.h b/libhwcomposer/hwc_mdpcomp.h
index 9ae9b2e..45cd77b 100644
--- a/libhwcomposer/hwc_mdpcomp.h
+++ b/libhwcomposer/hwc_mdpcomp.h
@@ -25,6 +25,7 @@
 #include <overlay.h>
 
 #define DEFAULT_IDLE_TIME 2000
+#define MAX_PIPES_PER_MIXER 4
 
 namespace qhwc {
 namespace ovutils = overlay::utils;