Merge "Drop permissive constraint from sensors policy."
diff --git a/BoardConfigCommon.mk b/BoardConfigCommon.mk
index 8b19cce..e595e3f 100755
--- a/BoardConfigCommon.mk
+++ b/BoardConfigCommon.mk
@@ -108,7 +108,6 @@
 
 # The list below is order dependent
 BOARD_SEPOLICY_UNION += \
-        app.te \
         bluetooth_loader.te \
         bridge.te \
         camera.te \
@@ -116,16 +115,18 @@
         device.te \
         file.te \
         file_contexts \
+        irsc_util.te \
         kickstart.te \
         mediaserver.te \
         mpdecision.te \
         netmgrd.te \
+        ppd.te \
         qmux.te \
         rmt.te \
         sensors.te \
+        surfaceflinger.te \
+        system_server.te \
         tee.te \
         te_macros \
         thermald.te \
-        ueventd.te \
-        surfaceflinger.te \
-        system_server.te
+        ueventd.te
diff --git a/WCNSS_qcom_cfg.ini b/WCNSS_qcom_cfg.ini
index 2e80765..4ce1da3 100644
--- a/WCNSS_qcom_cfg.ini
+++ b/WCNSS_qcom_cfg.ini
@@ -235,16 +235,17 @@
 
 # TDLS configuration
 gEnableTDLSSupport=1
-gEnableTDLSImplicitTrigger=0
-gTDLSTxStatsPeriod=5000
-gTDLSTxPacketThreshold=100
+gEnableTDLSImplicitTrigger=1
+gTDLSExternalControl=1
+gTDLSTxStatsPeriod=500
+gTDLSTxPacketThreshold=10
 gTDLSDiscoveryPeriod=20000
 gTDLSMaxDiscoveryAttempt=5
-gTDLSIdleTimeout=5000
+gTDLSIdleTimeout=40000
 gTDLSRssiHysteresis=100
-gTDLSRSSITriggerThreshold=-75
+gTDLSRSSITriggerThreshold=-60
 gTDLSIdlePacketThreshold=5
-gTDLSRSSITeardownThreshold=-75
+gTDLSRSSITeardownThreshold=-70
 
 END
 # Note: Configuration parser would not read anything past the END marker
diff --git a/bluetooth/bdroid_buildcfg.h b/bluetooth/bdroid_buildcfg.h
index fe328ba..2ff54ac 100644
--- a/bluetooth/bdroid_buildcfg.h
+++ b/bluetooth/bdroid_buildcfg.h
@@ -29,4 +29,5 @@
 
 #define BTA_DISABLE_DELAY 1000 /* in milliseconds */
 #define BTA_HOST_INTERLEAVE_SEARCH TRUE
+#define BTA_SKIP_BLE_READ_REMOTE_FEAT TRUE
 #endif
diff --git a/camera/QCamera2/HAL/QCameraPostProc.h b/camera/QCamera2/HAL/QCameraPostProc.h
index 230f6df..180c3d7 100644
--- a/camera/QCamera2/HAL/QCameraPostProc.h
+++ b/camera/QCamera2/HAL/QCameraPostProc.h
@@ -75,7 +75,7 @@
     qcamera_release_data_t   release_data; // any data needs to be release after notify
 } qcamera_data_argm_t;
 
-#define MAX_EXIF_TABLE_ENTRIES 14
+#define MAX_EXIF_TABLE_ENTRIES 17
 class QCameraExif
 {
 public:
diff --git a/camera/QCamera2/HAL3/QCamera3Channel.cpp b/camera/QCamera2/HAL3/QCamera3Channel.cpp
index 14a13c1..733237d 100755
--- a/camera/QCamera2/HAL3/QCamera3Channel.cpp
+++ b/camera/QCamera2/HAL3/QCamera3Channel.cpp
@@ -1631,6 +1631,10 @@
                        EXIF_ASCII,
                        count,
                        (void *)dateTime);
+        exif->addEntry(EXIFTAGID_EXIF_DATE_TIME_DIGITIZED,
+                       EXIF_ASCII,
+                       count,
+                       (void *)dateTime);
     } else {
         ALOGE("%s: getExifDateTime failed", __func__);
     }
diff --git a/camera/QCamera2/HAL3/QCamera3HWI.cpp b/camera/QCamera2/HAL3/QCamera3HWI.cpp
index 1f4ffe8..cf88158 100755
--- a/camera/QCamera2/HAL3/QCamera3HWI.cpp
+++ b/camera/QCamera2/HAL3/QCamera3HWI.cpp
@@ -2179,7 +2179,7 @@
     for (int i = 0; i < size; i++) {
         supt = 0;
         index = supported_indexes[i];
-        overridesList[j] = (uint8_t)overridesTable[index].ae_mode;
+        overridesList[j] = gCamCapability[camera_id]->flash_available ? ANDROID_CONTROL_AE_MODE_ON_AUTO_FLASH:ANDROID_CONTROL_AE_MODE_ON;
         overridesList[j+1] = (uint8_t)lookupFwkName(WHITE_BALANCE_MODES_MAP,
                                  sizeof(WHITE_BALANCE_MODES_MAP)/sizeof(WHITE_BALANCE_MODES_MAP[0]),
                                                     overridesTable[index].awb_mode);
diff --git a/camera/QCamera2/HAL3/QCamera3PostProc.h b/camera/QCamera2/HAL3/QCamera3PostProc.h
index e2f02b5..efb383f 100755
--- a/camera/QCamera2/HAL3/QCamera3PostProc.h
+++ b/camera/QCamera2/HAL3/QCamera3PostProc.h
@@ -71,7 +71,7 @@
     mm_jpeg_output_t out_data;         // ptr to jpeg output buf
 } qcamera_jpeg_evt_payload_t;
 
-#define MAX_EXIF_TABLE_ENTRIES 14
+#define MAX_EXIF_TABLE_ENTRIES 17
 class QCamera3Exif
 {
 public:
diff --git a/device-common.mk b/device-common.mk
index d37f315..43e0dd4 100644
--- a/device-common.mk
+++ b/device-common.mk
@@ -36,6 +36,12 @@
 PRODUCT_AAPT_PREF_CONFIG := xhdpi
 
 PRODUCT_PACKAGES := \
+    libwpa_client \
+    hostapd \
+    wpa_supplicant \
+    wpa_supplicant.conf
+
+PRODUCT_PACKAGES += \
 	lights.msm8960
 
 PRODUCT_PACKAGES += \
diff --git a/device.mk b/device.mk
index ebb80ed..bae3469 100644
--- a/device.mk
+++ b/device.mk
@@ -27,7 +27,7 @@
     device/asus/flo/init.flo.rc:root/init.flo.rc
 
 PRODUCT_PACKAGES += \
-	camera.flo
+    camera.flo
 
 # NFC
 PRODUCT_PACKAGES += \
diff --git a/init.flo.rc b/init.flo.rc
index 568e6de..1e60fa6 100644
--- a/init.flo.rc
+++ b/init.flo.rc
@@ -120,6 +120,7 @@
 
 # NFC: create data/nfc for nv storage
     mkdir /data/nfc 770 nfc nfc
+    restorecon_recursive /data/nfc
     mkdir /data/nfc/param 770 nfc nfc
 
 # Assign TCP buffer thresholds to be ceiling value of technology maximums
@@ -137,6 +138,9 @@
     mkdir /data/misc/wifi/wpa_supplicant 0770 wifi wifi
     mkdir /data/misc/dhcp 0770 dhcp dhcp
 
+    # Apply correct labeling to DRM files
+    restorecon_recursive /data/misc/playready
+
     chown system system /dev/wcnss_wlan
     write /sys/module/wcnss_ssr_8960/parameters/enable_riva_ssr 1
 
@@ -173,13 +177,15 @@
 
     #Create directory used by sensor subsystem(dsps)
     mkdir /data/system/sensors
-    chmod 665 /data/system/sensors
+    chmod 775 /data/system/sensors
+    restorecon_recursive /data/system/sensors
     write /data/system/sensors/settings 1
     chmod 660 /data/system/sensors/settings
 
     # AKM setting data
     mkdir /data/misc/sensors
     chmod 775 /data/misc/sensors
+    restorecon_recursive /data/misc/sensors
 
     mkdir /persist/sensors
     chmod 775 /persist/sensors
diff --git a/proprietary-blobs.txt b/proprietary-blobs.txt
index 2a53f07..472934d 100644
--- a/proprietary-blobs.txt
+++ b/proprietary-blobs.txt
@@ -91,7 +91,6 @@
 /system/lib/libdss.so
 /system/lib/libdsucsd.so
 /system/lib/libdsutils.so
-/system/lib/libDxHdcp.so
 /system/lib/libgps.utils.so
 /system/lib/libgsl.so
 /system/lib/libI420colorconvert.so
diff --git a/self-extractors/asus/staging/device-partial.mk b/self-extractors/asus/staging/device-partial.mk
index 30e131f..c8dee90 100644
--- a/self-extractors/asus/staging/device-partial.mk
+++ b/self-extractors/asus/staging/device-partial.mk
@@ -14,6 +14,6 @@
 
 # Asus blob(s) necessary for Flo hardware
 PRODUCT_COPY_FILES := \
-    vendor/asus/flo/proprietary/libAKM.so:system/lib/libAKM.so:asus \
     vendor/asus/flo/proprietary/libacdbdata.so:system/lib/libacdbdata.so:asus \
+    vendor/asus/flo/proprietary/libAKM.so:system/lib/libAKM.so:asus \
 
diff --git a/self-extractors/extract-lists.txt b/self-extractors/extract-lists.txt
index 6b946ce..0843715 100644
--- a/self-extractors/extract-lists.txt
+++ b/self-extractors/extract-lists.txt
@@ -1,7 +1,7 @@
   asus)
     TO_EXTRACT="\
-            system/lib/libAKM.so \
             system/lib/libacdbdata.so \
+            system/lib/libAKM.so \
             "
     ;;
   broadcom)
@@ -22,7 +22,6 @@
             system/bin/hci_qcomm_init \
             system/bin/irsc_util \
             system/bin/ks \
-            system/bin/mm-pp-daemon \
             system/bin/mm-qcamera-app \
             system/bin/mm-qcamera-daemon \
             system/bin/mm-qjpeg-enc-test \
@@ -41,33 +40,35 @@
             system/bin/usbhub \
             system/bin/usbhub_init \
             system/etc/DxHDCP.cfg \
+            system/etc/firmware/vidc_1080p.fw \
             system/etc/firmware/vidc.b00 \
             system/etc/firmware/vidc.b01 \
             system/etc/firmware/vidc.b02 \
             system/etc/firmware/vidc.b03 \
-            system/etc/firmware/vidc.mdt \
-            system/etc/firmware/vidc_1080p.fw \
             system/etc/firmware/vidcfw.elf \
+            system/etc/firmware/vidc.mdt \
+            system/etc/gps.conf \
             system/lib/egl/eglsubAndroid.so \
-            system/lib/egl/libEGL_adreno200.so \
-            system/lib/egl/libGLESv1_CM_adreno200.so \
-            system/lib/egl/libGLESv2_adreno200.so \
-            system/lib/egl/libq3dtools_adreno200.so \
-            system/lib/hw/camera.flo.so \
+            system/lib/egl/libEGL_adreno.so \
+            system/lib/egl/libGLESv1_CM_adreno.so \
+            system/lib/egl/libGLESv2_adreno.so \
+            system/lib/egl/libplayback_adreno.so \
+            system/lib/egl/libq3dtools_adreno.so \
+            system/lib/hw/flp.msm8960.so \
             system/lib/hw/gps.msm8960.so \
             system/lib/hw/sensors.msm8960.so \
-            system/lib/libC2D2.so \
-            system/lib/libCommandSvc.so \
-            system/lib/libDxHdcp.so \
-            system/lib/libI420colorconvert.so \
-            system/lib/libQSEEComAPI.so \
             system/lib/libacdbloader.so \
+            system/lib/libadreno_utils.so \
             system/lib/libaudcal.so \
             system/lib/libaudioalsa.so \
-            system/lib/libc2d2_a3xx.so \
+            system/lib/libC2D2.so \
+            system/lib/libc2d30-a3xx.so \
+            system/lib/libc2d30.so \
+            system/lib/libCB.so \
             system/lib/libchromatix_ov5693_common.so \
             system/lib/libchromatix_ov5693_default_video.so \
             system/lib/libchromatix_ov5693_preview.so \
+            system/lib/libCommandSvc.so \
             system/lib/libconfigdb.so \
             system/lib/libcsd-client.so \
             system/lib/libdiag.so \
@@ -79,29 +80,24 @@
             system/lib/libdss.so \
             system/lib/libdsucsd.so \
             system/lib/libdsutils.so \
-            system/lib/libgeofence.so \
             system/lib/libgps.utils.so \
             system/lib/libgsl.so \
+            system/lib/libI420colorconvert.so \
             system/lib/libidl.so \
             system/lib/libllvm-a3xx.so \
-            system/lib/libloc_adapter.so \
-            system/lib/libloc_api_v02.so \
+            system/lib/libloc_core.so \
             system/lib/libloc_eng.so \
-            system/lib/libmm-abl-oem.so \
             system/lib/libmm-abl.so \
-            system/lib/libmm-color-convertor.so \
             system/lib/libmmcamera2_stats_algorithm.so \
             system/lib/libmmcamera_image_stab.so \
-            system/lib/libmmcamera_interface.so \
             system/lib/libmmcamera_mi1040.so \
             system/lib/libmmcamera_ov5693.so \
-            system/lib/libmmjpeg_interface.so \
+            system/lib/libmm-color-convertor.so \
             system/lib/libnetmgr.so \
             system/lib/liboemcrypto.so \
             system/lib/libqcci_legacy.so \
             system/lib/libqdi.so \
             system/lib/libqdp.so \
-            system/lib/libqmi.so \
             system/lib/libqmi_cci.so \
             system/lib/libqmi_client_qmux.so \
             system/lib/libqmi_common_so.so \
@@ -109,7 +105,11 @@
             system/lib/libqmi_csvt_srvc.so \
             system/lib/libqmi_encdec.so \
             system/lib/libqmiservices.so \
-            system/lib/libqomx_core.so \
+            system/lib/libqmi.so \
+            system/lib/libQSEEComAPI.so \
+            system/lib/librs_adreno_sha1.so \
+            system/lib/librs_adreno.so \
+            system/lib/libRSDriver_adreno.so \
             system/lib/libsc-a3xx.so \
             system/lib/libsensor1.so \
             system/lib/libsensor_reg.so \
@@ -143,6 +143,11 @@
             system/vendor/firmware/gss.b10 \
             system/vendor/firmware/gss.b11 \
             system/vendor/firmware/gss.mdt \
+            system/vendor/firmware/keymaster/keymaster.b00 \
+            system/vendor/firmware/keymaster/keymaster.b01 \
+            system/vendor/firmware/keymaster/keymaster.b02 \
+            system/vendor/firmware/keymaster/keymaster.b03 \
+            system/vendor/firmware/keymaster/keymaster.mdt \
             system/vendor/firmware/q6.b00 \
             system/vendor/firmware/q6.b01 \
             system/vendor/firmware/q6.b03 \
@@ -163,8 +168,12 @@
             system/vendor/firmware/wcnss.mdt \
             system/vendor/lib/libdrmdecrypt.so \
             system/vendor/lib/libgemini.so \
+            system/vendor/lib/libgeofence.so \
             system/vendor/lib/libimage-jpeg-enc-omx-comp.so \
             system/vendor/lib/libimage-omx-common.so \
+            system/vendor/lib/libizat_core.so \
+            system/vendor/lib/libloc_api_v02.so \
+            system/vendor/lib/libloc_ds_api.so \
             system/vendor/lib/libmmcamera2_c2d_module.so \
             system/vendor/lib/libmmcamera2_cpp_module.so \
             system/vendor/lib/libmmcamera2_iface_modules.so \
diff --git a/self-extractors/generate-packages.sh b/self-extractors/generate-packages.sh
index 66173fc..05cbf15 100755
--- a/self-extractors/generate-packages.sh
+++ b/self-extractors/generate-packages.sh
@@ -30,8 +30,8 @@
 # 748593 = JSS15J
 # 750418 = JSS15K
 # end jb-mr2-dev
-BRANCH=jb-mr2-dev
-if test $BRANCH = jb-mr2-dev
+BRANCH=klp-dev
+if test $BRANCH = klp-dev
 then
   ZIP=razor-ota-748593
   BUILD=jss15j
@@ -50,8 +50,8 @@
   case $COMPANY in
   asus)
     TO_EXTRACT="\
-            system/lib/libAKM.so \
             system/lib/libacdbdata.so \
+            system/lib/libAKM.so \
             "
     ;;
   broadcom)
@@ -72,7 +72,6 @@
             system/bin/hci_qcomm_init \
             system/bin/irsc_util \
             system/bin/ks \
-            system/bin/mm-pp-daemon \
             system/bin/mm-qcamera-app \
             system/bin/mm-qcamera-daemon \
             system/bin/mm-qjpeg-enc-test \
@@ -91,33 +90,35 @@
             system/bin/usbhub \
             system/bin/usbhub_init \
             system/etc/DxHDCP.cfg \
+            system/etc/firmware/vidc_1080p.fw \
             system/etc/firmware/vidc.b00 \
             system/etc/firmware/vidc.b01 \
             system/etc/firmware/vidc.b02 \
             system/etc/firmware/vidc.b03 \
-            system/etc/firmware/vidc.mdt \
-            system/etc/firmware/vidc_1080p.fw \
             system/etc/firmware/vidcfw.elf \
+            system/etc/firmware/vidc.mdt \
+            system/etc/gps.conf \
             system/lib/egl/eglsubAndroid.so \
-            system/lib/egl/libEGL_adreno200.so \
-            system/lib/egl/libGLESv1_CM_adreno200.so \
-            system/lib/egl/libGLESv2_adreno200.so \
-            system/lib/egl/libq3dtools_adreno200.so \
-            system/lib/hw/camera.flo.so \
+            system/lib/egl/libEGL_adreno.so \
+            system/lib/egl/libGLESv1_CM_adreno.so \
+            system/lib/egl/libGLESv2_adreno.so \
+            system/lib/egl/libplayback_adreno.so \
+            system/lib/egl/libq3dtools_adreno.so \
+            system/lib/hw/flp.msm8960.so \
             system/lib/hw/gps.msm8960.so \
             system/lib/hw/sensors.msm8960.so \
-            system/lib/libC2D2.so \
-            system/lib/libCommandSvc.so \
-            system/lib/libDxHdcp.so \
-            system/lib/libI420colorconvert.so \
-            system/lib/libQSEEComAPI.so \
             system/lib/libacdbloader.so \
+            system/lib/libadreno_utils.so \
             system/lib/libaudcal.so \
             system/lib/libaudioalsa.so \
-            system/lib/libc2d2_a3xx.so \
+            system/lib/libC2D2.so \
+            system/lib/libc2d30-a3xx.so \
+            system/lib/libc2d30.so \
+            system/lib/libCB.so \
             system/lib/libchromatix_ov5693_common.so \
             system/lib/libchromatix_ov5693_default_video.so \
             system/lib/libchromatix_ov5693_preview.so \
+            system/lib/libCommandSvc.so \
             system/lib/libconfigdb.so \
             system/lib/libcsd-client.so \
             system/lib/libdiag.so \
@@ -129,29 +130,24 @@
             system/lib/libdss.so \
             system/lib/libdsucsd.so \
             system/lib/libdsutils.so \
-            system/lib/libgeofence.so \
             system/lib/libgps.utils.so \
             system/lib/libgsl.so \
+            system/lib/libI420colorconvert.so \
             system/lib/libidl.so \
             system/lib/libllvm-a3xx.so \
-            system/lib/libloc_adapter.so \
-            system/lib/libloc_api_v02.so \
+            system/lib/libloc_core.so \
             system/lib/libloc_eng.so \
-            system/lib/libmm-abl-oem.so \
             system/lib/libmm-abl.so \
-            system/lib/libmm-color-convertor.so \
             system/lib/libmmcamera2_stats_algorithm.so \
             system/lib/libmmcamera_image_stab.so \
-            system/lib/libmmcamera_interface.so \
             system/lib/libmmcamera_mi1040.so \
             system/lib/libmmcamera_ov5693.so \
-            system/lib/libmmjpeg_interface.so \
+            system/lib/libmm-color-convertor.so \
             system/lib/libnetmgr.so \
             system/lib/liboemcrypto.so \
             system/lib/libqcci_legacy.so \
             system/lib/libqdi.so \
             system/lib/libqdp.so \
-            system/lib/libqmi.so \
             system/lib/libqmi_cci.so \
             system/lib/libqmi_client_qmux.so \
             system/lib/libqmi_common_so.so \
@@ -159,7 +155,11 @@
             system/lib/libqmi_csvt_srvc.so \
             system/lib/libqmi_encdec.so \
             system/lib/libqmiservices.so \
-            system/lib/libqomx_core.so \
+            system/lib/libqmi.so \
+            system/lib/libQSEEComAPI.so \
+            system/lib/librs_adreno_sha1.so \
+            system/lib/librs_adreno.so \
+            system/lib/libRSDriver_adreno.so \
             system/lib/libsc-a3xx.so \
             system/lib/libsensor1.so \
             system/lib/libsensor_reg.so \
@@ -193,6 +193,11 @@
             system/vendor/firmware/gss.b10 \
             system/vendor/firmware/gss.b11 \
             system/vendor/firmware/gss.mdt \
+            system/vendor/firmware/keymaster/keymaster.b00 \
+            system/vendor/firmware/keymaster/keymaster.b01 \
+            system/vendor/firmware/keymaster/keymaster.b02 \
+            system/vendor/firmware/keymaster/keymaster.b03 \
+            system/vendor/firmware/keymaster/keymaster.mdt \
             system/vendor/firmware/q6.b00 \
             system/vendor/firmware/q6.b01 \
             system/vendor/firmware/q6.b03 \
@@ -213,8 +218,12 @@
             system/vendor/firmware/wcnss.mdt \
             system/vendor/lib/libdrmdecrypt.so \
             system/vendor/lib/libgemini.so \
+            system/vendor/lib/libgeofence.so \
             system/vendor/lib/libimage-jpeg-enc-omx-comp.so \
             system/vendor/lib/libimage-omx-common.so \
+            system/vendor/lib/libizat_core.so \
+            system/vendor/lib/libloc_api_v02.so \
+            system/vendor/lib/libloc_ds_api.so \
             system/vendor/lib/libmmcamera2_c2d_module.so \
             system/vendor/lib/libmmcamera2_cpp_module.so \
             system/vendor/lib/libmmcamera2_iface_modules.so \
diff --git a/self-extractors/qcom/staging/device-partial.mk b/self-extractors/qcom/staging/device-partial.mk
index a3346d8..036bc90 100644
--- a/self-extractors/qcom/staging/device-partial.mk
+++ b/self-extractors/qcom/staging/device-partial.mk
@@ -24,7 +24,6 @@
     vendor/qcom/flo/proprietary/hci_qcomm_init:system/bin/hci_qcomm_init:qcom \
     vendor/qcom/flo/proprietary/irsc_util:system/bin/irsc_util:qcom \
     vendor/qcom/flo/proprietary/ks:system/bin/ks:qcom \
-    vendor/qcom/flo/proprietary/mm-pp-daemon:system/bin/mm-pp-daemon:qcom \
     vendor/qcom/flo/proprietary/mm-qcamera-app:system/bin/mm-qcamera-app:qcom \
     vendor/qcom/flo/proprietary/mm-qcamera-daemon:system/bin/mm-qcamera-daemon:qcom \
     vendor/qcom/flo/proprietary/mm-qjpeg-enc-test:system/bin/mm-qjpeg-enc-test:qcom \
@@ -43,32 +42,34 @@
     vendor/qcom/flo/proprietary/usbhub:system/bin/usbhub:qcom \
     vendor/qcom/flo/proprietary/usbhub_init:system/bin/usbhub_init:qcom \
     vendor/qcom/flo/proprietary/DxHDCP.cfg:system/etc/DxHDCP.cfg:qcom \
+    vendor/qcom/flo/proprietary/vidc_1080p.fw:system/etc/firmware/vidc_1080p.fw:qcom \
     vendor/qcom/flo/proprietary/vidc.b00:system/etc/firmware/vidc.b00:qcom \
     vendor/qcom/flo/proprietary/vidc.b01:system/etc/firmware/vidc.b01:qcom \
     vendor/qcom/flo/proprietary/vidc.b02:system/etc/firmware/vidc.b02:qcom \
     vendor/qcom/flo/proprietary/vidc.b03:system/etc/firmware/vidc.b03:qcom \
-    vendor/qcom/flo/proprietary/vidc.mdt:system/etc/firmware/vidc.mdt:qcom \
-    vendor/qcom/flo/proprietary/vidc_1080p.fw:system/etc/firmware/vidc_1080p.fw:qcom \
     vendor/qcom/flo/proprietary/vidcfw.elf:system/etc/firmware/vidcfw.elf:qcom \
+    vendor/qcom/flo/proprietary/vidc.mdt:system/etc/firmware/vidc.mdt:qcom \
+    vendor/qcom/flo/proprietary/gps.conf:system/etc/gps.conf:qcom \
     vendor/qcom/flo/proprietary/eglsubAndroid.so:system/lib/egl/eglsubAndroid.so:qcom \
-    vendor/qcom/flo/proprietary/libEGL_adreno200.so:system/lib/egl/libEGL_adreno200.so:qcom \
-    vendor/qcom/flo/proprietary/libGLESv1_CM_adreno200.so:system/lib/egl/libGLESv1_CM_adreno200.so:qcom \
-    vendor/qcom/flo/proprietary/libGLESv2_adreno200.so:system/lib/egl/libGLESv2_adreno200.so:qcom \
-    vendor/qcom/flo/proprietary/libq3dtools_adreno200.so:system/lib/egl/libq3dtools_adreno200.so:qcom \
-    vendor/qcom/flo/proprietary/camera.flo.so:system/lib/hw/camera.flo.so:qcom \
+    vendor/qcom/flo/proprietary/libEGL_adreno.so:system/lib/egl/libEGL_adreno.so:qcom \
+    vendor/qcom/flo/proprietary/libGLESv1_CM_adreno.so:system/lib/egl/libGLESv1_CM_adreno.so:qcom \
+    vendor/qcom/flo/proprietary/libGLESv2_adreno.so:system/lib/egl/libGLESv2_adreno.so:qcom \
+    vendor/qcom/flo/proprietary/libplayback_adreno.so:system/lib/egl/libplayback_adreno.so:qcom \
+    vendor/qcom/flo/proprietary/libq3dtools_adreno.so:system/lib/egl/libq3dtools_adreno.so:qcom \
+    vendor/qcom/flo/proprietary/flp.msm8960.so:system/lib/hw/flp.msm8960.so:qcom \
     vendor/qcom/flo/proprietary/gps.msm8960.so:system/lib/hw/gps.msm8960.so:qcom \
     vendor/qcom/flo/proprietary/sensors.msm8960.so:system/lib/hw/sensors.msm8960.so:qcom \
-    vendor/qcom/flo/proprietary/libC2D2.so:system/lib/libC2D2.so:qcom \
-    vendor/qcom/flo/proprietary/libCommandSvc.so:system/lib/libCommandSvc.so:qcom \
-    vendor/qcom/flo/proprietary/libDxHdcp.so:system/lib/libDxHdcp.so:qcom \
-    vendor/qcom/flo/proprietary/libI420colorconvert.so:system/lib/libI420colorconvert.so:qcom \
-    vendor/qcom/flo/proprietary/libQSEEComAPI.so:system/lib/libQSEEComAPI.so:qcom \
+    vendor/qcom/flo/proprietary/libadreno_utils.so:system/lib/libadreno_utils.so:qcom \
     vendor/qcom/flo/proprietary/libaudcal.so:system/lib/libaudcal.so:qcom \
     vendor/qcom/flo/proprietary/libaudioalsa.so:system/lib/libaudioalsa.so:qcom \
-    vendor/qcom/flo/proprietary/libc2d2_a3xx.so:system/lib/libc2d2_a3xx.so:qcom \
+    vendor/qcom/flo/proprietary/libC2D2.so:system/lib/libC2D2.so:qcom \
+    vendor/qcom/flo/proprietary/libc2d30-a3xx.so:system/lib/libc2d30-a3xx.so:qcom \
+    vendor/qcom/flo/proprietary/libc2d30.so:system/lib/libc2d30.so:qcom \
+    vendor/qcom/flo/proprietary/libCB.so:system/lib/libCB.so:qcom \
     vendor/qcom/flo/proprietary/libchromatix_ov5693_common.so:system/lib/libchromatix_ov5693_common.so:qcom \
     vendor/qcom/flo/proprietary/libchromatix_ov5693_default_video.so:system/lib/libchromatix_ov5693_default_video.so:qcom \
     vendor/qcom/flo/proprietary/libchromatix_ov5693_preview.so:system/lib/libchromatix_ov5693_preview.so:qcom \
+    vendor/qcom/flo/proprietary/libCommandSvc.so:system/lib/libCommandSvc.so:qcom \
     vendor/qcom/flo/proprietary/libconfigdb.so:system/lib/libconfigdb.so:qcom \
     vendor/qcom/flo/proprietary/libcsd-client.so:system/lib/libcsd-client.so:qcom \
     vendor/qcom/flo/proprietary/libdiag.so:system/lib/libdiag.so:qcom \
@@ -80,29 +81,24 @@
     vendor/qcom/flo/proprietary/libdss.so:system/lib/libdss.so:qcom \
     vendor/qcom/flo/proprietary/libdsucsd.so:system/lib/libdsucsd.so:qcom \
     vendor/qcom/flo/proprietary/libdsutils.so:system/lib/libdsutils.so:qcom \
-    vendor/qcom/flo/proprietary/libgeofence.so:system/lib/libgeofence.so:qcom \
     vendor/qcom/flo/proprietary/libgps.utils.so:system/lib/libgps.utils.so:qcom \
     vendor/qcom/flo/proprietary/libgsl.so:system/lib/libgsl.so:qcom \
+    vendor/qcom/flo/proprietary/libI420colorconvert.so:system/lib/libI420colorconvert.so:qcom \
     vendor/qcom/flo/proprietary/libidl.so:system/lib/libidl.so:qcom \
     vendor/qcom/flo/proprietary/libllvm-a3xx.so:system/lib/libllvm-a3xx.so:qcom \
-    vendor/qcom/flo/proprietary/libloc_adapter.so:system/lib/libloc_adapter.so:qcom \
-    vendor/qcom/flo/proprietary/libloc_api_v02.so:system/lib/libloc_api_v02.so:qcom \
+    vendor/qcom/flo/proprietary/libloc_core.so:system/lib/libloc_core.so:qcom \
     vendor/qcom/flo/proprietary/libloc_eng.so:system/lib/libloc_eng.so:qcom \
-    vendor/qcom/flo/proprietary/libmm-abl-oem.so:system/lib/libmm-abl-oem.so:qcom \
     vendor/qcom/flo/proprietary/libmm-abl.so:system/lib/libmm-abl.so:qcom \
-    vendor/qcom/flo/proprietary/libmm-color-convertor.so:system/lib/libmm-color-convertor.so:qcom \
     vendor/qcom/flo/proprietary/libmmcamera2_stats_algorithm.so:system/lib/libmmcamera2_stats_algorithm.so:qcom \
     vendor/qcom/flo/proprietary/libmmcamera_image_stab.so:system/lib/libmmcamera_image_stab.so:qcom \
-    vendor/qcom/flo/proprietary/libmmcamera_interface.so:system/lib/libmmcamera_interface.so:qcom \
     vendor/qcom/flo/proprietary/libmmcamera_mi1040.so:system/lib/libmmcamera_mi1040.so:qcom \
     vendor/qcom/flo/proprietary/libmmcamera_ov5693.so:system/lib/libmmcamera_ov5693.so:qcom \
-    vendor/qcom/flo/proprietary/libmmjpeg_interface.so:system/lib/libmmjpeg_interface.so:qcom \
+    vendor/qcom/flo/proprietary/libmm-color-convertor.so:system/lib/libmm-color-convertor.so:qcom \
     vendor/qcom/flo/proprietary/libnetmgr.so:system/lib/libnetmgr.so:qcom \
     vendor/qcom/flo/proprietary/liboemcrypto.so:system/lib/liboemcrypto.so:qcom \
     vendor/qcom/flo/proprietary/libqcci_legacy.so:system/lib/libqcci_legacy.so:qcom \
     vendor/qcom/flo/proprietary/libqdi.so:system/lib/libqdi.so:qcom \
     vendor/qcom/flo/proprietary/libqdp.so:system/lib/libqdp.so:qcom \
-    vendor/qcom/flo/proprietary/libqmi.so:system/lib/libqmi.so:qcom \
     vendor/qcom/flo/proprietary/libqmi_cci.so:system/lib/libqmi_cci.so:qcom \
     vendor/qcom/flo/proprietary/libqmi_client_qmux.so:system/lib/libqmi_client_qmux.so:qcom \
     vendor/qcom/flo/proprietary/libqmi_common_so.so:system/lib/libqmi_common_so.so:qcom \
@@ -110,7 +106,11 @@
     vendor/qcom/flo/proprietary/libqmi_csvt_srvc.so:system/lib/libqmi_csvt_srvc.so:qcom \
     vendor/qcom/flo/proprietary/libqmi_encdec.so:system/lib/libqmi_encdec.so:qcom \
     vendor/qcom/flo/proprietary/libqmiservices.so:system/lib/libqmiservices.so:qcom \
-    vendor/qcom/flo/proprietary/libqomx_core.so:system/lib/libqomx_core.so:qcom \
+    vendor/qcom/flo/proprietary/libqmi.so:system/lib/libqmi.so:qcom \
+    vendor/qcom/flo/proprietary/libQSEEComAPI.so:system/lib/libQSEEComAPI.so:qcom \
+    vendor/qcom/flo/proprietary/librs_adreno_sha1.so:system/lib/librs_adreno_sha1.so:qcom \
+    vendor/qcom/flo/proprietary/librs_adreno.so:system/lib/librs_adreno.so:qcom \
+    vendor/qcom/flo/proprietary/libRSDriver_adreno.so:system/lib/libRSDriver_adreno.so:qcom \
     vendor/qcom/flo/proprietary/libsc-a3xx.so:system/lib/libsc-a3xx.so:qcom \
     vendor/qcom/flo/proprietary/libsensor1.so:system/lib/libsensor1.so:qcom \
     vendor/qcom/flo/proprietary/libsensor_reg.so:system/lib/libsensor_reg.so:qcom \
@@ -144,6 +144,11 @@
     vendor/qcom/flo/proprietary/gss.b10:system/vendor/firmware/gss.b10:qcom \
     vendor/qcom/flo/proprietary/gss.b11:system/vendor/firmware/gss.b11:qcom \
     vendor/qcom/flo/proprietary/gss.mdt:system/vendor/firmware/gss.mdt:qcom \
+    vendor/qcom/flo/proprietary/keymaster.b00:system/vendor/firmware/keymaster/keymaster.b00:qcom \
+    vendor/qcom/flo/proprietary/keymaster.b01:system/vendor/firmware/keymaster/keymaster.b01:qcom \
+    vendor/qcom/flo/proprietary/keymaster.b02:system/vendor/firmware/keymaster/keymaster.b02:qcom \
+    vendor/qcom/flo/proprietary/keymaster.b03:system/vendor/firmware/keymaster/keymaster.b03:qcom \
+    vendor/qcom/flo/proprietary/keymaster.mdt:system/vendor/firmware/keymaster/keymaster.mdt:qcom \
     vendor/qcom/flo/proprietary/q6.b00:system/vendor/firmware/q6.b00:qcom \
     vendor/qcom/flo/proprietary/q6.b01:system/vendor/firmware/q6.b01:qcom \
     vendor/qcom/flo/proprietary/q6.b03:system/vendor/firmware/q6.b03:qcom \
@@ -163,8 +168,12 @@
     vendor/qcom/flo/proprietary/wcnss.mdt:system/vendor/firmware/wcnss.mdt:qcom \
     vendor/qcom/flo/proprietary/libdrmdecrypt.so:system/vendor/lib/libdrmdecrypt.so:qcom \
     vendor/qcom/flo/proprietary/libgemini.so:system/vendor/lib/libgemini.so:qcom \
+    vendor/qcom/flo/proprietary/libgeofence.so:system/vendor/lib/libgeofence.so:qcom \
     vendor/qcom/flo/proprietary/libimage-jpeg-enc-omx-comp.so:system/vendor/lib/libimage-jpeg-enc-omx-comp.so:qcom \
     vendor/qcom/flo/proprietary/libimage-omx-common.so:system/vendor/lib/libimage-omx-common.so:qcom \
+    vendor/qcom/flo/proprietary/libizat_core.so:system/vendor/lib/libizat_core.so:qcom \
+    vendor/qcom/flo/proprietary/libloc_api_v02.so:system/vendor/lib/libloc_api_v02.so:qcom \
+    vendor/qcom/flo/proprietary/libloc_ds_api.so:system/vendor/lib/libloc_ds_api.so:qcom \
     vendor/qcom/flo/proprietary/libmmcamera2_c2d_module.so:system/vendor/lib/libmmcamera2_c2d_module.so:qcom \
     vendor/qcom/flo/proprietary/libmmcamera2_cpp_module.so:system/vendor/lib/libmmcamera2_cpp_module.so:qcom \
     vendor/qcom/flo/proprietary/libmmcamera2_iface_modules.so:system/vendor/lib/libmmcamera2_iface_modules.so:qcom \
diff --git a/sepolicy/app.te b/sepolicy/app.te
deleted file mode 100644
index eb71391..0000000
--- a/sepolicy/app.te
+++ /dev/null
@@ -1,3 +0,0 @@
-# Grant GPU access to all processes started by Zygote.
-# They need that to render the standard UI.
-allow appdomain gpu_device:chr_file rw_file_perms;
diff --git a/sepolicy/bluetooth_loader.te b/sepolicy/bluetooth_loader.te
index 642c19a..fcc50ab 100644
--- a/sepolicy/bluetooth_loader.te
+++ b/sepolicy/bluetooth_loader.te
@@ -5,8 +5,6 @@
 # Start bdAddrLoader from init
 init_daemon_domain(bluetooth_loader)
 
-permissive bluetooth_loader;
-
 # Run init.mako.bt.sh
 allow bluetooth_loader shell_exec:file { entrypoint read };
 allow bluetooth_loader bluetooth_loader_exec:file { getattr open execute_no_trans };
diff --git a/sepolicy/bridge.te b/sepolicy/bridge.te
index 1b5c886..09678c8 100644
--- a/sepolicy/bridge.te
+++ b/sepolicy/bridge.te
@@ -5,8 +5,6 @@
 # Started by init
 init_daemon_domain(bridge)
 
-permissive bridge;
-
 # Uevent for usb connection
 allow bridge self:netlink_kobject_uevent_socket { create bind read };
 
diff --git a/sepolicy/camera.te b/sepolicy/camera.te
index a93e376..dc57d01 100644
--- a/sepolicy/camera.te
+++ b/sepolicy/camera.te
@@ -5,11 +5,11 @@
 # Started by init
 init_daemon_domain(camera)
 
-permissive camera;
+allow camera self:process execmem;
 
 # Interact with other media devices
 allow camera camera_device:dir search;
-allow camera { video_device camera_device }:chr_file rw_file_perms;
+allow camera { gpu_device video_device camera_device }:chr_file rw_file_perms;
 allow camera { surfaceflinger mediaserver }:fd use;
 
 # Create front and back camera sockets (/data/cam_socket[12])
diff --git a/sepolicy/device.te b/sepolicy/device.te
index a8b68a8..b6e993a 100644
--- a/sepolicy/device.te
+++ b/sepolicy/device.te
@@ -1,6 +1,3 @@
-# GPU (used by most UI apps)
-type gpu_device, dev_type;
-
 type wlan_device, dev_type;
 
 type diag_device, dev_type;
@@ -11,8 +8,6 @@
 # SMD device, used by hci_qcomm_init
 type smd_device, dev_type;
 
-type mpdecision_device, dev_type;
-
 # Radio related block device
 type efs_block_device, dev_type;
 
diff --git a/sepolicy/file.te b/sepolicy/file.te
index aa2b17f..38285da 100644
--- a/sepolicy/file.te
+++ b/sepolicy/file.te
@@ -2,6 +2,7 @@
 type qmuxd_socket, file_type;
 type sensors_socket, file_type;
 type camera_socket, file_type;
+type ppd_socket, file_type;
 
 type sensors_data_file, file_type, data_file_type;
 
@@ -23,3 +24,4 @@
 
 type sysfs_rmnet, fs_type, sysfs_type;
 type sysfs_mpdecision, fs_type, sysfs_type;
+type sysfs_surfaceflinger, fs_type, sysfs_type;
diff --git a/sepolicy/file_contexts b/sepolicy/file_contexts
index 250d945..1789fe4 100644
--- a/sepolicy/file_contexts
+++ b/sepolicy/file_contexts
@@ -26,6 +26,9 @@
 # CPU governor controls
 /dev/socket/mpdecision(/.*)?           u:object_r:mpdecision_socket:s0
 
+# HDMI output socket (mm-pp-daemon)
+/dev/socket/pps                        u:object_r:ppd_socket:s0
+
 ## Radio related
 # modem driver
 /dev/mdm                               u:object_r:radio_device:s0
@@ -80,10 +83,15 @@
 /dev/ks_hsic_bridge                u:object_r:kickstart_device:s0
 /dev/efs_hsic_bridge               u:object_r:kickstart_device:s0
 
+/system/bin/qcks                   u:object_r:kickstart_exec:s0
+/system/bin/efsks                  u:object_r:kickstart_exec:s0
+/system/bin/ks                     u:object_r:kickstart_exec:s0
+
 /data/nfc(/.*)?                    u:object_r:nfc_data_file:s0
 /data/qcks(/.*)?                   u:object_r:kickstart_data_file:s0
 /data/misc/sensors(/.*)?           u:object_r:sensors_data_file:s0
 /data/system/sensors(/.*)?         u:object_r:sensors_data_file:s0
+/data/misc/playready(/.*)?         u:object_r:drm_data_file:s0
 /data/fdAlbum                      u:object_r:camera_data_file:s0
 
 /system/bin/hci_qcomm_init         u:object_r:hci_attach_exec:s0
@@ -101,6 +109,8 @@
 /system/bin/mm-qcamera-daemon      u:object_r:camera_exec:s0
 /system/bin/qseecomd               u:object_r:tee_exec:s0
 /system/bin/conn_init              u:object_r:conn_init_exec:s0
+/system/bin/mm-pp-daemon           u:object_r:ppd_exec:s0
+/system/bin/irsc_util              u:object_r:irsc_util_exec:s0
 
 # Persist firmware filesystem
 /persist(/.*)?                    u:object_r:persist_file:s0
@@ -119,3 +129,7 @@
 # Sysfs files used by mpdecision
 /sys/module/pm2/modes(/.*)?            u:object_r:sysfs_mpdecision:s0
 /sys/module/pm_8x60/modes(/.*)?        u:object_r:sysfs_mpdecision:s0
+
+# Sysfs files used by surfaceflinger
+/sys/devices/virtual/graphics/fb1/format_3d -- u:object_r:sysfs_surfaceflinger:s0
+/sys/devices/virtual/graphics/fb1/hpd       -- u:object_r:sysfs_surfaceflinger:s0
diff --git a/sepolicy/irsc_util.te b/sepolicy/irsc_util.te
new file mode 100644
index 0000000..af9ad9b
--- /dev/null
+++ b/sepolicy/irsc_util.te
@@ -0,0 +1,7 @@
+# irsc_util
+
+type irsc_util, domain;
+type irsc_util_exec, exec_type, file_type;
+
+init_daemon_domain(irsc_util)
+unconfined_domain(irsc_util)
diff --git a/sepolicy/mpdecision.te b/sepolicy/mpdecision.te
index 0275bea..0107b83 100644
--- a/sepolicy/mpdecision.te
+++ b/sepolicy/mpdecision.te
@@ -5,8 +5,6 @@
 # Started by init
 init_daemon_domain(mpdecision)
 
-permissive mpdecision;
-
 # CPU hotplug uevent to manage cores
 allow mpdecision self:netlink_kobject_uevent_socket { create setopt bind read };
 allow mpdecision self:capability net_admin;
diff --git a/sepolicy/ppd.te b/sepolicy/ppd.te
new file mode 100644
index 0000000..b423b4f
--- /dev/null
+++ b/sepolicy/ppd.te
@@ -0,0 +1,11 @@
+# HDMI output (system process)
+type ppd, domain;
+type ppd_exec, exec_type, file_type;
+
+# Started by init
+init_daemon_domain(ppd)
+
+permissive ppd;
+
+allow ppd graphics_device:chr_file rw_file_perms;
+unix_socket_connect(ppd, property, init)
diff --git a/sepolicy/qmux.te b/sepolicy/qmux.te
index a3be8ed..3fe384f 100644
--- a/sepolicy/qmux.te
+++ b/sepolicy/qmux.te
@@ -5,8 +5,6 @@
 # Started by init
 init_daemon_domain(qmux)
 
-permissive qmux;
-
 # Create sockets under each /dev/socket/qmux_* directory.
 allow qmux qmuxd_socket:dir w_dir_perms;
 allow qmux qmuxd_socket:sock_file { create setattr getattr unlink };
diff --git a/sepolicy/surfaceflinger.te b/sepolicy/surfaceflinger.te
index 8430fe1..db248db 100644
--- a/sepolicy/surfaceflinger.te
+++ b/sepolicy/surfaceflinger.te
@@ -1,2 +1,2 @@
-# Grant GPU access to SurfaceFlinger
-allow surfaceflinger gpu_device:chr_file rw_file_perms;
+allow surfaceflinger sysfs_surfaceflinger:file rw_file_perms;
+unix_socket_connect(surfaceflinger, ppd, ppd)
diff --git a/sepolicy/system_server.te b/sepolicy/system_server.te
index 6570ad1..356afb1 100644
--- a/sepolicy/system_server.te
+++ b/sepolicy/system_server.te
@@ -1,6 +1,3 @@
-# Grant GPU access to system services (e.g., PowerManagerService)
-allow system_server gpu_device:chr_file rw_file_perms;
-
 # Grant access to Qualcomm MSM Interface (QMI) radio sockets to system services
 # (e.g., LocationManager)
 qmux_socket(system_server)
diff --git a/sepolicy/tee.te b/sepolicy/tee.te
index 643be90..d14b864 100644
--- a/sepolicy/tee.te
+++ b/sepolicy/tee.te
@@ -1,6 +1,14 @@
 # Qualcomm Secure Execution Environment Communicator policy
 allow tee self:process execmem;
 
+# /data/misc/playready labeling
+type_transition tee system_data_file:dir drm_data_file;
+
+# Access /data/misc/playready
+allow tee system_data_file:dir ra_dir_perms;
+allow tee drm_data_file:dir create_dir_perms;
+allow tee drm_data_file:file create_file_perms;
+
 # Read from persist partition
 allow tee persist_file:dir search;
 r_dir_file(tee, persist_data_file)
diff --git a/sepolicy/thermald.te b/sepolicy/thermald.te
index aca3fc7..576fcb3 100644
--- a/sepolicy/thermald.te
+++ b/sepolicy/thermald.te
@@ -5,8 +5,6 @@
 # Started by init
 init_daemon_domain(thermald)
 
-permissive thermald;
-
 allow thermald self:socket create_socket_perms;
 
 # CPU hotplug uevent
diff --git a/vendor_owner_info.txt b/vendor_owner_info.txt
index 92d0686..5583561 100644
--- a/vendor_owner_info.txt
+++ b/vendor_owner_info.txt
@@ -1,6 +1,7 @@
 root/adb_keys:google
 system/bin/ATFWD-daemon:qcom
 system/app/AsusDebugger.apk:asus
+system/app/VZ_SDM.apk:asus
 system/etc/DxHDCP.cfg:qcom
 system/vendor/firmware/bcm2079x-b5_firmware.ncd:broadcom
 system/vendor/firmware/bcm2079x-b5_pre_firmware.ncd:broadcom
@@ -35,18 +36,34 @@
 system/vendor/firmware/gss.b10:qcom
 system/vendor/firmware/gss.b11:qcom
 system/vendor/firmware/gss.mdt:qcom
+system/vendor/firmware/keymaster/keymaster.b00:qcom
+system/vendor/firmware/keymaster/keymaster.b01:qcom
+system/vendor/firmware/keymaster/keymaster.b02:qcom
+system/vendor/firmware/keymaster/keymaster.b03:qcom
+system/vendor/firmware/keymaster/keymaster.mdt:qcom
 system/bin/hci_qcomm_init:qcom
 system/bin/irsc_util:qcom
 system/bin/ks:qcom
+system/etc/gps.conf:qcom
+system/lib/egl/libEGL_adreno.so:qcom
+system/lib/egl/libGLESv1_CM_adreno.so:qcom
+system/lib/egl/libGLESv2_adreno.so:qcom
+system/lib/egl/libplayback_adreno.so:qcom
+system/lib/egl/libq3dtools_adreno.so:qcom
 system/lib/libAKM.so:asus
+system/lib/libCB.so:qcom
 system/lib/libCommandSvc.so:qcom
 system/lib/libDxHdcp.so:qcom
 system/lib/libI420colorconvert.so:qcom
 system/lib/libQSEEComAPI.so:qcom
+system/lib/libRSDriver_adreno.so:qcom
 system/lib/libacdbdata.so:asus
 system/lib/libacdbloader.so:qcom
+system/lib/libadreno_utils.so:qcom
 system/lib/libaudcal.so:qcom
 system/lib/libaudioalsa.so:qcom
+system/lib/libc2d30-a3xx.so:qcom
+system/lib/libc2d30.so:qcom
 system/lib/libchromatix_ov5693_common.so:qcom
 system/lib/libchromatix_ov5693_default_video.so:qcom
 system/lib/libchromatix_ov5693_preview.so:qcom
@@ -63,9 +80,14 @@
 system/lib/libdsucsd.so:qcom
 system/lib/libdsutils.so:qcom
 system/vendor/lib/libgemini.so:qcom
+system/vendor/lib/libgeofence.so:qcom
 system/vendor/lib/libimage-jpeg-enc-omx-comp.so:qcom
 system/vendor/lib/libimage-omx-common.so:qcom
+system/vendor/lib/libizat_core.so:qcom
+system/vendor/lib/libloc_api_v02.so:qcom
+system/vendor/lib/libloc_ds_api.so:qcom
 system/lib/libloc_api_v02.so:qcom
+system/lib/libloc_core.so:qcom
 system/lib/libmm-abl.so:qcom
 system/lib/libmm-abl-oem.so:qcom
 system/lib/libmm-color-convertor.so:qcom
@@ -87,6 +109,8 @@
 system/lib/libnetmgr.so:qcom
 system/vendor/lib/liboemcamera.so:qcom
 system/lib/liboemcrypto.so:qcom
+system/lib/librs_adreno_sha1.so:qcom
+system/lib/librs_adreno.so:qcom
 system/lib/libqcci_legacy.so:qcom
 system/lib/libqdi.so:qcom
 system/lib/libqdp.so:qcom
@@ -123,6 +147,7 @@
 system/bin/qseecomd:qcom
 system/bin/radish:qcom
 system/bin/rmt_storage:qcom
+system/lib/hw/flp.msm8960.so:qcom
 system/lib/hw/sensors.msm8960.so:qcom
 system/bin/sensors.qcom:qcom
 system/bin/thermald:qcom
diff --git a/wpa_supplicant_overlay.conf b/wpa_supplicant_overlay.conf
index acbace2..f9f5541 100644
--- a/wpa_supplicant_overlay.conf
+++ b/wpa_supplicant_overlay.conf
@@ -1 +1,2 @@
 disable_scan_offload=1
+tdls_external_control=1