overlay: Request specific pipe type
Request driver for a specific pipe type instead of
notifying the type request using mdp flags.
Change-Id: I83fffc7c0e1f24d903b7dd6d52a58b87c70f3d4f
diff --git a/liboverlay/overlay.cpp b/liboverlay/overlay.cpp
index fe7bd2c..de880c6 100644
--- a/liboverlay/overlay.cpp
+++ b/liboverlay/overlay.cpp
@@ -346,20 +346,8 @@
utils::eDest dest) {
validate((int)dest);
- PipeArgs newArgs(args);
- if(PipeBook::getPipeType(dest) == OV_MDP_PIPE_VG) {
- setMdpFlags(newArgs.mdpFlags, OV_MDP_PIPE_SHARE);
- } else {
- clearMdpFlags(newArgs.mdpFlags, OV_MDP_PIPE_SHARE);
- }
-
- if(PipeBook::getPipeType(dest) == OV_MDP_PIPE_DMA) {
- setMdpFlags(newArgs.mdpFlags, OV_MDP_PIPE_FORCE_DMA);
- } else {
- clearMdpFlags(newArgs.mdpFlags, OV_MDP_PIPE_FORCE_DMA);
- }
-
- mPipeBook[dest].mPipe->setSource(newArgs);
+ setPipeType(dest, PipeBook::getPipeType(dest));
+ mPipeBook[dest].mPipe->setSource(args);
}
void Overlay::setVisualParams(const MetaData_t& metadata, utils::eDest dest) {
@@ -367,6 +355,11 @@
mPipeBook[dest].mPipe->setVisualParams(metadata);
}
+void Overlay::setPipeType(utils::eDest pipeIndex,
+ const utils::eMdpPipeType pType) {
+ mPipeBook[pipeIndex].mPipe->setPipeType(pType);
+}
+
Overlay* Overlay::getInstance() {
if(sInstance == NULL) {
sInstance = new Overlay();