hwc: Fix Line to Block switch on primary for targets with DMA Multiplexing
DMA multiplexing is supported on WB mode only.
For primary the DMA multiplexing should be avoided
as it can lead to hung rotator.
This can happen when the DMA is being unset from overlay,
while at the same time rotator gets configured.
Change-Id: I0c2cb8a5a1ebad8a8e4ed8107d5585836bc42451
diff --git a/libhwcomposer/hwc.cpp b/libhwcomposer/hwc.cpp
index 6f4f9c6..513edd3 100644
--- a/libhwcomposer/hwc.cpp
+++ b/libhwcomposer/hwc.cpp
@@ -138,7 +138,8 @@
if (canUseRotator(ctx, dpy) &&
(has90Transform(layer) || getRotDownscale(ctx, layer))
&& isRotationDoable(ctx, hnd)) {
- if(not ctx->mOverlay->isDMAMultiplexingSupported()) {
+ if(not (ctx->mOverlay->isDMAMultiplexingSupported() &&
+ dpy)) {
if(ctx->mOverlay->isPipeTypeAttached(
overlay::utils::OV_MDP_PIPE_DMA))
ctx->isPaddingRound = true;