diff --git a/libqdutils/display_config.cpp b/libqdutils/display_config.cpp
index c1335b1..ceb11b4 100644
--- a/libqdutils/display_config.cpp
+++ b/libqdutils/display_config.cpp
@@ -198,12 +198,12 @@
     return numConfigs;
 }
 
-int getActiveConfig(int /*dpy*/) {
+int getActiveConfig(int dpy) {
     int configIndex = -1;
     sp<IQService> binder = getBinder();
     if(binder != NULL) {
         Parcel inParcel, outParcel;
-        inParcel.writeInt32(DISPLAY_PRIMARY);
+        inParcel.writeInt32(dpy);
         status_t err = binder->dispatch(IQService::GET_ACTIVE_CONFIG,
                 &inParcel, &outParcel);
         if(!err) {
@@ -236,13 +236,13 @@
     return err;
 }
 
-DisplayAttributes getDisplayAttributes(int configIndex, int /*dpy*/) {
+DisplayAttributes getDisplayAttributes(int configIndex, int dpy) {
     DisplayAttributes dpyattr = {};
     sp<IQService> binder = getBinder();
     if(binder != NULL) {
         Parcel inParcel, outParcel;
         inParcel.writeInt32(configIndex);
-        inParcel.writeInt32(DISPLAY_PRIMARY);
+        inParcel.writeInt32(dpy);
         status_t err = binder->dispatch(
                 IQService::GET_DISPLAY_ATTRIBUTES_FOR_CONFIG, &inParcel,
                 &outParcel);
diff --git a/libqservice/IQService.cpp b/libqservice/IQService.cpp
index e1c5219..2d0cbfb 100644
--- a/libqservice/IQService.cpp
+++ b/libqservice/IQService.cpp
@@ -93,7 +93,8 @@
             callerUid == AID_ROOT ||
             callerUid == AID_CAMERASERVER ||
             callerUid == AID_AUDIO ||
-            callerUid == AID_SYSTEM);
+            callerUid == AID_SYSTEM ||
+            callerUid == AID_MEDIA_CODEC);
 
     if (code == CONNECT_HWC_CLIENT) {
         CHECK_INTERFACE(IQService, data, reply);
