diff --git a/libhwcomposer/hwc_qclient.cpp b/libhwcomposer/hwc_qclient.cpp
index 65667bd..b27a88c 100644
--- a/libhwcomposer/hwc_qclient.cpp
+++ b/libhwcomposer/hwc_qclient.cpp
@@ -61,6 +61,9 @@
         case IQService::SCREEN_REFRESH:
             return screenRefresh();
             break;
+        case IQService::EXTERNAL_ORIENTATION:
+            setExtOrientation(value);
+            break;
         default:
             return NO_ERROR;
     }
diff --git a/libqservice/IQService.cpp b/libqservice/IQService.cpp
index af11f88..a3ff150 100644
--- a/libqservice/IQService.cpp
+++ b/libqservice/IQService.cpp
@@ -148,6 +148,18 @@
             }
             return screenRefresh();
         } break;
+        case EXTERNAL_ORIENTATION: {
+            CHECK_INTERFACE(IQService, data, reply);
+            if(callerUid != AID_SYSTEM) {
+                ALOGE("display.qservice EXTERNAL_ORIENTATION access denied: \
+                      pid=%d uid=%d process=%s",callerPid,
+                      callerUid, callingProcName);
+                return PERMISSION_DENIED;
+            }
+            uint32_t orientation = data.readInt32();
+            setExtOrientation(orientation);
+            return NO_ERROR;
+        } break;
         default:
             return BBinder::onTransact(code, data, reply, flags);
     }
