diff --git a/Android.bp b/Android.bp
index 6efaac1..9f2d303 100644
--- a/Android.bp
+++ b/Android.bp
@@ -1,4 +1,5 @@
 subdirs = [
+    "thermal",
     "vr",
     "vibrator",
     "wifi_offload",
diff --git a/android_filesystem_config.h b/android_filesystem_config.h
index 775a717..a580f88 100644
--- a/android_filesystem_config.h
+++ b/android_filesystem_config.h
@@ -21,9 +21,8 @@
 
 #include <private/android_filesystem_config.h>
 
-static const struct fs_path_config android_device_dirs[] = {
-    { 00771, AID_SYSTEM,      AID_SYSTEM,     0, "bt_firmware"},
-};
+#define NO_ANDROID_FILESYSTEM_CONFIG_DEVICE_DIRS
+/* static const struct fs_path_config android_device_dirs[] = { }; */
 
 /* Rules for files.
 ** These rules are applied based on "first match", so they
diff --git a/audio_policy_configuration.xml b/audio_policy_configuration.xml
index d74d187..07daa6c 100644
--- a/audio_policy_configuration.xml
+++ b/audio_policy_configuration.xml
@@ -69,9 +69,9 @@
                              samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
                 </mixPort>
                 <mixPort name="voip_rx" role="source"
-                         flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_VOIP_RX">
+                         flags="AUDIO_OUTPUT_FLAG_VOIP_RX">
                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
-                           samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
+                           samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
                 </mixPort>
                 <mixPort name="primary input" role="sink">
                     <profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
diff --git a/default-permissions.xml b/default-permissions.xml
index 92b0613..5c37315 100644
--- a/default-permissions.xml
+++ b/default-permissions.xml
@@ -53,8 +53,12 @@
 
     <exception
             package="com.verizon.mips.services">
+        <!-- Call -->
+        <permission name="android.permission.PROCESS_OUTGOING_CALLS" fixed="false"/>
         <!-- Phone -->
         <permission name="android.permission.READ_PHONE_STATE" fixed="false"/>
+        <!-- SMS -->
+        <permission name="android.permission.RECEIVE_SMS" fixed="false"/>
     </exception>
 
     <exception
diff --git a/device.mk b/device.mk
index b860a82..1d52ca2 100755
--- a/device.mk
+++ b/device.mk
@@ -21,6 +21,10 @@
     device/google/wahoo/default-permissions.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default-permissions/default-permissions.xml \
     frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml
 
+# Set the SVN for the targeted MR release
+PRODUCT_PROPERTY_OVERRIDES += \
+    ro.vendor.build.svn=4
+
 # Enforce privapp-permissions whitelist
 PRODUCT_PROPERTY_OVERRIDES += \
     ro.control_privapp_permissions=enforce
@@ -67,7 +71,9 @@
     $(LOCAL_PATH)/init.qcom.devstart.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.qcom.devstart.sh \
     $(LOCAL_PATH)/init.qcom.ipastart.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.qcom.ipastart.sh \
     $(LOCAL_PATH)/init.insmod.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.insmod.sh \
-    $(LOCAL_PATH)/init.ramoops.sh:$(TARGET_COPY_OUT_SYSTEM)/bin/init.ramoops.sh
+    $(LOCAL_PATH)/init.ramoops.sh:$(TARGET_COPY_OUT_SYSTEM)/bin/init.ramoops.sh \
+    frameworks/native/services/vr/virtual_touchpad/idc/vr-virtual-touchpad-0.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/vr-virtual-touchpad-0.idc \
+    frameworks/native/services/vr/virtual_touchpad/idc/vr-virtual-touchpad-1.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/vr-virtual-touchpad-1.idc
 
 ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
   PRODUCT_COPY_FILES += \
@@ -181,6 +187,10 @@
 PRODUCT_PROPERTY_OVERRIDES += \
     ro.opengles.version=196610
 
+# b/68017541
+PRODUCT_PROPERTY_OVERRIDES += \
+    ro.qcom.adreno.qgl.ShaderStorageImageExtendedFormats=0
+
 # Enable camera EIS3.0
 PRODUCT_PROPERTY_OVERRIDES += \
     persist.camera.is_type=5 \
@@ -207,6 +217,7 @@
     persist.radio.data_ltd_sys_ind=1 \
     persist.radio.is_wps_enabled=true \
     persist.radio.videopause.mode=1 \
+    persist.radio.sap_silent_pin=1 \
     persist.radio.sib16_support=1 \
     persist.radio.data_con_rprt=true \
     persist.radio.always_send_plmn=true \
@@ -221,6 +232,29 @@
 PRODUCT_PROPERTY_OVERRIDES += \
   ro.vendor.extension_library=libqti-perfd-client.so
 
+# settings to enable Device Orientation Sensors
+PRODUCT_PROPERTY_OVERRIDES += \
+    ro.qti.sensors.dev_ori=true
+
+# settings to disable unused secondary wakeup
+PRODUCT_PROPERTY_OVERRIDES += \
+    ro.qti.sensors.wu=false
+
+# settings to disable unused algorithms
+PRODUCT_PROPERTY_OVERRIDES += \
+    ro.qti.sdk.sensors.gestures=false \
+    ro.qti.sensors.amd=false \
+    ro.qti.sensors.cmc=false \
+    ro.qti.sensors.facing=false \
+    ro.qti.sensors.pedometer=false \
+    ro.qti.sensors.rmd=false \
+    ro.qti.sensors.scrn_ortn=false
+
+# use SMGR supplied version of step detector and counter
+PRODUCT_PROPERTY_OVERRIDES += \
+    ro.qti.sensors.step_counter=false \
+    ro.qti.sensors.step_detector=false
+
 # camera gyro and laser sensor
 PRODUCT_PROPERTY_OVERRIDES += \
   persist.camera.gyro.android=20 \
@@ -278,11 +312,6 @@
     android.hardware.bluetooth@1.0-impl    \
     android.hardware.bluetooth@1.0-service
 
-# Neuralnetworks HAL
-PRODUCT_PACKAGES += \
-    android.hardware.neuralnetworks@1.0-impl-hvx \
-    android.hardware.neuralnetworks@1.0-service-hvx
-
 # DRM HAL
 PRODUCT_PACKAGES += \
   android.hardware.drm@1.0-impl \
@@ -353,7 +382,7 @@
 
 # Thermal packages
 PRODUCT_PACKAGES += \
-    android.hardware.thermal@1.0-service.wahoo
+    android.hardware.thermal@1.1-impl-wahoo
 
 #GNSS HAL
 PRODUCT_PACKAGES += \
@@ -432,10 +461,6 @@
 # PRODUCT_COPY_FILES += \
 #   frameworks/native/data/etc/android.hardware.audio.pro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.pro.xml
 
-# Thermal packages
-PRODUCT_PACKAGES += \
-    thermal.default
-
 ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
 PRODUCT_PACKAGES += \
     tinyplay \
@@ -581,6 +606,14 @@
 PRODUCT_PROPERTY_OVERRIDES += \
     persist.camera.perfd.enable=true
 
+# Enable Gcam FD Ensemble
+PRODUCT_PROPERTY_OVERRIDES += \
+    persist.camera.gcam.fd.ensemble=1
+
 # Preopt SystemUI
 PRODUCT_DEXPREOPT_SPEED_APPS += \
     SystemUIGoogle
+
+# audio effects config
+PRODUCT_PROPERTY_OVERRIDES += \
+    fmas.hdph_sgain=0
diff --git a/dumpstate/DumpstateDevice.cpp b/dumpstate/DumpstateDevice.cpp
index 2e90863..efcf8bc 100755
--- a/dumpstate/DumpstateDevice.cpp
+++ b/dumpstate/DumpstateDevice.cpp
@@ -182,6 +182,10 @@
     DumpFileToFd(fd, "SoC serial number", "/sys/devices/soc0/serial_number");
     DumpFileToFd(fd, "CPU present", "/sys/devices/system/cpu/present");
     DumpFileToFd(fd, "CPU online", "/sys/devices/system/cpu/online");
+    DumpFileToFd(fd, "UFS model", "/sys/block/sda/device/model");
+    DumpFileToFd(fd, "UFS rev", "/sys/block/sda/device/rev");
+    DumpFileToFd(fd, "UFS size", "/sys/block/sda/size");
+    RunCommandToFd(fd, "UFS health", {"/vendor/bin/sh", "-c", "for f in $(find /sys/kernel/debug/ufshcd0 -type f); do if [[ -r $f && -f $f ]]; then echo --- $f; cat $f; fi; done"});
     DumpFileToFd(fd, "INTERRUPTS", "/proc/interrupts");
     DumpFileToFd(fd, "RPM Stats", "/d/rpm_stats");
     DumpFileToFd(fd, "Power Management Stats", "/d/rpm_master_stats");
diff --git a/init.hardware.diag.rc.userdebug b/init.hardware.diag.rc.userdebug
index 16d7e83..a283556 100644
--- a/init.hardware.diag.rc.userdebug
+++ b/init.hardware.diag.rc.userdebug
@@ -384,3 +384,17 @@
 
 on property:debug.htc.ramdump.crash=true
     write /proc/sysrq-trigger "c"
+
+on property:sys.logger.bluetooth=true
+   setprop persist.service.bdroid.snooplog true
+   setprop persist.service.bdroid.fwsnoop true
+
+on property:sys.logger.bluetooth=false
+   setprop persist.service.bdroid.snooplog false
+   setprop persist.service.bdroid.fwsnoop false
+
+on property:persist.bluetooth.btsnoopenable=true
+   setprop persist.service.bdroid.soclog true
+
+on property:persist.bluetooth.btsnoopenable=false
+   setprop persist.service.bdroid.soclog false
diff --git a/init.hardware.rc b/init.hardware.rc
index 4ffe8b0..8ab2ba2 100644
--- a/init.hardware.rc
+++ b/init.hardware.rc
@@ -230,6 +230,7 @@
 
 on property:sys.ramoops.decrypted=true
     mount pstore pstore /sys/fs/pstore
+    chown system log /sys/fs/pstore
     chown system log /sys/fs/pstore/console-ramoops
     chmod 0440 /sys/fs/pstore/console-ramoops
     chown system log /sys/fs/pstore/console-ramoops-0
@@ -582,6 +583,19 @@
     write /dev/cpuset/application/background/cpus 0-1
     write /dev/cpuset/application/cpus 0-1,4-5
 
+    # UFS health
+    chmod 755 /sys/kernel/debug/ufshcd0
+    chown 644 /sys/kernel/debug/ufshcd0/err_state
+    chmod 644 /sys/kernel/debug/ufshcd0/power_mode
+    chmod 644 /sys/kernel/debug/ufshcd0/host_regs
+    chmod 644 /sys/kernel/debug/ufshcd0/show_hba
+    chmod 644 /sys/kernel/debug/ufshcd0/dump_device_desc
+    chmod 644 /sys/kernel/debug/ufshcd0/dump_health_desc
+    chmod 755 /sys/kernel/debug/ufshcd0/stats
+    chmod 644 /sys/kernel/debug/ufshcd0/stats/req_stats
+    chmod 644 /sys/kernel/debug/ufshcd0/stats/query_stats
+    chmod 644 /sys/kernel/debug/ufshcd0/stats/err_stats
+
 on property:init.svc.per_mgr=running
     start per_proxy
 
@@ -609,9 +623,8 @@
 
 on property:persist.sys.ssr.enable_ramdumps=1
     write /sys/module/subsystem_restart/parameters/enable_ramdumps 1
-    mkdir /data/vendor/ssrdump 761 root system
+    mkdir /data/vendor/ssrdump 771 root system
     mkdir /data/vendor/ramdump 771 root system
-    mkdir /data/vendor/ramdump/bluetooth 771 root system
     start ss_ramdump
 
 on property:persist.sys.ssr.enable_ramdumps=0
diff --git a/init.hardware.usb.rc b/init.hardware.usb.rc
index 7b8b692..0ecc976 100644
--- a/init.hardware.usb.rc
+++ b/init.hardware.usb.rc
@@ -39,6 +39,7 @@
     mkdir /config/usb_gadget/g1/configs/b.1 0770 shell shell
     mkdir /config/usb_gadget/g1/configs/b.1/strings/0x409 0770 shell shell
     write /config/usb_gadget/g1/os_desc/b_vendor_code 0x1
+    write /config/usb_gadget/g1/os_desc/qw_sign "MSFT100"
     mkdir /dev/usb-ffs 0775 shell shell
     mkdir /dev/usb-ffs/adb 0770 shell shell
     mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000
@@ -50,15 +51,22 @@
     setprop sys.usb.configfs 1
     setprop sys.usb.controller "a800000.dwc3"
     write /sys/module/libcomposite/parameters/disable_l1_for_hs "y"
+    symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1
+    write /config/usb_gadget/g1/functions/gsi.rndis/rndis_wceis 1
+
+on property:sys.usb.config=none && property:sys.usb.configfs=1
+    write /config/usb_gadget/g1/os_desc/use 0
 
 on property:sys.usb.ffs.mtp.ready=1 && property:sys.usb.config=mtp && property:sys.usb.configfs=1
     write /config/usb_gadget/g1/idVendor 0x18d1
     write /config/usb_gadget/g1/idProduct 0x4ee1
+    write /config/usb_gadget/g1/os_desc/use 1
     symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1
 
 on property:sys.usb.ffs.ready=1 && property:sys.usb.ffs.mtp.ready=1 && property:sys.usb.config=mtp,adb && property:sys.usb.configfs=1
     write /config/usb_gadget/g1/idVendor 0x18d1
     write /config/usb_gadget/g1/idProduct 0x4ee2
+    write /config/usb_gadget/g1/os_desc/use 1
     symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1
 
 on property:sys.usb.config=rndis && property:sys.usb.configfs=1
@@ -74,11 +82,13 @@
 on property:sys.usb.ffs.mtp.ready=1 && property:sys.usb.config=ptp && property:sys.usb.configfs=1
     write /config/usb_gadget/g1/idVendor 0x18d1
     write /config/usb_gadget/g1/idProduct 0x4ee5
+    write /config/usb_gadget/g1/os_desc/use 1
     symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1
 
 on property:sys.usb.ffs.ready=1 && property:sys.usb.ffs.mtp.ready=1 && property:sys.usb.config=ptp,adb && property:sys.usb.configfs=1
     write /config/usb_gadget/g1/idVendor 0x18d1
     write /config/usb_gadget/g1/idProduct 0x4ee6
+    write /config/usb_gadget/g1/os_desc/use 1
     symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1
 
 on property:sys.usb.config=adb && property:sys.usb.configfs=1
diff --git a/init.insmod.sh b/init.insmod.sh
index d98037c..46e9363 100755
--- a/init.insmod.sh
+++ b/init.insmod.sh
@@ -7,7 +7,11 @@
 ### ...                               ###
 #########################################
 
-cfg_file="/vendor/etc/init.insmod.cfg"
+if [[ -e "/vendor/etc/init.insmod_charger.cfg" && "$(getprop ro.boot.mode)" == "charger" ]]; then
+  cfg_file="/vendor/etc/init.insmod_charger.cfg"
+else
+  cfg_file="/vendor/etc/init.insmod.cfg"
+fi
 
 if [ -f $cfg_file ]; then
   while IFS=" " read -r action name
diff --git a/manifest.xml b/manifest.xml
index b386837..c553bb3 100644
--- a/manifest.xml
+++ b/manifest.xml
@@ -190,15 +190,6 @@
         </interface>
     </hal>
     <hal format="hidl">
-        <name>android.hardware.neuralnetworks</name>
-        <transport>hwbinder</transport>
-        <version>1.0</version>
-        <interface>
-            <name>IDevice</name>
-            <instance>hvx</instance>
-        </interface>
-    </hal>
-    <hal format="hidl">
         <name>android.hardware.nfc</name>
         <transport>hwbinder</transport>
         <version>1.0</version>
@@ -295,7 +286,7 @@
     <hal format="hidl">
         <name>android.hardware.thermal</name>
         <transport>hwbinder</transport>
-        <version>1.0</version>
+        <version>1.1</version>
         <interface>
             <name>IThermal</name>
             <instance>default</instance>
diff --git a/media_codecs_performance.xml b/media_codecs_performance.xml
index 2be2167..7f1b254 100644
--- a/media_codecs_performance.xml
+++ b/media_codecs_performance.xml
@@ -14,138 +14,138 @@
      limitations under the License.
 -->
 
-<!-- Generated file for wahoo using measurements between OPM1.170803.002/OPD1.170810.002 and OPM1.170904.001 -->
+<!-- Generated file for wahoo using measurements between OPM1.170815.001 and OPM1.170912.002 -->
 <MediaCodecs>
+    <!-- Measurements between OPD1.170804.003 and OPM1.170908.002 -->
     <Encoders>
         <MediaCodec name="OMX.qcom.video.encoder.h263" type="video/3gpp" update="true">
-            <Limit name="measured-frame-rate-176x144" range="391-391" /> <!-- N=224 v98%=1.1 -->
-            <Limit name="measured-frame-rate-352x288" range="417-426" /> <!-- N=224 v98%=1.2 -->
+            <Limit name="measured-frame-rate-176x144" range="390-390" /> <!-- N=228 v98%=1.2 -->
+            <Limit name="measured-frame-rate-352x288" range="416-424" /> <!-- N=228 v98%=1.2 -->
         </MediaCodec>
         <MediaCodec name="OMX.qcom.video.encoder.avc" type="video/avc" update="true">
-            <Limit name="measured-frame-rate-320x240" range="427-431" /> <!-- N=224 v98%=1.2 -->
-            <Limit name="measured-frame-rate-720x480" range="167-167" /> <!-- N=224 v98%=1.2 -->
-            <Limit name="measured-frame-rate-1280x720" range="88-88" /> <!-- N=222 v98%=1.1 -->
-            <Limit name="measured-frame-rate-1920x1080" range="31-31" /> <!-- N=224 v98%=1.2 -->
+            <Limit name="measured-frame-rate-320x240" range="427-431" /> <!-- N=228 v98%=1.2 -->
+            <Limit name="measured-frame-rate-720x480" range="168-168" /> <!-- N=228 v98%=1.2 -->
+            <Limit name="measured-frame-rate-1280x720" range="88-88" /> <!-- N=226 v98%=1.1 -->
+            <Limit name="measured-frame-rate-1920x1080" range="31-31" /> <!-- N=228 v98%=1.2 -->
         </MediaCodec>
         <MediaCodec name="OMX.qcom.video.encoder.hevc" type="video/hevc" update="true">
-            <Limit name="measured-frame-rate-320x240" range="444-452" /> <!-- N=224 v98%=1.2 -->
-            <Limit name="measured-frame-rate-720x480" range="176-176" /> <!-- N=224 v98%=1.2 -->
-            <Limit name="measured-frame-rate-1280x720" range="124-125" /> <!-- N=224 v98%=1.1 -->
-            <Limit name="measured-frame-rate-1920x1080" range="53-53" /> <!-- N=224 v98%=1.1 -->
-            <Limit name="measured-frame-rate-3840x2160" range="21-21" /> <!-- N=224 v98%=1.3 -->
+            <Limit name="measured-frame-rate-320x240" range="444-452" /> <!-- N=228 v98%=1.2 -->
+            <Limit name="measured-frame-rate-720x480" range="176-176" /> <!-- N=228 v98%=1.2 -->
+            <Limit name="measured-frame-rate-1280x720" range="124-125" /> <!-- N=228 v98%=1.1 -->
+            <Limit name="measured-frame-rate-1920x1080" range="52-52" /> <!-- N=228 v98%=1.2 -->
+            <Limit name="measured-frame-rate-3840x2160" range="21-21" /> <!-- N=228 v98%=1.3 -->
         </MediaCodec>
         <MediaCodec name="OMX.qcom.video.encoder.mpeg4" type="video/mp4v-es" update="true">
-            <Limit name="measured-frame-rate-176x144" range="384-384" /> <!-- N=224 v98%=1.1 -->
-            <Limit name="measured-frame-rate-352x288" range="387-399" /> <!-- N=224 v98%=1.2 -->
-            <!-- measured 98%:97-244 med:217/209 FLAKY(mn=80.2 < 97 - 418) -->
-            <Limit name="measured-frame-rate-640x480" range="160-209" /> <!-- TWEAKED N=224 v98%=1.6 -->
+            <Limit name="measured-frame-rate-176x144" range="384-384" /> <!-- N=228 v98%=1.2 -->
+            <Limit name="measured-frame-rate-352x288" range="387-399" /> <!-- N=228 v98%=1.2 -->
+            <!-- measured 98%:80-244 med:217/209 FLAKY(mn=73.3 < 80 - 418) -->
+            <Limit name="measured-frame-rate-640x480" range="146-209" /> <!-- TWEAKED N=228 v98%=1.7 -->
         </MediaCodec>
         <MediaCodec name="OMX.qcom.video.encoder.vp8" type="video/x-vnd.on2.vp8" update="true">
-            <Limit name="measured-frame-rate-320x180" range="337-337" /> <!-- N=224 v98%=1.2 -->
-            <Limit name="measured-frame-rate-640x360" range="262-266" /> <!-- N=224 v98%=1.2 -->
-            <Limit name="measured-frame-rate-1280x720" range="82-82" /> <!-- N=224 v98%=1.1 -->
-            <Limit name="measured-frame-rate-1920x1080" range="32-32" /> <!-- N=224 v98%=1.3 -->
+            <Limit name="measured-frame-rate-320x180" range="335-335" /> <!-- N=228 v98%=1.2 -->
+            <Limit name="measured-frame-rate-640x360" range="262-267" /> <!-- N=228 v98%=1.2 -->
+            <Limit name="measured-frame-rate-1280x720" range="82-82" /> <!-- N=228 v98%=1.1 -->
+            <Limit name="measured-frame-rate-1920x1080" range="32-32" /> <!-- N=228 v98%=1.3 -->
         </MediaCodec>
         <MediaCodec name="OMX.google.h263.encoder" type="video/3gpp" update="true">
-            <!-- measured 98%:169-448 med:329/327 FLAKY(mn=146.3 < 164 - 654) -->
-            <Limit name="measured-frame-rate-176x144" range="327-327" /> <!-- N=224 v98%=1.6 -->
+            <!-- measured 98%:179-448 med:322/323 FLAKY(mn=143.6 < 161 - 646) -->
+            <Limit name="measured-frame-rate-176x144" range="287-323" /> <!-- TWEAKED N=228 v98%=1.6 -->
         </MediaCodec>
         <MediaCodec name="OMX.google.h264.encoder" type="video/avc" update="true">
-            <!-- measured 98%:163-357 med:304/304 FLAKY(mn=148.3 < 152 - 608) -->
-            <Limit name="measured-frame-rate-320x240" range="304-304" /> <!-- N=220 v98%=1.5 -->
-            <Limit name="measured-frame-rate-720x480" range="110-111" /> <!-- N=224 v98%=1.1 -->
-            <Limit name="measured-frame-rate-1280x720" range="64-65" /> <!-- N=222 v98%=1.2 -->
-            <Limit name="measured-frame-rate-1920x1080" range="29-30" /> <!-- N=224 v98%=1.2 -->
+            <!-- measured 97%:215-350 med:304/304 FLAKY(mn=83.7 < 152 - 608) -->
+            <Limit name="measured-frame-rate-320x240" range="167-304" /> <!-- TWEAKED N=224 v97%=1.3 -->
+            <!-- measured 98%:71-122 med:110/110 FLAKY(mn=46.8 < 55 - 220) -->
+            <Limit name="measured-frame-rate-720x480" range="93-110" /> <!-- TWEAKED N=228 v98%=1.3 -->
+            <!-- measured 98%:50-73 med:64/64 FLAKY(mn=24.1 < 32 - 128) -->
+            <Limit name="measured-frame-rate-1280x720" range="48-64" /> <!-- TWEAKED N=226 v98%=1.2 -->
+            <!-- measured 98%:21-37 med:29/29 FLAKY(mn=12.1 < 15 - 58) -->
+            <Limit name="measured-frame-rate-1920x1080" range="24-29" /> <!-- TWEAKED N=228 v98%=1.3 -->
         </MediaCodec>
         <MediaCodec name="OMX.google.mpeg4.encoder" type="video/mp4v-es" update="true">
-            <Limit name="measured-frame-rate-176x144" range="348-348" /> <!-- N=224 v98%=1.5 -->
+            <Limit name="measured-frame-rate-176x144" range="341-341" /> <!-- N=228 v98%=1.4 -->
         </MediaCodec>
         <MediaCodec name="OMX.google.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
-            <Limit name="measured-frame-rate-320x180" range="74-74" /> <!-- N=224 v98%=1.4 -->
-            <Limit name="measured-frame-rate-640x360" range="45-45" /> <!-- N=222 v98%=1.2 -->
-            <Limit name="measured-frame-rate-1280x720" range="36-36" /> <!-- N=224 v98%=1.1 -->
-            <Limit name="measured-frame-rate-1920x1080" range="23-23" /> <!-- N=224 v98%=1.1 -->
+            <Limit name="measured-frame-rate-320x180" range="73-73" /> <!-- N=228 v98%=1.4 -->
+            <Limit name="measured-frame-rate-640x360" range="45-45" /> <!-- N=226 v98%=1.2 -->
+            <Limit name="measured-frame-rate-1280x720" range="36-36" /> <!-- N=228 v98%=1.1 -->
+            <Limit name="measured-frame-rate-1920x1080" range="23-23" /> <!-- N=228 v98%=1.1 -->
         </MediaCodec>
+        <!-- Measurements between OPM1.170809.002 and OPM1.170908.002 -->
         <MediaCodec name="OMX.google.vp9.encoder" type="video/x-vnd.on2.vp9" update="true">
-            <!-- measured 98%:196-208 med:205/205 N=82 -->
-            <Limit name="measured-frame-rate-320x180" range="205-205" /> <!-- v98%=1.0 (OPM1.170809.002-) -->
-            <!-- measured 98%:63-70 med:68/68 N=82 -->
-            <Limit name="measured-frame-rate-640x360" range="68-68" /> <!-- v98%=1.0 (OPM1.170809.002-) -->
-            <!-- measured 98%:14-18 med:17/17 N=82 -->
-            <Limit name="measured-frame-rate-1280x720" range="17-17" /> <!-- v98%=1.1 (OPM1.170809.002-) -->
-            <!-- measured 93%:8-9 med:9/9 N=24 -->
-            <Limit name="measured-frame-rate-1920x1080" range="9-9" /> <!-- v93%=1.0 (OPM1.170809.002-OPM1.170810.004) -->
+            <Limit name="measured-frame-rate-320x180" range="205-205" /> <!-- N=102 v98%=1.0 -->
+            <Limit name="measured-frame-rate-640x360" range="68-68" /> <!-- N=102 v98%=1.0 -->
+            <Limit name="measured-frame-rate-1280x720" range="17-17" /> <!-- N=102 v98%=1.1 -->
         </MediaCodec>
     </Encoders>
     <Decoders>
         <MediaCodec name="OMX.qcom.video.decoder.h263" type="video/3gpp" update="true">
-            <Limit name="measured-frame-rate-176x144" range="511-513" /> <!-- N=174 v98%=1.3 -->
-            <Limit name="measured-frame-rate-352x288" range="470-471" /> <!-- N=174 v98%=1.3 -->
+            <Limit name="measured-frame-rate-176x144" range="505-507" /> <!-- N=162 v98%=1.3 -->
+            <Limit name="measured-frame-rate-352x288" range="470-472" /> <!-- N=162 v98%=1.3 -->
         </MediaCodec>
         <MediaCodec name="OMX.qcom.video.decoder.avc" type="video/avc" update="true">
-            <Limit name="measured-frame-rate-320x240" range="341-341" /> <!-- N=174 v98%=1.3 -->
-            <Limit name="measured-frame-rate-720x480" range="302-302" /> <!-- N=174 v98%=1.3 -->
-            <Limit name="measured-frame-rate-1280x720" range="247-247" /> <!-- N=174 v98%=1.3 -->
-            <Limit name="measured-frame-rate-1920x1080" range="148-148" /> <!-- N=174 v98%=1.2 -->
+            <Limit name="measured-frame-rate-320x240" range="342-342" /> <!-- N=162 v98%=1.3 -->
+            <Limit name="measured-frame-rate-720x480" range="303-303" /> <!-- N=162 v98%=1.3 -->
+            <Limit name="measured-frame-rate-1280x720" range="247-247" /> <!-- N=162 v98%=1.3 -->
+            <Limit name="measured-frame-rate-1920x1080" range="148-148" /> <!-- N=162 v98%=1.2 -->
         </MediaCodec>
         <MediaCodec name="OMX.qcom.video.decoder.hevc" type="video/hevc" update="true">
-            <Limit name="measured-frame-rate-352x288" range="345-345" /> <!-- N=174 v98%=1.4 -->
-            <Limit name="measured-frame-rate-640x360" range="325-325" /> <!-- N=174 v98%=1.3 -->
-            <Limit name="measured-frame-rate-720x480" range="311-311" /> <!-- N=174 v98%=1.3 -->
-            <Limit name="measured-frame-rate-1280x720" range="267-267" /> <!-- N=174 v98%=1.3 -->
-            <Limit name="measured-frame-rate-1920x1080" range="258-258" /> <!-- N=174 v98%=1.0 -->
-            <Limit name="measured-frame-rate-3840x2160" range="71-71" /> <!-- N=174 v98%=1.0 -->
+            <Limit name="measured-frame-rate-352x288" range="346-346" /> <!-- N=162 v98%=1.4 -->
+            <Limit name="measured-frame-rate-640x360" range="326-326" /> <!-- N=162 v98%=1.3 -->
+            <Limit name="measured-frame-rate-720x480" range="311-311" /> <!-- N=162 v98%=1.3 -->
+            <Limit name="measured-frame-rate-1280x720" range="267-267" /> <!-- N=162 v98%=1.3 -->
+            <Limit name="measured-frame-rate-1920x1080" range="258-258" /> <!-- N=162 v98%=1.0 -->
+            <Limit name="measured-frame-rate-3840x2160" range="71-71" /> <!-- N=162 v98%=1.0 -->
         </MediaCodec>
         <MediaCodec name="OMX.qcom.video.decoder.mpeg4" type="video/mp4v-es" update="true">
-            <Limit name="measured-frame-rate-176x144" range="458-458" /> <!-- N=174 v98%=1.3 -->
-            <Limit name="measured-frame-rate-480x360" range="433-433" /> <!-- N=176 v98%=1.4 -->
+            <Limit name="measured-frame-rate-176x144" range="459-459" /> <!-- N=162 v98%=1.3 -->
+            <Limit name="measured-frame-rate-480x360" range="433-434" /> <!-- N=164 v98%=1.4 -->
         </MediaCodec>
         <MediaCodec name="OMX.qcom.video.decoder.vp8" type="video/x-vnd.on2.vp8" update="true">
-            <Limit name="measured-frame-rate-320x180" range="418-418" /> <!-- N=174 v98%=1.3 -->
-            <Limit name="measured-frame-rate-640x360" range="414-415" /> <!-- N=174 v98%=1.3 -->
-            <Limit name="measured-frame-rate-1280x720" range="309-309" /> <!-- N=174 v98%=1.3 -->
-            <Limit name="measured-frame-rate-1920x1080" range="145-145" /> <!-- N=174 v98%=1.3 -->
+            <Limit name="measured-frame-rate-320x180" range="418-419" /> <!-- N=162 v98%=1.3 -->
+            <Limit name="measured-frame-rate-640x360" range="414-414" /> <!-- N=162 v98%=1.3 -->
+            <Limit name="measured-frame-rate-1280x720" range="309-309" /> <!-- N=162 v98%=1.3 -->
+            <Limit name="measured-frame-rate-1920x1080" range="145-145" /> <!-- N=162 v98%=1.2 -->
         </MediaCodec>
         <MediaCodec name="OMX.qcom.video.decoder.vp9" type="video/x-vnd.on2.vp9" update="true">
-            <Limit name="measured-frame-rate-320x180" range="342-342" /> <!-- N=174 v98%=1.3 -->
-            <Limit name="measured-frame-rate-640x360" range="334-334" /> <!-- N=174 v98%=1.3 -->
-            <Limit name="measured-frame-rate-1280x720" range="271-271" /> <!-- N=174 v98%=1.3 -->
-            <Limit name="measured-frame-rate-1920x1080" range="153-153" /> <!-- N=174 v98%=1.3 -->
-            <Limit name="measured-frame-rate-3840x2160" range="36-36" /> <!-- N=174 v98%=1.3 -->
+            <Limit name="measured-frame-rate-320x180" range="342-342" /> <!-- N=162 v98%=1.3 -->
+            <Limit name="measured-frame-rate-640x360" range="335-335" /> <!-- N=162 v98%=1.3 -->
+            <Limit name="measured-frame-rate-1280x720" range="271-271" /> <!-- N=162 v98%=1.3 -->
+            <Limit name="measured-frame-rate-1920x1080" range="153-153" /> <!-- N=162 v98%=1.3 -->
+            <Limit name="measured-frame-rate-3840x2160" range="36-36" /> <!-- N=162 v98%=1.3 -->
         </MediaCodec>
         <MediaCodec name="OMX.google.h263.decoder" type="video/3gpp" update="true">
-            <Limit name="measured-frame-rate-176x144" range="150-150" /> <!-- N=174 v98%=1.3 -->
+            <Limit name="measured-frame-rate-176x144" range="150-150" /> <!-- N=162 v98%=1.3 -->
         </MediaCodec>
         <MediaCodec name="OMX.google.h264.decoder" type="video/avc" update="true">
-            <!-- measured 98%:131-278 med:159/160 FLAKY(80 - 320 < mx=637.8) -->
-            <Limit name="measured-frame-rate-320x240" range="159-319" /> <!-- TWEAKED N=173 v98%=1.5 -->
-            <Limit name="measured-frame-rate-720x480" range="57-57" /> <!-- N=174 v98%=1.3 -->
-            <Limit name="measured-frame-rate-1280x720" range="28-28" /> <!-- N=174 v98%=1.5 -->
-            <Limit name="measured-frame-rate-1920x1080" range="16-16" /> <!-- N=174 v98%=1.5 -->
+            <!-- measured 98%:130-275 med:158/158 FLAKY(79 - 316 < mx=637.8) -->
+            <Limit name="measured-frame-rate-320x240" range="158-319" /> <!-- TWEAKED N=161 v98%=1.5 -->
+            <Limit name="measured-frame-rate-720x480" range="56-56" /> <!-- N=162 v98%=1.3 -->
+            <Limit name="measured-frame-rate-1280x720" range="28-28" /> <!-- N=162 v98%=1.5 -->
+            <Limit name="measured-frame-rate-1920x1080" range="15-15" /> <!-- N=162 v98%=1.5 -->
         </MediaCodec>
         <MediaCodec name="OMX.google.hevc.decoder" type="video/hevc" update="true">
-            <Limit name="measured-frame-rate-352x288" range="632-632" /> <!-- N=174 v98%=1.2 -->
-            <Limit name="measured-frame-rate-640x360" range="250-250" /> <!-- N=165 v98%=1.2 -->
-            <Limit name="measured-frame-rate-720x480" range="217-217" /> <!-- N=168 v98%=1.3 -->
-            <Limit name="measured-frame-rate-1280x720" range="103-103" /> <!-- N=173 v98%=1.3 -->
-            <!-- measured 98%:41-66 med:61/61 FLAKY(mn=0.0 < 31 - 122) -->
-            <Limit name="measured-frame-rate-1920x1080" range="61-61" /> <!-- N=172 v98%=1.3 -->
+            <Limit name="measured-frame-rate-352x288" range="631-631" /> <!-- N=158 v98%=1.2 -->
+            <Limit name="measured-frame-rate-640x360" range="250-250" /> <!-- N=153 v98%=1.2 -->
+            <Limit name="measured-frame-rate-720x480" range="218-218" /> <!-- N=154 v98%=1.3 -->
+            <Limit name="measured-frame-rate-1280x720" range="102-103" /> <!-- N=159 v98%=1.3 -->
+            <!-- measured 98%:43-66 med:60/60 FLAKY(mn=0.0 < 30 - 120) -->
+            <Limit name="measured-frame-rate-1920x1080" range="60-60" /> <!-- N=160 v98%=1.2 -->
         </MediaCodec>
         <MediaCodec name="OMX.google.mpeg4.decoder" type="video/mp4v-es" update="true">
-            <Limit name="measured-frame-rate-176x144" range="177-177" /> <!-- N=174 v98%=1.4 -->
+            <Limit name="measured-frame-rate-176x144" range="177-177" /> <!-- N=162 v98%=1.4 -->
         </MediaCodec>
         <MediaCodec name="OMX.google.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
-            <!-- measured 98%:432-1070 med:511/511 FLAKY(256 - 1070 < mx=1079.9) -->
-            <Limit name="measured-frame-rate-320x180" range="511-540" /> <!-- TWEAKED N=174 v98%=1.6 -->
-            <Limit name="measured-frame-rate-640x360" range="415-415" /> <!-- N=174 v98%=1.1 -->
-            <Limit name="measured-frame-rate-1280x720" range="95-95" /> <!-- N=174 v98%=1.1 -->
-            <Limit name="measured-frame-rate-1920x1080" range="37-37" /> <!-- N=174 v98%=1.1 -->
+            <!-- measured 98%:432-1070 med:504/505 FLAKY(252 - 1070 < mx=1079.9) -->
+            <Limit name="measured-frame-rate-320x180" range="504-540" /> <!-- TWEAKED N=162 v98%=1.6 -->
+            <Limit name="measured-frame-rate-640x360" range="415-415" /> <!-- N=162 v98%=1.1 -->
+            <Limit name="measured-frame-rate-1280x720" range="95-95" /> <!-- N=162 v98%=1.1 -->
+            <Limit name="measured-frame-rate-1920x1080" range="37-37" /> <!-- N=162 v98%=1.1 -->
         </MediaCodec>
         <MediaCodec name="OMX.google.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
-            <Limit name="measured-frame-rate-320x180" range="491-491" /> <!-- N=174 v98%=1.4 -->
-            <Limit name="measured-frame-rate-640x360" range="389-389" /> <!-- N=174 v98%=1.1 -->
-            <Limit name="measured-frame-rate-1280x720" range="114-114" /> <!-- N=174 v98%=1.1 -->
-            <Limit name="measured-frame-rate-1920x1080" range="69-69" /> <!-- N=174 v98%=1.1 -->
+            <Limit name="measured-frame-rate-320x180" range="468-470" /> <!-- N=162 v98%=1.4 -->
+            <Limit name="measured-frame-rate-640x360" range="377-379" /> <!-- N=162 v98%=1.1 -->
+            <Limit name="measured-frame-rate-1280x720" range="113-113" /> <!-- N=162 v98%=1.1 -->
+            <Limit name="measured-frame-rate-1920x1080" range="68-68" /> <!-- N=162 v98%=1.1 -->
         </MediaCodec>
     </Decoders>
 </MediaCodecs>
diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml
index c4690b0..fd3a0ad 100755
--- a/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/overlay/frameworks/base/core/res/res/values/config.xml
@@ -218,7 +218,7 @@
 
     <!-- Boolean indicating whether or not to revert to default country code when cellular
     radio is unable to find any MCC information to infer wifi country code from -->
-    <bool translatable="false" name="config_wifi_revert_country_code_on_cellular_loss">true</bool>
+    <bool translatable="false" name="config_wifi_revert_country_code_on_cellular_loss">false</bool>
 
     <!-- Boolean indicating whether or not wifi should turn off when emergency call is made -->
     <bool translatable="false" name="config_wifi_turn_off_during_emergency_call">true</bool>
diff --git a/p2p_supplicant_overlay.conf b/p2p_supplicant_overlay.conf
index acbace2..b5e89e0 100644
--- a/p2p_supplicant_overlay.conf
+++ b/p2p_supplicant_overlay.conf
@@ -1 +1,2 @@
 disable_scan_offload=1
+p2p_no_group_iface=1
diff --git a/sec_config b/sec_config
old mode 100644
new mode 100755
index 23716aa..f75d4b1
--- a/sec_config
+++ b/sec_config
@@ -296,7 +296,7 @@
 /* PDC */
 36:4294967295:1001
 /* SAR */
-17:4294967295:1001
+17:4294967295:1001:1006:1047
 /* RFRPE */
 41:4294967295:1001
 /*UIM*/
diff --git a/sepolicy/private/seapp_contexts b/sepolicy/private/seapp_contexts
new file mode 100644
index 0000000..fbb9ba4
--- /dev/null
+++ b/sepolicy/private/seapp_contexts
@@ -0,0 +1,3 @@
+#Add new domain for DataServices
+#TODO Remove user "system" when b/38043081 is resolved
+user=system seinfo=platform name=.dataservices domain=dataservice_app type=system_app_data_file
diff --git a/sepolicy/vendor/certs/tango.x509.pem b/sepolicy/vendor/certs/tango.x509.pem
index 431c1a5..a7619b2 100644
--- a/sepolicy/vendor/certs/tango.x509.pem
+++ b/sepolicy/vendor/certs/tango.x509.pem
@@ -1,20 +1,23 @@
 -----BEGIN CERTIFICATE-----
-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
+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
+zKHDydw=
 -----END CERTIFICATE-----
diff --git a/sepolicy/vendor/device.te b/sepolicy/vendor/device.te
index 97fc839..c63bdb3 100644
--- a/sepolicy/vendor/device.te
+++ b/sepolicy/vendor/device.te
@@ -23,5 +23,6 @@
 type spcom_device, dev_type;
 type ssd_block_device, dev_type;
 type ssr_device, dev_type;
+type thermal_device, dev_type;
 type wlan_device, dev_type;
 type xbl_block_device, dev_type;
diff --git a/sepolicy/vendor/file.te b/sepolicy/vendor/file.te
index fc569b5..2e41283 100644
--- a/sepolicy/vendor/file.te
+++ b/sepolicy/vendor/file.te
@@ -27,6 +27,7 @@
 type debugfs_wlan, debugfs_type, fs_type;
 type debugfs_mdp, debugfs_type, fs_type;
 type debugfs_icnss, debugfs_type, fs_type;
+type debugfs_ufs, debugfs_type, fs_type;
 
 # /proc
 type proc_wifi_dbg, fs_type;
diff --git a/sepolicy/vendor/file_contexts b/sepolicy/vendor/file_contexts
index d1c87af..1541981 100644
--- a/sepolicy/vendor/file_contexts
+++ b/sepolicy/vendor/file_contexts
@@ -24,6 +24,7 @@
 /dev/sdsprpc-smd                                u:object_r:dsp_device:s0
 /dev/wcd-dsp-glink                              u:object_r:audio_device:s0
 /dev/wcd_dsp0_control                           u:object_r:audio_device:s0
+/dev/msm_thermal_query                          u:object_r:thermal_device:s0
 /dev/msm_.*                                     u:object_r:audio_device:s0
 /dev/avtimer                                    u:object_r:avtimer_device:s0
 /dev/subsys_.*                                  u:object_r:ssr_device:s0
diff --git a/sepolicy/vendor/genfs_contexts b/sepolicy/vendor/genfs_contexts
index fae6021..6acbe84 100644
--- a/sepolicy/vendor/genfs_contexts
+++ b/sepolicy/vendor/genfs_contexts
@@ -85,3 +85,4 @@
 genfscon debugfs /mdp                                 u:object_r:debugfs_mdp:s0
 genfscon debugfs /rmt_storage                         u:object_r:debugfs_rmt_storage:s0
 genfscon debugfs /icnss                               u:object_r:debugfs_icnss:s0
+genfscon debugfs /ufshcd0                             u:object_r:debugfs_ufs:s0
diff --git a/sepolicy/vendor/hal_camera_default.te b/sepolicy/vendor/hal_camera_default.te
index 92d7527..dcc69ac 100644
--- a/sepolicy/vendor/hal_camera_default.te
+++ b/sepolicy/vendor/hal_camera_default.te
@@ -7,6 +7,7 @@
 allow hal_camera_default hal_graphics_mapper_hwservice:hwservice_manager find;
 allow hal_camera_default hal_graphics_allocator_hwservice:hwservice_manager find;
 
+hal_client_domain(hal_camera_default, hal_configstore)
 binder_call(hal_camera_default, hal_graphics_composer)
 binder_call(hal_camera_default, system_server)
 binder_call(hal_camera_default, hal_graphics_allocator)
diff --git a/sepolicy/vendor/hal_dumpstate_impl.te b/sepolicy/vendor/hal_dumpstate_impl.te
index c0a14f9..32b875d 100644
--- a/sepolicy/vendor/hal_dumpstate_impl.te
+++ b/sepolicy/vendor/hal_dumpstate_impl.te
@@ -45,6 +45,8 @@
 allow hal_dumpstate_impl debugfs_icnss:file r_file_perms;
 allow hal_dumpstate_impl debugfs_ipc:file r_file_perms;
 allow hal_dumpstate_impl proc_stat:file r_file_perms;
+allow hal_dumpstate_impl debugfs_ufs:dir r_dir_perms;
+allow hal_dumpstate_impl debugfs_ufs:file r_file_perms;
 
 # Access to files for dumping
 allow hal_dumpstate_impl  sysfs:dir r_dir_perms;
@@ -59,3 +61,7 @@
 # Access to touch firmware info
 allow hal_dumpstate_impl sysfs_touch:dir r_dir_perms;
 allow hal_dumpstate_impl sysfs_touch:file rw_file_perms;
+
+# Access to UFS info
+allow hal_dumpstate_impl sysfs_scsi_devices_0000:dir r_dir_perms;
+allow hal_dumpstate_impl sysfs_scsi_devices_0000:file r_file_perms;
diff --git a/sepolicy/vendor/hal_thermal_default.te b/sepolicy/vendor/hal_thermal_default.te
deleted file mode 100644
index bafcb55..0000000
--- a/sepolicy/vendor/hal_thermal_default.te
+++ /dev/null
@@ -1,4 +0,0 @@
-allow hal_thermal_default sysfs_thermal:dir { open read search };
-allow hal_thermal_default sysfs_thermal:file { getattr open read };
-allow hal_thermal_default sysfs_thermal:lnk_file read;
-allow hal_thermal_default proc_stat:file { getattr open read };
diff --git a/sepolicy/vendor/logger_app.te b/sepolicy/vendor/logger_app.te
index 941da8b..46874da 100644
--- a/sepolicy/vendor/logger_app.te
+++ b/sepolicy/vendor/logger_app.te
@@ -18,4 +18,5 @@
 
   set_prop(logger_app, cnss_diag_prop)
   set_prop(logger_app, modem_diag_prop)
+  set_prop(logger_app, bluetooth_log_prop)
 ')
diff --git a/sepolicy/vendor/property.te b/sepolicy/vendor/property.te
index b8e8e53..9f38fab 100644
--- a/sepolicy/vendor/property.te
+++ b/sepolicy/vendor/property.te
@@ -14,3 +14,4 @@
 type tel_mon_prop, property_type;
 type sys_time_prop, property_type;
 type atfwd_start_prop, property_type;
+type bluetooth_log_prop, property_type;
diff --git a/sepolicy/vendor/property_contexts b/sepolicy/vendor/property_contexts
index b5d5728..9094079 100644
--- a/sepolicy/vendor/property_contexts
+++ b/sepolicy/vendor/property_contexts
@@ -24,3 +24,4 @@
 persist.radio.enable_tel_mon  u:object_r:tel_mon_prop:s0
 sys.time.set               u:object_r:sys_time_prop:s0
 persist.radio.atfwd.start  u:object_r:atfwd_start_prop:s0
+sys.logger.bluetooth       u:object_r:bluetooth_log_prop:s0
diff --git a/sepolicy/vendor/seapp_contexts b/sepolicy/vendor/seapp_contexts
index d13ddad..2e3fcbd 100644
--- a/sepolicy/vendor/seapp_contexts
+++ b/sepolicy/vendor/seapp_contexts
@@ -6,10 +6,6 @@
 #TODO Remove user "system" when b/63588267 is resolved
 user=system seinfo=platform name=com.qualcomm.telephony domain=qtelephony type=system_app_data_file
 
-#Add new domain for DataServices
-#TODO Remove user "system" when b/38043081 is resolved
-user=system seinfo=platform name=.dataservices domain=dataservice_app type=system_app_data_file
-
 # The default domain for tango_core / arcore process
 user=_app seinfo=tango name=com.google.tango* domain=tango_core type=app_data_file levelFrom=user
 user=_app seinfo=arcore name=com.google.ar.core* domain=tango_core type=app_data_file levelFrom=user
diff --git a/sepolicy/vendor/ssr_setup.te b/sepolicy/vendor/ssr_setup.te
index 9aa54ee..b05c356 100644
--- a/sepolicy/vendor/ssr_setup.te
+++ b/sepolicy/vendor/ssr_setup.te
@@ -3,8 +3,6 @@
 
 init_daemon_domain(ssr_setup);
 
-userdebug_or_eng(`
 allow ssr_setup sysfs_msm_subsys:dir r_dir_perms;
 allow ssr_setup sysfs_msm_subsys:file rw_file_perms;
-allow ssr_setup sysfs_msm_subsys:lnk_file read;
-')
+allow ssr_setup sysfs_msm_subsys:lnk_file read;
\ No newline at end of file
diff --git a/sepolicy/vendor/system_app.te b/sepolicy/vendor/system_app.te
index 72d8cf3..1cc6fb1 100644
--- a/sepolicy/vendor/system_app.te
+++ b/sepolicy/vendor/system_app.te
@@ -2,9 +2,8 @@
 # userdebug and eng devices
 userdebug_or_eng(`set_prop(system_app, tel_mon_prop)')
 
-# Needed by Settings app's CameraHalHdrplusPreferenceController, available only on a subset of
-# userdebug and eng devices
-userdebug_or_eng(`set_prop(system_app, camera_prop)')
+# Needed by Settings app's CameraHalHdrplusPreferenceController
+set_prop(system_app, camera_prop)
 
 # read regulatory info
 allow system_app elabel_data_file:dir r_dir_perms;
diff --git a/sepolicy/vendor/thermal-engine.te b/sepolicy/vendor/thermal-engine.te
index 8720021..8009959 100644
--- a/sepolicy/vendor/thermal-engine.te
+++ b/sepolicy/vendor/thermal-engine.te
@@ -14,10 +14,15 @@
 allow thermal-engine sysfs_soc:file r_file_perms;
 allow thermal-engine sysfs_thermal:dir r_dir_perms;
 allow thermal-engine sysfs_thermal:file rw_file_perms;
+allow thermal-engine sysfs_thermal:lnk_file read;
 allow thermal-engine sysfs_rmtfs:dir search;
 allow thermal-engine sysfs_rmtfs:file r_file_perms;
+# to read /proc/stat
+allow thermal-engine proc_stat:file { getattr open read };
+# IThermal Thermal HAL
+hal_server_domain(thermal-engine, hal_thermal)
 
-allow thermal-engine audio_device:chr_file rw_file_perms;
+allow thermal-engine thermal_device:chr_file rw_file_perms;
 
 r_dir_file(thermal-engine, sysfs_leds)
 r_dir_file(thermal-engine, sysfs_msm_subsys)
diff --git a/sepolicy/vendor/wcnss_filter.te b/sepolicy/vendor/wcnss_filter.te
index c7c72c7..910fb0e 100644
--- a/sepolicy/vendor/wcnss_filter.te
+++ b/sepolicy/vendor/wcnss_filter.te
@@ -10,9 +10,12 @@
 
 userdebug_or_eng(`
   allow wcnss_filter diag_device:chr_file rw_file_perms;
-  allow wcnss_filter ramdump_vendor_data_file:dir create_dir_perms;
-  allow wcnss_filter ramdump_vendor_data_file:file create_file_perms;
+  allow wcnss_filter ramdump_vendor_data_file:dir w_dir_perms;
+  allow wcnss_filter ramdump_vendor_data_file:file { create w_file_perms };
+  allow wcnss_filter sysfs_timestamp_switch:file r_file_perms;
   r_dir_file(wcnss_filter, debugfs_ipc)
+  r_dir_file(wcnss_filter, sysfs_diag)
+  set_prop(wcnss_filter, ssr_prop)
 ')
 
 #allow wakelock
diff --git a/system.prop b/system.prop
index c13ac42..98af208 100644
--- a/system.prop
+++ b/system.prop
@@ -35,7 +35,6 @@
 
 # Additional buffers shared between Camera and Video
 vendor.vidc.enc.dcvs.extra-buff-count=2
-vendor.vidc.enc.disable.pq=1
 
 # system props for the data netmgrd
 persist.data.netmgrd.qos.enable=true
@@ -50,23 +49,8 @@
 # Simulate sdcard on /data/media
 persist.fuse_sdcard=true
 
-# settings to enable Device Orientation Sensors
-ro.qti.sensors.dev_ori=true
-
-# settings to disable sensors not needed
-# all secondary wakeup
-ro.qti.sensors.wu=false
-# unused algorithms
-ro.qti.sdk.sensors.gestures=false
-ro.qti.sensors.amd=false
-ro.qti.sensors.cmc=false
-ro.qti.sensors.facing=false
-ro.qti.sensors.pedometer=false
-ro.qti.sensors.rmd=false
-ro.qti.sensors.scrn_ortn=false
-# use SMGR supplied verison
-ro.qti.sensors.step_counter=false
-ro.qti.sensors.step_detector=false
+# sensor properties are moved to device.mk
+#
 
 #system prop for RmNet Data
 persist.rmnet.data.enable=true
diff --git a/thermal/Android.bp b/thermal/Android.bp
new file mode 100644
index 0000000..fcd227e
--- /dev/null
+++ b/thermal/Android.bp
@@ -0,0 +1,20 @@
+cc_library_shared {
+    name: "android.hardware.thermal@1.1-wahoo",
+    defaults: ["hidl_defaults"],
+    owner: "qcom",
+    vendor: true,
+    relative_install_path: "hw",
+    srcs: [
+        "Thermal.cpp",
+        "thermal-helper.cpp",
+    ],
+    export_include_dirs: ["."],
+    shared_libs: [
+        "libbase",
+        "libhidlbase",
+        "libhidltransport",
+        "libutils",
+        "android.hardware.thermal@1.0",
+        "android.hardware.thermal@1.1",
+    ],
+}
diff --git a/thermal/Android.mk b/thermal/Android.mk
deleted file mode 100644
index a725c83..0000000
--- a/thermal/Android.mk
+++ /dev/null
@@ -1,37 +0,0 @@
-#
-# Copyright 2017 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_RELATIVE_PATH := hw
-LOCAL_PROPRIETARY_MODULE := true
-LOCAL_MODULE_OWNER := qcom
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_MODULE := android.hardware.thermal@1.0-service.wahoo
-LOCAL_INIT_RC := android.hardware.thermal@1.0-service.wahoo.rc
-LOCAL_SRC_FILES := service.cpp Thermal.cpp thermal-helper.cpp
-
-LOCAL_SHARED_LIBRARIES := \
-    libhidlbase \
-    libhidltransport \
-    libutils \
-    libbase \
-    android.hardware.thermal@1.0 \
-
-include $(BUILD_EXECUTABLE)
diff --git a/thermal/Thermal.cpp b/thermal/Thermal.cpp
index 5beddde..a9bd371 100644
--- a/thermal/Thermal.cpp
+++ b/thermal/Thermal.cpp
@@ -25,11 +25,29 @@
 namespace android {
 namespace hardware {
 namespace thermal {
-namespace V1_0 {
+namespace V1_1 {
 namespace implementation {
 
 Thermal::Thermal() : enabled(initThermal()) {}
 
+namespace {
+
+// Saves the IThermalCallback client object registered from the
+// framework for sending thermal events to the framework thermal event bus.
+sp<IThermalCallback> gThermalCallback;
+
+struct ThermalDeathRecipient : hidl_death_recipient {
+    virtual void serviceDied(
+        uint64_t cookie __unused, const wp<IBase>& who __unused) {
+        gThermalCallback = nullptr;
+        LOG(ERROR) << "IThermalCallback HIDL service died";
+    }
+};
+
+sp<ThermalDeathRecipient> gThermalCallbackDied = nullptr;
+
+} // anonymous namespace
+
 // Methods from ::android::hardware::thermal::V1_0::IThermal follow.
 Return<void> Thermal::getTemperatures(getTemperatures_cb _hidl_cb) {
     ThermalStatus status;
@@ -112,8 +130,54 @@
     return Void();
 }
 
+// Methods from ::android::hardware::thermal::V1_1::IThermal follow.
+
+Return<void> Thermal::registerThermalCallback(
+    const sp<IThermalCallback>& callback) {
+    gThermalCallback = callback;
+
+    if (gThermalCallback != nullptr) {
+        if (gThermalCallbackDied == nullptr)
+            gThermalCallbackDied = new ThermalDeathRecipient();
+
+        if (gThermalCallbackDied != nullptr)
+            gThermalCallback->linkToDeath(
+                gThermalCallbackDied, 0x451F /* cookie, unused */);
+        LOG(INFO) << "ThermalCallback registered";
+    } else {
+        LOG(INFO) << "ThermalCallback unregistered";
+    }
+    return Void();
+}
+
+// Local functions used internally by thermal-engine follow.
+
+std::string Thermal::getSkinSensorType() {
+    return getTargetSkinSensorType();
+}
+
+void Thermal::notifyThrottling(
+    bool isThrottling, const Temperature& temperature) {
+    if (gThermalCallback != nullptr) {
+        Return<void> ret =
+            gThermalCallback->notifyThrottling(isThrottling, temperature);
+        if (!ret.isOk()) {
+          if (ret.isDeadObject()) {
+              gThermalCallback = nullptr;
+              LOG(WARNING) << "Dropped throttling event, ThermalCallback died";
+          } else {
+              LOG(WARNING) <<
+                  "Failed to send throttling event to ThermalCallback";
+          }
+        }
+    } else {
+        LOG(WARNING) <<
+            "Dropped throttling event, no ThermalCallback registered";
+    }
+}
+
 }  // namespace implementation
-}  // namespace V1_0
+}  // namespace V1_1
 }  // namespace thermal
 }  // namespace hardware
 }  // namespace android
diff --git a/thermal/Thermal.h b/thermal/Thermal.h
index f9ce7ed..a62b9e3 100644
--- a/thermal/Thermal.h
+++ b/thermal/Thermal.h
@@ -13,45 +13,56 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-#ifndef ANDROID_HARDWARE_THERMAL_V1_0_WAHOO_THERMAL_H
-#define ANDROID_HARDWARE_THERMAL_V1_0_WAHOO_THERMAL_H
+#ifndef ANDROID_HARDWARE_THERMAL_V1_1_WAHOO_THERMAL_H
+#define ANDROID_HARDWARE_THERMAL_V1_1_WAHOO_THERMAL_H
 
-#include <android/hardware/thermal/1.0/IThermal.h>
+#include <android/hardware/thermal/1.1/IThermal.h>
+#include <android/hardware/thermal/1.1/IThermalCallback.h>
 #include <hidl/Status.h>
 #include <hidl/MQDescriptor.h>
 
 namespace android {
 namespace hardware {
 namespace thermal {
-namespace V1_0 {
+namespace V1_1 {
 namespace implementation {
 
 using ::android::hardware::thermal::V1_0::CoolingDevice;
 using ::android::hardware::thermal::V1_0::CpuUsage;
-using ::android::hardware::thermal::V1_0::IThermal;
 using ::android::hardware::thermal::V1_0::Temperature;
 using ::android::hardware::thermal::V1_0::ThermalStatus;
+using ::android::hardware::thermal::V1_0::ThermalStatusCode;
+using ::android::hardware::thermal::V1_1::IThermal;
+using ::android::hardware::thermal::V1_1::IThermalCallback;
 using ::android::hardware::Return;
 using ::android::hardware::Void;
 using ::android::hardware::hidl_vec;
 using ::android::hardware::hidl_string;
+using ::android::hardware::hidl_death_recipient;
+using ::android::hidl::base::V1_0::IBase;
 using ::android::sp;
 
 struct Thermal : public IThermal {
+    // Local functions used internally by thermal-engine follow.
+    std::string getSkinSensorType();
+    void notifyThrottling(bool isThrottling, const Temperature& temperature);
     Thermal();
     // Methods from ::android::hardware::thermal::V1_0::IThermal follow.
     Return<void> getTemperatures(getTemperatures_cb _hidl_cb)  override;
     Return<void> getCpuUsages(getCpuUsages_cb _hidl_cb)  override;
     Return<void> getCoolingDevices(getCoolingDevices_cb _hidl_cb)  override;
+    // Methods from ::android::hardware::thermal::V1_1::IThermal follow.
+    Return<void> registerThermalCallback(
+        const sp<IThermalCallback>& callback) override;
 
   private:
     bool enabled;
 };
 
 }  // namespace implementation
-}  // namespace V1_0
+}  // namespace V1_1
 }  // namespace thermal
 }  // namespace hardware
 }  // namespace android
 
-#endif  // ANDROID_HARDWARE_THERMAL_V1_0_WAHOO_THERMAL_H
+#endif  // ANDROID_HARDWARE_THERMAL_V1_1_WAHOO_THERMAL_H
diff --git a/thermal/android.hardware.thermal@1.0-service.wahoo.rc b/thermal/android.hardware.thermal@1.0-service.wahoo.rc
deleted file mode 100644
index e522cb1..0000000
--- a/thermal/android.hardware.thermal@1.0-service.wahoo.rc
+++ /dev/null
@@ -1,4 +0,0 @@
-service thermal-hal-1-0 /vendor/bin/hw/android.hardware.thermal@1.0-service.wahoo
-    class hal
-    user nobody
-    group nobody
diff --git a/thermal/service.cpp b/thermal/service.cpp
deleted file mode 100644
index d41953b..0000000
--- a/thermal/service.cpp
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <android-base/logging.h>
-#include <hidl/HidlTransportSupport.h>
-#include "Thermal.h"
-
-using android::sp;
-using android::status_t;
-using android::OK;
-
-// libhwbinder:
-using android::hardware::configureRpcThreadpool;
-using android::hardware::joinRpcThreadpool;
-
-// Generated HIDL files
-using android::hardware::thermal::V1_0::IThermal;
-using android::hardware::thermal::V1_0::implementation::Thermal;
-
-int main() {
-
-    status_t status;
-    android::sp<IThermal> service = nullptr;
-
-    LOG(INFO) << "Thermal HAL Service 1.0 is starting";
-
-    service = new Thermal();
-    if (service == nullptr) {
-        LOG(ERROR) << "Can not create an instance of Thermal HAL Iface, exiting";
-
-        goto shutdown;
-    }
-
-    configureRpcThreadpool(1, true /*callerWillJoin*/);
-
-    status = service->registerAsService();
-    if (status != OK) {
-        LOG(ERROR) << "Could not register service for Thermal HAL Iface (" << status << ")";
-        goto shutdown;
-    }
-
-    LOG(INFO) << "Thermal Service is ready";
-    joinRpcThreadpool();
-    // Should not pass this line
-
-shutdown:
-    // In normal operation, we don't expect the thread pool to exit
-    LOG(ERROR) << "Thermal Service is shutting down";
-    return 1;
-}
diff --git a/thermal/thermal-helper.cpp b/thermal/thermal-helper.cpp
index f5f146c..878c82f 100644
--- a/thermal/thermal-helper.cpp
+++ b/thermal/thermal-helper.cpp
@@ -30,10 +30,13 @@
 namespace android {
 namespace hardware {
 namespace thermal {
-namespace V1_0 {
+namespace V1_1 {
 namespace implementation {
 
+using ::android::hardware::thermal::V1_0::TemperatureType;
+
 static unsigned int gSkinSensorNum;
+static std::string gSkinSensorType;
 static unsigned int gTsensOffset;
 static unsigned int gSkinThrottlingThreshold;
 static unsigned int gSkinShutdownThreshold;
@@ -49,6 +52,7 @@
     if (hardware == "walleye") {
         LOG(ERROR) << "Initialization on Walleye";
         gSkinSensorNum = kWalleyeSkinSensorNum;
+        gSkinSensorType = kWalleyeSkinSensorType;
         gTsensOffset = kWalleyeTsensOffset;
         gSkinThrottlingThreshold = kWalleyeSkinThrottlingThreshold;
         gSkinShutdownThreshold = kWalleyeSkinShutdownThreshold;
@@ -58,6 +62,7 @@
         if (rev == "rev_a" || rev == "rev_b") {
             LOG(ERROR) << "Initialization on Taimen pre revision C";
             gSkinSensorNum = kTaimenRabSkinSensorNum;
+            gSkinSensorType = kTaimenRabSkinSensorType;
             gTsensOffset = kTaimenRabTsensOffset;
             gSkinThrottlingThreshold = kTaimenRabSkinThrottlingThreshold;
             gSkinShutdownThreshold = kTaimenRabSkinShutdownThreshold;
@@ -65,6 +70,7 @@
         } else {
             LOG(ERROR) << "Initialization on Taimen revision C and later";
             gSkinSensorNum = kTaimenRcSkinSensorNum;
+            gSkinSensorType = kTaimenRcSkinSensorType;
             gTsensOffset = kTaimenRcTsensOffset;
             gSkinThrottlingThreshold = kTaimenRcSkinThrottlingThreshold;
             gSkinShutdownThreshold = kTaimenRcSkinShutdownThreshold;
@@ -286,8 +292,12 @@
     return kCpuNum;
 }
 
+std::string getTargetSkinSensorType() {
+    return gSkinSensorType;
+}
+
 }  // namespace implementation
-}  // namespace V1_0
+}  // namespace V1_1
 }  // namespace thermal
 }  // namespace hardware
 }  // namespace android
diff --git a/thermal/thermal-helper.h b/thermal/thermal-helper.h
index e08d4e7..311a67d 100644
--- a/thermal/thermal-helper.h
+++ b/thermal/thermal-helper.h
@@ -30,12 +30,12 @@
 #ifndef __THERMAL_HELPER_H__
 #define __THERMAL_HELPER_H__
 
-#include <android/hardware/thermal/1.0/IThermal.h>
+#include <android/hardware/thermal/1.1/IThermal.h>
 
 namespace android {
 namespace hardware {
 namespace thermal {
-namespace V1_0 {
+namespace V1_1 {
 namespace implementation {
 
 using ::android::hardware::thermal::V1_0::CpuUsage;
@@ -47,18 +47,21 @@
 
 // thermal-engine.conf
 constexpr unsigned int kWalleyeSkinSensorNum = 9;
+constexpr auto         kWalleyeSkinSensorType = "back_therm";
 constexpr unsigned int kWalleyeTsensOffset = 11;
 constexpr unsigned int kWalleyeSkinThrottlingThreshold = 40;
 constexpr unsigned int kWalleyeSkinShutdownThreshold = 56;
 constexpr unsigned int kWalleyeVrThrottledBelowMin = 52;
 
 constexpr unsigned int kTaimenRabSkinSensorNum = 8;
+constexpr auto         kTaimenRabSkinSensorType = "bd_therm";
 constexpr unsigned int kTaimenRabTsensOffset = 9;
 constexpr unsigned int kTaimenRabSkinThrottlingThreshold = 49;
 constexpr unsigned int kTaimenRabSkinShutdownThreshold = 66;
 constexpr unsigned int kTaimenRabVrThrottledBelowMin = 62;
 
 constexpr unsigned int kTaimenRcSkinSensorNum = 8;
+constexpr auto         kTaimenRcSkinSensorType = "bd_therm2";
 constexpr unsigned int kTaimenRcTsensOffset = 9;
 constexpr unsigned int kTaimenRcSkinThrottlingThreshold = 38;
 constexpr unsigned int kTaimenRcSkinShutdownThreshold = 54;
@@ -90,9 +93,10 @@
 bool initThermal();
 ssize_t fillTemperatures(hidl_vec<Temperature> *temperatures);
 ssize_t fillCpuUsages(hidl_vec<CpuUsage> *cpuUsages);
+std::string getTargetSkinSensorType();
 
 }  // namespace implementation
-}  // namespace V1_0
+}  // namespace V1_1
 }  // namespace thermal
 }  // namespace hardware
 }  // namespace android
