hwc: allow DMA pipe in BLOCK mode for virtual dpy
For portrait videos case on WFD, driver supports multiplexing
of DMA pipe in LINE and BLOCK mode.
Loosen the requirements to allow DMA pipe in block mode for
portrait case of virtual display.
Change-Id: I5821501f89b17bb2d29c425aee0a6c16b2a4783b
diff --git a/liboverlay/overlay.h b/liboverlay/overlay.h
index 854fa30..4df921f 100644
--- a/liboverlay/overlay.h
+++ b/liboverlay/overlay.h
@@ -31,6 +31,7 @@
#define OVERLAY_H
#include "overlayUtils.h"
+#include "mdp_version.h"
#include "utils/threads.h"
struct MetaData_t;
@@ -122,6 +123,7 @@
explicit Overlay();
/*Validate index range, abort if invalid */
void validate(int index);
+ static void setDMAMultiplexingSupported();
void dump() const;
/* Creates a scalar object using libscale.so */
static void initScalar();
@@ -185,6 +187,7 @@
static Overlay *sInstance;
static int sDpyFbMap[DPY_MAX];
static int sDMAMode;
+ static bool sDMAMultiplexingSupported;
static int sForceSetBitmap;
static void *sLibScaleHandle;
static scale::Scale *sScale;
@@ -247,6 +250,12 @@
sDMAMode = mode;
}
+inline void Overlay::setDMAMultiplexingSupported() {
+ sDMAMultiplexingSupported = false;
+ if(qdutils::MDPVersion::getInstance().is8x26())
+ sDMAMultiplexingSupported = true;
+}
+
inline int Overlay::getDMAMode() {
return sDMAMode;
}