Merge "recovery: updater: log to stdout in recovery mode" into mnc-dr-dev
diff --git a/BoardConfig.mk b/BoardConfig.mk
index 368e7f0..381ce1b 100644
--- a/BoardConfig.mk
+++ b/BoardConfig.mk
@@ -48,9 +48,9 @@
 BOARD_USES_LIBDRM := true
 TARGET_RECOVERY_PIXEL_FORMAT := BGRA_8888
 
-PRESENT_TIME_OFFSET_FROM_VSYNC_NS := 1
-SF_VSYNC_EVENT_PHASE_OFFSET_NS := 1
-VSYNC_EVENT_PHASE_OFFSET_NS := 1
+PRESENT_TIME_OFFSET_FROM_VSYNC_NS := 0
+VSYNC_EVENT_PHASE_OFFSET_NS := 7500000
+SF_VSYNC_EVENT_PHASE_OFFSET_NS := 5000000
 
 TARGET_USERIMAGES_USE_EXT4 := true
 BOARD_SYSTEMIMAGE_PARTITION_SIZE := 3758096384
diff --git a/init.dragon.rc b/init.dragon.rc
index 3c0c208..649cc2e 100644
--- a/init.dragon.rc
+++ b/init.dragon.rc
@@ -26,6 +26,9 @@
     write /sys/block/mmcblk0/queue/scheduler cfq
     write /sys/block/mmcblk0/queue/iosched/slice_idle 0
 
+    # enable rcu_expedited
+    write /sys/kernel/rcu_expedited 1
+
 # Set watchdog timer to 30 seconds and pet it every 10 seconds to get a 20 second margin
 service watchdogd /sbin/watchdogd 10 20
     class core
@@ -143,6 +146,12 @@
     chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/io_is_busy
     chown system system /sys/devices/57000000.gpu/pstate
 
+    # update foreground cpuset now that processors are up
+    write /dev/cpuset/foreground/cpus 0-3
+    write /dev/cpuset/foreground/boost/cpus 0-3
+    write /dev/cpuset/background/cpus 0
+    write /dev/cpuset/system-background/cpus 0-1
+
     # for cpuquiet nr_min_cpus
     chown system system /sys/devices/system/cpu/cpuquiet/nr_min_cpus
     chmod 0660 /sys/devices/system/cpu/cpuquiet/nr_min_cpus
diff --git a/media_codecs_performance.xml b/media_codecs_performance.xml
index 2fc2a0e..1af7e27 100644
--- a/media_codecs_performance.xml
+++ b/media_codecs_performance.xml
@@ -16,11 +16,23 @@
 
 <MediaCodecs>
     <Encoders>
+        <MediaCodec name="OMX.Nvidia.h264.encoder" type="video/avc" update="true">
+            <Limit name="measured-frame-rate-320x240" range="435-435" />
+            <Limit name="measured-frame-rate-720x480" range="169-169" />
+            <Limit name="measured-frame-rate-1280x720" range="139-139" />
+            <Limit name="measured-frame-rate-1920x1080" range="57-57" />
+        </MediaCodec>
+        <MediaCodec name="OMX.Nvidia.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
+            <Limit name="measured-frame-rate-320x180" range="447-447" />
+            <Limit name="measured-frame-rate-640x360" range="207-207" />
+            <Limit name="measured-frame-rate-1280x720" range="134-134" />
+            <Limit name="measured-frame-rate-1920x1080" range="50-50" />
+        </MediaCodec>
         <MediaCodec name="OMX.google.h264.encoder" type="video/avc" update="true">
-            <Limit name="measured-frame-rate-320x240" range="1008-1008" />
-            <Limit name="measured-frame-rate-720x480" range="235-235" />
-            <Limit name="measured-frame-rate-1280x720" range="109-109" />
-            <Limit name="measured-frame-rate-1920x1080" range="56-56" />
+            <Limit name="measured-frame-rate-320x240" range="701-701" />
+            <Limit name="measured-frame-rate-720x480" range="189-189" />
+            <Limit name="measured-frame-rate-1280x720" range="93-93" />
+            <Limit name="measured-frame-rate-1920x1080" range="47-47" />
         </MediaCodec>
         <MediaCodec name="OMX.google.h263.encoder" type="video/3gpp" update="true">
             <Limit name="measured-frame-rate-176x144" range="1251-1251" />
@@ -29,72 +41,72 @@
             <Limit name="measured-frame-rate-176x144" range="1422-1422" />
         </MediaCodec>
         <MediaCodec name="OMX.google.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
-            <Limit name="measured-frame-rate-320x180" range="940-940" />
-            <Limit name="measured-frame-rate-640x360" range="364-364" />
-            <Limit name="measured-frame-rate-1280x720" range="124-124" />
-            <Limit name="measured-frame-rate-1920x1080" range="53-53" />
+            <Limit name="measured-frame-rate-320x180" range="804-804" />
+            <Limit name="measured-frame-rate-640x360" range="272-272" />
+            <Limit name="measured-frame-rate-1280x720" range="79-79" />
+            <Limit name="measured-frame-rate-1920x1080" range="42-42" />
         </MediaCodec>
     </Encoders>
     <Decoders>
         <MediaCodec name="OMX.Nvidia.h264.decode" type="video/avc" update="true">
-            <Limit name="measured-frame-rate-320x240" range="2808-2808" />
-            <Limit name="measured-frame-rate-720x480" range="1939-1939" />
-            <Limit name="measured-frame-rate-1280x720" range="1127-1127" />
-            <Limit name="measured-frame-rate-1920x1088" range="468-468" />
+            <Limit name="measured-frame-rate-320x240" range="2273-2273" />
+            <Limit name="measured-frame-rate-720x480" range="1413-1413" />
+            <Limit name="measured-frame-rate-1280x720" range="811-811" />
+            <Limit name="measured-frame-rate-1920x1088" range="346-346" />
         </MediaCodec>
         <MediaCodec name="OMX.Nvidia.h263.decode" type="video/3gpp" update="true">
-            <Limit name="measured-frame-rate-176x144" range="3525-3525" />
-            <Limit name="measured-frame-rate-352x288" range="3602-3602" />
+            <Limit name="measured-frame-rate-176x144" range="2335-2335" />
+            <Limit name="measured-frame-rate-352x288" range="1492-1492" />
         </MediaCodec>
         <MediaCodec name="OMX.Nvidia.h265.decode" type="video/hevc" update="true">
-            <Limit name="measured-frame-rate-352x288" range="3563-3563" />
-            <Limit name="measured-frame-rate-640x368" range="3038-3038" />
-            <Limit name="measured-frame-rate-1280x720" range="1718-1718" />
-            <Limit name="measured-frame-rate-1920x1088" range="976-976" />
-            <Limit name="measured-frame-rate-3840x2160" range="290-290" />
+            <Limit name="measured-frame-rate-352x288" range="2239-2239" />
+            <Limit name="measured-frame-rate-640x368" range="1950-1950" />
+            <Limit name="measured-frame-rate-1280x720" range="1030-1030" />
+            <Limit name="measured-frame-rate-1920x1088" range="589-589" />
+            <Limit name="measured-frame-rate-3840x2160" range="164-164" />
         </MediaCodec>
         <MediaCodec name="OMX.Nvidia.mp4.decode" type="video/mp4v-es" update="true">
-            <Limit name="measured-frame-rate-480x368" range="3671-3671" />
+            <Limit name="measured-frame-rate-480x368" range="1274-1274" />
         </MediaCodec>
         <MediaCodec name="OMX.Nvidia.vp8.decode" type="video/x-vnd.on2.vp8" update="true">
-            <Limit name="measured-frame-rate-320x192" range="3573-3573" />
-            <Limit name="measured-frame-rate-640x368" range="2421-2421" />
-            <Limit name="measured-frame-rate-1280x720" range="1201-1201" />
-            <Limit name="measured-frame-rate-1920x1088" range="646-646" />
+            <Limit name="measured-frame-rate-320x192" range="2057-2057" />
+            <Limit name="measured-frame-rate-640x368" range="1438-1438" />
+            <Limit name="measured-frame-rate-1280x720" range="536-536" />
+            <Limit name="measured-frame-rate-1920x1088" range="300-300" />
         </MediaCodec>
         <MediaCodec name="OMX.Nvidia.vp9.decode" type="video/x-vnd.on2.vp9" update="true">
-            <Limit name="measured-frame-rate-320x180" range="1678-1678" />
-            <Limit name="measured-frame-rate-640x360" range="3408-3408" />
-            <Limit name="measured-frame-rate-1280x720" range="1614-1614" />
-            <Limit name="measured-frame-rate-1920x1080" range="633-633" />
+            <Limit name="measured-frame-rate-320x180" range="1231-1231" />
+            <Limit name="measured-frame-rate-640x360" range="1071-1071" />
+            <Limit name="measured-frame-rate-1280x720" range="643-643" />
+            <Limit name="measured-frame-rate-1920x1080" range="319-319" />
         </MediaCodec>
         <MediaCodec name="OMX.google.h264.decoder" type="video/avc" update="true">
-            <Limit name="measured-frame-rate-320x240" range="1300-1300" />
-            <Limit name="measured-frame-rate-720x480" range="455-455" />
-            <Limit name="measured-frame-rate-1280x720" range="188-188" />
+            <Limit name="measured-frame-rate-320x240" range="782-782" />
+            <Limit name="measured-frame-rate-720x480" range="274-274" />
+            <Limit name="measured-frame-rate-1280x720" range="166-166" />
             <Limit name="measured-frame-rate-1920x1080" range="51-51" />
         </MediaCodec>
         <MediaCodec name="OMX.google.h263.decoder" type="video/3gpp" update="true">
-            <Limit name="measured-frame-rate-176x144" range="2522-2522" />
-            <Limit name="measured-frame-rate-352x288" range="1637-1637" />
+            <Limit name="measured-frame-rate-176x144" range="2177-2177" />
+            <Limit name="measured-frame-rate-352x288" range="1645-1645" />
         </MediaCodec>
         <MediaCodec name="OMX.google.hevc.decoder" type="video/hevc" update="true">
-            <Limit name="measured-frame-rate-352x288" range="1093-1093" />
-            <Limit name="measured-frame-rate-640x360" range="716-716" />
-            <Limit name="measured-frame-rate-1280x720" range="460-460" />
-            <Limit name="measured-frame-rate-1920x1080" range="217-217" />
+            <Limit name="measured-frame-rate-352x288" range="721-721" />
+            <Limit name="measured-frame-rate-640x360" range="442-442" />
+            <Limit name="measured-frame-rate-1280x720" range="211-211" />
+            <Limit name="measured-frame-rate-1920x1080" range="121-121" />
         </MediaCodec>
         <MediaCodec name="OMX.google.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
-            <Limit name="measured-frame-rate-320x180" range="2195-2195" />
-            <Limit name="measured-frame-rate-640x360" range="658-658" />
-            <Limit name="measured-frame-rate-1280x720" range="140-140" />
-            <Limit name="measured-frame-rate-1920x1080" range="123-123" />
+            <Limit name="measured-frame-rate-320x180" range="1581-1581" />
+            <Limit name="measured-frame-rate-640x360" range="594-594" />
+            <Limit name="measured-frame-rate-1280x720" range="170-170" />
+            <Limit name="measured-frame-rate-1920x1080" range="110-110" />
         </MediaCodec>
         <MediaCodec name="OMX.google.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
-            <Limit name="measured-frame-rate-320x180" range="870-870" />
-            <Limit name="measured-frame-rate-640x360" range="867-867" />
-            <Limit name="measured-frame-rate-1280x720" range="224-224" />
-            <Limit name="measured-frame-rate-1920x1080" range="162-162" />
+            <Limit name="measured-frame-rate-320x180" range="635-635" />
+            <Limit name="measured-frame-rate-640x360" range="519-519" />
+            <Limit name="measured-frame-rate-1280x720" range="204-204" />
+            <Limit name="measured-frame-rate-1920x1080" range="117-117" />
         </MediaCodec>
     </Decoders>
 </MediaCodecs>
diff --git a/mixer_paths_0.xml b/mixer_paths_0.xml
index c5c6d91..fd091f1 100644
--- a/mixer_paths_0.xml
+++ b/mixer_paths_0.xml
@@ -93,6 +93,8 @@
     <ctl name="Int Mic Switch" value="0"/>
     <ctl name="Stereo1 ADC2 Mux" value="DD MIX1"/>
     <ctl name="Mic Jack Switch" value="1"/>
+    <ctl name="STO1 ADC Boost Volume" value="2"/>
+    <ctl name="ADC1 Capture Volume" value="27"/>
   </path>
 
   <path name="voice-headset-mic">
@@ -101,10 +103,13 @@
 
   <path name="voice-rec-mic">
       <path name="speaker-mic" />
+      <ctl name="STO1 ADC Boost Volume" value="0"/>
+      <ctl name="ADC1 Capture Volume" value="31"/>
   </path>
 
   <path name="voice-rec-headset-mic">
       <path name="headset-mic" />
+      <ctl name="ADC1 Capture Volume" value="31"/>
   </path>
 
   <path name="handset-mic">
diff --git a/sensor_hub/sensors.cpp b/sensor_hub/sensors.cpp
index 6492e8d..ae9b19e 100644
--- a/sensor_hub/sensors.cpp
+++ b/sensor_hub/sensors.cpp
@@ -130,12 +130,12 @@
         type:               SENSOR_TYPE_MAGNETIC_FIELD,
         maxRange:           UNSET_FIELD,
         resolution:         UNSET_FIELD,
-        power:              0.5f,  /* Based on BMM150 */
+        power:              5.0f,  /* Based on BMM150 */
         /*
          * BMI150 uses repetition to reduce output noise.
-         * Set ODR at no more than 50Hz.
+         * Set ODR at no more than 25Hz.
          */
-        minDelay:           20000,
+        minDelay:           40000,
         fifoReservedEventCount: 0,
         fifoMaxEventCount:  2048,
         stringType:         SENSOR_STRING_TYPE_MAGNETIC_FIELD,