Merge "Revert "Add Wearable node.db to Bullhead dumpstate."" into nyc-mr1-dev
diff --git a/BoardConfig.mk b/BoardConfig.mk
index f2d8c5f..2fac196 100644
--- a/BoardConfig.mk
+++ b/BoardConfig.mk
@@ -48,7 +48,6 @@
BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := device/lge/bullhead/bluetooth
BOARD_HAS_QCA_BT_ROME := true
WCNSS_FILTER_USES_SIBS := true
-BOARD_BLUETOOTH_BDROID_HCILP_INCLUDED := false
BOARD_HAS_QCOM_WLAN := true
BOARD_WLAN_DEVICE := qcwcn
@@ -137,6 +136,9 @@
# 32-bit or 64-bit), the following line should be deleted
BOARD_QTI_CAMERA_32BIT_ONLY := true
+#NFC
+NXP_CHIP_TYPE := 2
+
#Enable peripheral manager
TARGET_PER_MGR_ENABLED := true
diff --git a/aosp_bullhead.mk b/aosp_bullhead.mk
index ec81ad3..b7fb70f 100644
--- a/aosp_bullhead.mk
+++ b/aosp_bullhead.mk
@@ -31,6 +31,8 @@
PRODUCT_MANUFACTURER := LGE
PRODUCT_RESTRICT_VENDOR_FILES := true
+PRODUCT_COPY_FILES += device/lge/bullhead/fstab.aosp_bullhead:root/fstab.bullhead
+
$(call inherit-product, device/lge/bullhead/device.mk)
$(call inherit-product-if-exists, vendor/lge/bullhead/device-vendor.mk)
diff --git a/apns-full-conf.xml b/apns-full-conf.xml
index 319d6fb..19f5317 100644
--- a/apns-full-conf.xml
+++ b/apns-full-conf.xml
@@ -979,6 +979,27 @@
mvno_match_data="IUSACELL"
/>
+ <apn carrier="upcnet"
+ mcc="206"
+ mnc="01"
+ apn="internet.ch.upcmobile.com"
+ type="default,supl"
+ mvno_match_data="75636832"
+ mvno_type="gid"
+ />
+
+ <apn carrier="upcmms"
+ mcc="206"
+ mnc="01"
+ apn="mms.ch.upcmobile.com"
+ mmsc="http://mms.ch.upcmobile.com:8080/servlets/mms"
+ mmsproxy="062.179.127.018"
+ mmsport="8080"
+ type="mms"
+ mvno_match_data="75636832"
+ mvno_type="gid"
+ />
+
<apn carrier="Telenet Internet"
mcc="206"
mnc="05"
@@ -1718,6 +1739,107 @@
type="mms"
/>
+ <apn carrier="internet simyo"
+ mcc="214"
+ mnc="03"
+ apn="gprs-service.com"
+ mvno_type="spn"
+ mvno_match_data="simyo"
+ type="default,supl"
+ />
+
+ <apn carrier="simyo MMS"
+ mcc="214"
+ mnc="03"
+ apn="mms-service.com"
+ authtype="1"
+ mmsc="http://mms.orange.es"
+ mmsproxy="172.22.188.25"
+ mmsport="8080"
+ mvno_type="spn"
+ mvno_match_data="simyo"
+ type="mms"
+ />
+
+ <apn carrier="Jazztel Internet"
+ mcc="214"
+ mnc="03"
+ apn=""
+ type="ia"
+ mvno_match_data="JAZZTEL"
+ mvno_type="spn"
+ />
+
+ <apn carrier="jazzinternet"
+ mcc="214"
+ mnc="03"
+ apn="jazzinternet"
+ type="default,supl"
+ mvno_match_data="JAZZTEL"
+ mvno_type="spn"
+ />
+
+ <apn carrier="MMS"
+ mcc="214"
+ mnc="03"
+ apn="jazzmms"
+ user=""
+ password=""
+ mmsc="http://jazztelmms.com/servlets/mms"
+ mmsproxy="37.132.0.10"
+ mmsport="8080"
+ authtype="1"
+ type="mms"
+ mvno_match_data="JAZZTEL"
+ mvno_type="spn"
+ />
+
+ <apn carrier="INTERNET R"
+ mcc="214"
+ mnc="03"
+ apn="internet.mundo-r.com"
+ authtype="1"
+ type="default,supl"
+ mvno_type="imsi"
+ mvno_match_data="21403508xxxxxxx"
+ />
+
+ <apn carrier="MMS R"
+ mcc="214"
+ mnc="03"
+ apn="mms.mundo-r.com"
+ authtype="1"
+ mmsc="http://mms.mundo-r.com"
+ mmsproxy="010.000.157.169"
+ mmsport="8080"
+ mvno_type="imsi"
+ mvno_match_data="21403508xxxxxxx"
+ type="mms"
+ />
+
+ <apn carrier="INTERNET R"
+ mcc="214"
+ mnc="03"
+ apn="internet.mundo-r.com"
+ authtype="1"
+ type="default,supl"
+ mvno_type="imsi"
+ mvno_match_data="21403509xxxxxxx"
+ />
+
+ <apn carrier="MMS R"
+ mcc="214"
+ mnc="03"
+ apn="mms.mundo-r.com"
+ authtype="1"
+ mmsc="http://mms.mundo-r.com"
+ mmsproxy="010.000.157.169"
+ mmsport="8080"
+ mvno_type="imsi"
+ mvno_match_data="21403509xxxxxxx"
+ type="mms"
+ />
+
<apn carrier="Yoigo Internet"
mcc="214"
mnc="04"
@@ -1930,13 +2052,22 @@
<apn carrier="Jazztel Internet"
mcc="214"
mnc="07"
+ apn=""
+ type="ia"
+ mvno_match_data="JAZZTEL"
+ mvno_type="spn"
+ />
+
+ <apn carrier="jazzinternet"
+ mcc="214"
+ mnc="07"
apn="jazzinternet"
type="default,supl"
mvno_match_data="JAZZTEL"
mvno_type="spn"
/>
- <apn carrier="Jazztel MMS"
+ <apn carrier="MMS"
mcc="214"
mnc="07"
apn="jazzmms"
@@ -2048,14 +2179,26 @@
type="mms"
/>
- <apn carrier="Simyo Internet"
+ <apn carrier="internet simyo"
mcc="214"
mnc="19"
apn="gprs-service.com"
- mmsc="http://217.18.32.180:8080"
- mmsproxy="217.18.32.181"
+ mvno_type="spn"
+ mvno_match_data="simyo"
+ type="default,supl"
+ />
+
+ <apn carrier="simyo MMS"
+ mcc="214"
+ mnc="19"
+ apn="mms-service.com"
+ authtype="1"
+ mmsc="http://mms.orange.es"
+ mmsproxy="172.22.188.25"
mmsport="8080"
- type="default,supl,mms"
+ mvno_type="spn"
+ mvno_match_data="simyo"
+ type="mms"
/>
<apn carrier="Jazztel Internet"
@@ -2085,6 +2228,39 @@
type="mms"
/>
+ <apn carrier="Jazztel Internet"
+ mcc="214"
+ mnc="21"
+ apn=""
+ type="ia"
+ mvno_match_data="JAZZTEL"
+ mvno_type="spn"
+ />
+
+ <apn carrier="jazzinternet"
+ mcc="214"
+ mnc="21"
+ apn="jazzinternet"
+ type="default,supl"
+ mvno_match_data="JAZZTEL"
+ mvno_type="spn"
+ />
+
+ <apn carrier="MMS"
+ mcc="214"
+ mnc="21"
+ apn="jazzmms"
+ user=""
+ password=""
+ mmsc="http://jazztelmms.com/servlets/mms"
+ mmsproxy="37.132.0.10"
+ mmsport="8080"
+ authtype="1"
+ type="mms"
+ mvno_match_data="JAZZTEL"
+ mvno_type="spn"
+ />
+
<apn carrier="Truphone"
mcc="214"
mnc="27"
@@ -2979,6 +3155,13 @@
type="default"
/>
+ <apn carrier="Swisscom Services"
+ mcc="228"
+ mnc="01"
+ apn=""
+ type="ia"
+ />
+
<apn carrier="Swisscom MMS"
mcc="228"
mnc="01"
@@ -2996,14 +3179,14 @@
type="default,supl"
/>
- <apn carrier="Sunrise live"
+ <apn carrier="Internet"
mcc="228"
mnc="02"
apn="internet"
type="default,supl"
/>
- <apn carrier="Sunrise MMS"
+ <apn carrier="MMS"
mcc="228"
mnc="02"
apn="mms.sunrise.ch"
@@ -3030,6 +3213,27 @@
type="mms"
/>
+ <apn carrier="upcnet"
+ mcc="228"
+ mnc="53"
+ apn="internet.ch.upcmobile.com"
+ type="default,supl"
+ mvno_match_data="75636832"
+ mvno_type="gid"
+ />
+
+ <apn carrier="upcmms"
+ mcc="228"
+ mnc="53"
+ apn="mms.ch.upcmobile.com"
+ mmsc="http://mms.ch.upcmobile.com:8080/servlets/mms"
+ mmsproxy="062.179.127.018"
+ mmsport="8080"
+ type="mms"
+ mvno_match_data="75636832"
+ mvno_type="gid"
+ />
+
<apn carrier="T-Mobile CZ"
mcc="230"
mnc="01"
@@ -3168,6 +3372,13 @@
type="mms"
/>
+ <apn carrier="A1 Internet"
+ mcc="232"
+ mnc="01"
+ apn=""
+ type="ia"
+ />
+
<apn carrier="live!"
mcc="232"
mnc="01"
@@ -3254,7 +3465,14 @@
type="default,supl,agps,fota,dun"
/-->
- <apn carrier="tele.ring mms"
+ <apn carrier="tele.ring ia"
+ mcc="232"
+ mnc="07"
+ apn=""
+ type="ia"
+ />
+
+ <apn carrier="telering mms"
mcc="232"
mnc="07"
apn="mms"
@@ -3267,7 +3485,7 @@
type="mms"
/>
- <apn carrier="tele.ring web"
+ <apn carrier="telering web"
mcc="232"
mnc="07"
apn="web"
@@ -3277,6 +3495,69 @@
type="default,supl"
/>
+ <apn carrier="0677 web"
+ mcc="232"
+ mnc="07"
+ apn="webaut"
+ type="default,supl"
+ mvno_type="imsi"
+ mvno_match_data="23207718xxxxxxx"
+ />
+
+ <apn carrier="0677 mms"
+ mcc="232"
+ mnc="07"
+ apn="mmsaut"
+ mmsc="http://mmsaut.at/send"
+ mmsproxy="212.95.31.50"
+ mmsport="80"
+ type="mms"
+ mvno_type="imsi"
+ mvno_match_data="23207718xxxxxxx"
+ />
+
+ <apn carrier="0677 web"
+ mcc="232"
+ mnc="07"
+ apn="webaut"
+ type="default,supl"
+ mvno_type="imsi"
+ mvno_match_data="2320776xxxxxxxx"
+ />
+
+ <apn carrier="0677 mms"
+ mcc="232"
+ mnc="07"
+ apn="mmsaut"
+ mmsc="http://mmsaut.at/send"
+ mmsproxy="212.95.31.50"
+ mmsport="80"
+ type="mms"
+ mvno_type="imsi"
+ mvno_match_data="2320776xxxxxxxx"
+ />
+
+ <apn carrier="0677 web"
+ mcc="232"
+ mnc="07"
+ apn="webaut"
+ type="default,supl"
+ mvno_type="imsi"
+ mvno_match_data="23207799xxxxxxx"
+ />
+
+ <apn carrier="0677 mms"
+ mcc="232"
+ mnc="07"
+ apn="mmsaut"
+ mmsc="http://mmsaut.at/send"
+ mmsproxy="212.95.31.50"
+ mmsport="80"
+ type="mms"
+ mvno_type="imsi"
+ mvno_match_data="23207799xxxxxxx"
+ />
+
<apn carrier="Planet3"
mcc="232"
mnc="10"
@@ -3310,10 +3591,10 @@
type="mms"
/>
- <apn carrier="yesss!"
+ <apn carrier="Internet"
mcc="232"
mnc="12"
- apn="web.yesss.at"
+ apn="webapn.at"
type="default,supl"
/>
@@ -3395,7 +3676,9 @@
apn="mobile.o2.co.uk"
user="o2web"
password="password"
+ authtype="1"
type="default,supl"
+ protocol="IPV4V6"
/>
<apn carrier="O2 MMS"
@@ -3409,6 +3692,7 @@
mmsproxy="82.132.254.1"
mmsport="8080"
type="mms"
+ protocol="IPV4V6"
/>
<apn carrier="O2 Pay & Go"
@@ -3419,10 +3703,12 @@
port="8080"
user="payandgo"
password="password"
+ authtype="1"
mmsc="http://mmsc.mms.o2.co.uk:8002"
mmsproxy="82.132.254.1"
mmsport="8080"
type="default,supl,mms"
+ protocol="IPV4V6"
/>
<apn carrier="TESCO"
@@ -3523,7 +3809,7 @@
type="mms"
/>
- <apn carrier="Vodafone UK"
+ <apn carrier="Contract WAP"
mcc="234"
mnc="15"
apn="wap.vodafone.co.uk"
@@ -3536,7 +3822,7 @@
type="default,supl,mms"
/>
- <apn carrier="Vodafone UK Prepay"
+ <apn carrier="PAYG WAP"
mcc="234"
mnc="15"
apn="pp.vodafone.co.uk"
@@ -3719,7 +4005,7 @@
protocol="IPV6"
/>
- <apn carrier="EE Internet"
+ <apn carrier="Internet"
mcc="234"
mnc="30"
apn="everywhere"
@@ -3727,9 +4013,10 @@
password="secure"
authtype="1"
type="default,supl"
+ protocol="IPV4V6"
/>
- <apn carrier="EE MMS"
+ <apn carrier="MMS"
mcc="234"
mnc="30"
apn="eezone"
@@ -4816,6 +5103,7 @@
mnc="05"
apn="internet"
type="default,supl"
+ protocol="IPV4V6"
/>
<apn carrier="Elisa MMS"
@@ -5336,14 +5624,15 @@
type="mms"
/>
- <apn carrier="Bite LV Internet"
+ <apn carrier="BITE Internet"
mcc="247"
mnc="05"
apn="internet"
type="default,supl"
+ protocol="IPV4V6"
/>
- <apn carrier="Bite LV MMS"
+ <apn carrier="BITE MMS"
mcc="247"
mnc="05"
apn="mms"
@@ -5354,15 +5643,7 @@
mmsport="8080"
authtype="1"
type="mms"
- />
-
- <apn carrier="Bite LV WAP"
- mcc="247"
- mnc="05"
- apn="wap"
- proxy="213.226.131.133"
- port="8080"
- type="default,supl"
+ protocol="IPV4V6"
/>
<apn carrier="EMT Internet"
@@ -5382,15 +5663,6 @@
type="mms"
/>
- <apn carrier="EMT WAP"
- mcc="248"
- mnc="01"
- apn="wap.emt.ee"
- proxy="217.71.32.236"
- port="8080"
- type="default,supl"
- />
-
<apn carrier="Send"
mcc="248"
mnc="01"
@@ -5420,6 +5692,7 @@
mnc="02"
apn="internet"
type="default,supl"
+ protocol="IPV4V6"
/>
<apn carrier="Elisa MMS"
@@ -5430,15 +5703,7 @@
mmsproxy="194.204.2.6"
mmsport="8000"
type="mms"
- />
-
- <apn carrier="Elisa WAP"
- mcc="248"
- mnc="02"
- apn="wap"
- proxy="194.204.2.6"
- port="8000"
- type="default,supl"
+ protocol="IPV4V6"
/>
<apn carrier="Tele2 Internet"
@@ -6614,10 +6879,10 @@
apn="internet"
user="mobitel"
password="internet"
- mmsc="http://mms.mobitel.si/servlets/mms"
+ mmsc="http://mms.telekom.si"
mmsproxy="213.229.249.40"
mmsport="8080"
- type="default,supl,mms"
+ type="default,hipri,supl,mms"
/>
<apn carrier="T2"
@@ -24041,12 +24306,12 @@
type="mms"
/>
- <apn carrier="3G Portal"
+ <apn carrier="Partner"
mcc="425"
mnc="01"
- apn="uwap.orange.co.il"
+ apn="uinternet"
mmsc="http://192.168.220.15/servlets/mms"
- mmsproxy="192.118.11.55"
+ mmsproxy=""
mmsport="8080"
type="default,supl,mms"
/>
@@ -24171,11 +24436,11 @@
type="mms"
/>
- <apn carrier="3G Portal"
+ <apn carrier="Partner"
mcc="425"
mnc="10"
- apn="uwap.orange.co.il"
- mmsc="http://192.168.220.15/servlets/mms"
+ apn="uinternet"
+ mmsc=""
mmsport="8080"
type="default,supl,mms"
/>
@@ -30424,21 +30689,23 @@
mcc='722'
mnc='36'
apn='mms.nuestro.com.ar'
+ user='mms'
+ password='mms'
authtype='0'
mmsc='http://mms.nuestro.com.ar'
mmsproxy='172.16.0.20'
mmsport='8080'
type='mms'
- user='mms'
/>
<apn carrier="Nuestro Internet"
mcc='722'
mnc='36'
apn='gprs.nuestro.com.ar'
+ user='gprs'
+ password='gprs'
authtype='0'
type='default'
- user='gprs'
/>
<apn carrier='Argentina:Personal :Datos'
diff --git a/audio_policy_configuration.xml b/audio_policy_configuration.xml
index 9c68b5c..ebdcd13 100644
--- a/audio_policy_configuration.xml
+++ b/audio_policy_configuration.xml
@@ -63,12 +63,12 @@
samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
</mixPort>
<mixPort name="primary input" role="sink">
- <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ <profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3"/>
</mixPort>
<mixPort name="fast input" role="sink" flags="AUDIO_INPUT_FLAG_FAST">
- <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ <profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3"/>
</mixPort>
diff --git a/camera/QCamera2/HAL3/QCamera3HWI.cpp b/camera/QCamera2/HAL3/QCamera3HWI.cpp
index 59ef87b..652fde8 100644
--- a/camera/QCamera2/HAL3/QCamera3HWI.cpp
+++ b/camera/QCamera2/HAL3/QCamera3HWI.cpp
@@ -2312,7 +2312,7 @@
urgentFrameNumDiff = last_urgent_frame_number + 1 -
first_urgent_frame_number;
- CDBG("%s: urgent_frm: valid: %d frm_num: %d - %d",
+ CDBG_HIGH("%s: urgent_frm: valid: %d frm_num: %d - %d",
__func__, urgent_frame_number_valid,
first_urgent_frame_number, last_urgent_frame_number);
}
@@ -2323,7 +2323,7 @@
first_frame_number;
mPendingBatchMap.removeItem(last_frame_number);
- CDBG("%s: frm: valid: %d frm_num: %d - %d",
+ CDBG_HIGH("%s: frm: valid: %d frm_num: %d - %d",
__func__, frame_number_valid,
first_frame_number, last_frame_number);
@@ -2379,18 +2379,19 @@
if (last_frame_capture_time) {
//Infer timestamp
first_frame_capture_time = last_frame_capture_time -
- (((loopCount - 1) * NSEC_PER_SEC) / mHFRVideoFps);
+ (((loopCount - 1) * NSEC_PER_SEC) / (double) mHFRVideoFps);
capture_time =
- first_frame_capture_time + (i * NSEC_PER_SEC / mHFRVideoFps);
+ first_frame_capture_time + (i * NSEC_PER_SEC / (double) mHFRVideoFps);
ADD_SET_PARAM_ENTRY_TO_BATCH(metadata,
CAM_INTF_META_SENSOR_TIMESTAMP, capture_time);
- CDBG("%s: batch capture_time: %lld, capture_time: %lld",
+ CDBG_HIGH("%s: batch capture_time: %lld, capture_time: %lld",
__func__, last_frame_capture_time, capture_time);
}
}
pthread_mutex_lock(&mMutex);
handleMetadataWithLock(metadata_buf,
- false /* free_and_bufdone_meta_buf */);
+ false /* free_and_bufdone_meta_buf */,
+ (i == 0) /* first metadata in the batch metadata */);
pthread_mutex_unlock(&mMutex);
}
@@ -2410,12 +2411,15 @@
* PARAMETERS : @metadata_buf: metadata buffer
* @free_and_bufdone_meta_buf: Buf done on the meta buf and free
* the meta buf in this method
+ * @firstMetadataInBatch: Boolean to indicate whether this is the
+ * first metadata in a batch. Valid only for batch mode
*
* RETURN :
*
*==========================================================================*/
void QCamera3HardwareInterface::handleMetadataWithLock(
- mm_camera_super_buf_t *metadata_buf, bool free_and_bufdone_meta_buf)
+ mm_camera_super_buf_t *metadata_buf, bool free_and_bufdone_meta_buf,
+ bool firstMetadataInBatch)
{
ATRACE_CALL();
@@ -2635,7 +2639,8 @@
result.result = translateFromHalMetadata(metadata,
i->timestamp, i->request_id, i->jpegMetadata, i->pipeline_depth,
- i->capture_intent, i->hybrid_ae_enable, internalPproc, i->need_dynamic_blklvl);
+ i->capture_intent, i->hybrid_ae_enable, internalPproc, i->need_dynamic_blklvl,
+ firstMetadataInBatch);
saveExifParams(metadata);
@@ -4023,7 +4028,8 @@
hdrPlusPerfLock(metadata_buf);
pthread_mutex_lock(&mMutex);
handleMetadataWithLock(metadata_buf,
- true /* free_and_bufdone_meta_buf */);
+ true /* free_and_bufdone_meta_buf */,
+ false /* first frame of batch metadata */ );
pthread_mutex_unlock(&mMutex);
}
} else if (isInputBuffer) {
@@ -4197,11 +4203,19 @@
uint8_t capture_intent,
uint8_t hybrid_ae_enable,
bool pprocDone,
- bool dynamic_blklvl)
+ bool dynamic_blklvl,
+ bool firstMetadataInBatch)
{
CameraMetadata camMetadata;
camera_metadata_t *resultMetadata;
+ if (mBatchSize && !firstMetadataInBatch) {
+ /* In batch mode, use cached metadata from the first metadata
+ in the batch */
+ camMetadata.clear();
+ camMetadata = mCachedMetadata;
+ }
+
if (jpegMetadata.entryCount())
camMetadata.append(jpegMetadata);
@@ -4211,6 +4225,12 @@
camMetadata.update(ANDROID_CONTROL_CAPTURE_INTENT, &capture_intent, 1);
camMetadata.update(NEXUS_EXPERIMENTAL_2016_HYBRID_AE_ENABLE, &hybrid_ae_enable, 1);
+ if (mBatchSize && !firstMetadataInBatch) {
+ /* In batch mode, use cached metadata instead of parsing metadata buffer again */
+ resultMetadata = camMetadata.release();
+ return resultMetadata;
+ }
+
IF_META_AVAILABLE(uint32_t, frame_number, CAM_INTF_META_FRAME_NUMBER, metadata) {
int64_t fwk_frame_number = *frame_number;
camMetadata.update(ANDROID_SYNC_FRAME_NUMBER, &fwk_frame_number, 1);
@@ -4781,10 +4801,22 @@
hAeRegions->rect.height);
}
+ IF_META_AVAILABLE(uint32_t, focusMode, CAM_INTF_PARM_FOCUS_MODE, metadata) {
+ int val = lookupFwkName(FOCUS_MODES_MAP, METADATA_MAP_SIZE(FOCUS_MODES_MAP), *focusMode);
+ if (NAME_NOT_FOUND != val) {
+ uint8_t fwkAfMode = (uint8_t)val;
+ camMetadata.update(ANDROID_CONTROL_AF_MODE, &fwkAfMode, 1);
+ CDBG("%s: Metadata : ANDROID_CONTROL_AF_MODE %d", __func__, val);
+ } else {
+ CDBG_HIGH("%s: Metadata not found : ANDROID_CONTROL_AF_MODE %d",
+ __func__, val);
+ }
+ }
+
IF_META_AVAILABLE(uint32_t, afState, CAM_INTF_META_AF_STATE, metadata) {
uint8_t fwk_afState = (uint8_t) *afState;
camMetadata.update(ANDROID_CONTROL_AF_STATE, &fwk_afState, 1);
- CDBG("%s: urgent Metadata : ANDROID_CONTROL_AF_STATE %u", __func__, *afState);
+ CDBG("%s: Metadata : ANDROID_CONTROL_AF_STATE %u", __func__, *afState);
}
IF_META_AVAILABLE(float, focusDistance, CAM_INTF_META_LENS_FOCUS_DISTANCE, metadata) {
@@ -4996,6 +5028,12 @@
camMetadata.update(ANDROID_CONTROL_POST_RAW_SENSITIVITY_BOOST, &postRawSensitivity, 1);
}
+ /* In batch mode, cache the first metadata in the batch */
+ if (mBatchSize && firstMetadataInBatch) {
+ mCachedMetadata.clear();
+ mCachedMetadata = camMetadata;
+ }
+
resultMetadata = camMetadata.release();
return resultMetadata;
}
@@ -5098,18 +5136,6 @@
CDBG("%s: urgent Metadata : ANDROID_CONTROL_AE_STATE %u", __func__, *ae_state);
}
- IF_META_AVAILABLE(uint32_t, focusMode, CAM_INTF_PARM_FOCUS_MODE, metadata) {
- int val = lookupFwkName(FOCUS_MODES_MAP, METADATA_MAP_SIZE(FOCUS_MODES_MAP), *focusMode);
- if (NAME_NOT_FOUND != val) {
- uint8_t fwkAfMode = (uint8_t)val;
- camMetadata.update(ANDROID_CONTROL_AF_MODE, &fwkAfMode, 1);
- CDBG("%s: urgent Metadata : ANDROID_CONTROL_AF_MODE", __func__);
- } else {
- CDBG_HIGH("%s: urgent Metadata not found : ANDROID_CONTROL_AF_MODE %d", __func__,
- val);
- }
- }
-
IF_META_AVAILABLE(cam_trigger_t, af_trigger, CAM_INTF_META_AF_TRIGGER, metadata) {
camMetadata.update(ANDROID_CONTROL_AF_TRIGGER,
&af_trigger->trigger, 1);
diff --git a/camera/QCamera2/HAL3/QCamera3HWI.h b/camera/QCamera2/HAL3/QCamera3HWI.h
index 0302b05..eb75f97 100644
--- a/camera/QCamera2/HAL3/QCamera3HWI.h
+++ b/camera/QCamera2/HAL3/QCamera3HWI.h
@@ -174,7 +174,8 @@
nsecs_t timestamp, int32_t request_id,
const CameraMetadata& jpegMetadata, uint8_t pipeline_depth,
uint8_t capture_intent, uint8_t hybrid_ae_enable,
- bool pprocDone, bool dynamic_blklvl);
+ bool pprocDone, bool dynamic_blklvl,
+ bool firstMetadataInBatch);
camera_metadata_t* saveRequestSettings(const CameraMetadata& jpegMetadata,
camera3_capture_request_t *request);
int initParameters();
@@ -234,7 +235,8 @@
int32_t handlePendingReprocResults(uint32_t frame_number);
int64_t getMinFrameDuration(const camera3_capture_request_t *request);
void handleMetadataWithLock(mm_camera_super_buf_t *metadata_buf,
- bool free_and_bufdone_meta_buf);
+ bool free_and_bufdone_meta_buf,
+ bool firstMetadataInBatch);
void handleBatchMetadata(mm_camera_super_buf_t *metadata_buf,
bool free_and_bufdone_meta_buf);
void handleBufferWithLock(camera3_stream_buffer_t *buffer,
@@ -435,6 +437,7 @@
uint32_t mLdafCalib[2];
bool mPowerHintEnabled;
int32_t mLastCustIntentFrmNum;
+ CameraMetadata mCachedMetadata;
static const QCameraMap<camera_metadata_enum_android_control_effect_mode_t,
cam_effect_mode_type> EFFECT_MODES_MAP[];
diff --git a/fstab.aosp_bullhead b/fstab.aosp_bullhead
new file mode 100644
index 0000000..b5b3a01
--- /dev/null
+++ b/fstab.aosp_bullhead
@@ -0,0 +1,37 @@
+# Android fstab file.
+#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
+# The filesystem that contains the filesystem checker binary (typically /system) cannot
+# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
+
+/dev/block/platform/soc.0/f9824900.sdhci/by-name/system /system ext4 ro,barrier=1,inode_readahead_blks=8 wait,verify=/dev/block/platform/soc.0/f9824900.sdhci/by-name/metadata
+/dev/block/platform/soc.0/f9824900.sdhci/by-name/vendor /vendor ext4 ro,barrier=1,inode_readahead_blks=8 wait
+/dev/block/platform/soc.0/f9824900.sdhci/by-name/userdata /data ext4 noatime,nosuid,nodev,barrier=1,data=ordered,nomblk_io_submit,noauto_da_alloc,errors=panic,inode_readahead_blks=8 wait,check,forcefdeorfbe=/dev/block/platform/soc.0/f9824900.sdhci/by-name/metadata
+/dev/block/platform/soc.0/f9824900.sdhci/by-name/cache /cache ext4 noatime,nosuid,nodev,barrier=1,data=ordered,nomblk_io_submit,noauto_da_alloc,errors=panic wait,check
+/dev/block/platform/soc.0/f9824900.sdhci/by-name/persist /persist ext4 nosuid,nodev,barrier=1,data=ordered,nodelalloc,nomblk_io_submit,errors=panic wait,notrim
+/dev/block/platform/soc.0/f9824900.sdhci/by-name/modem /firmware vfat ro,shortname=lower,uid=1000,gid=1000,dmask=227,fmask=337,context=u:object_r:firmware_file:s0 wait
+/dev/block/platform/soc.0/f9824900.sdhci/by-name/boot /boot emmc defaults defaults
+/dev/block/platform/soc.0/f9824900.sdhci/by-name/recovery /recovery emmc defaults defaults
+/dev/block/platform/soc.0/f9824900.sdhci/by-name/misc /misc emmc defaults defaults
+/dev/block/platform/soc.0/f9824900.sdhci/by-name/modem /radio emmc defaults defaults
+/dev/block/platform/soc.0/f9824900.sdhci/by-name/sbl1 /sbl1 emmc defaults defaults
+/dev/block/platform/soc.0/f9824900.sdhci/by-name/tz /tz emmc defaults defaults
+/dev/block/platform/soc.0/f9824900.sdhci/by-name/rpm /rpm emmc defaults defaults
+/dev/block/platform/soc.0/f9824900.sdhci/by-name/sdi /sdi emmc defaults defaults
+/dev/block/platform/soc.0/f9824900.sdhci/by-name/aboot /aboot emmc defaults defaults
+/dev/block/platform/soc.0/f9824900.sdhci/by-name/imgdata /imgdata emmc defaults defaults
+/dev/block/platform/soc.0/f9824900.sdhci/by-name/pmic /pmic emmc defaults defaults
+/dev/block/platform/soc.0/f9824900.sdhci/by-name/hyp /hyp emmc defaults defaults
+/dev/block/platform/soc.0/f9824900.sdhci/by-name/sec /sec emmc defaults defaults
+/dev/block/platform/soc.0/f9824900.sdhci/by-name/keymaster /keymaster emmc defaults defaults
+/dev/block/platform/soc.0/f9824900.sdhci/by-name/cmnlib /cmnlib emmc defaults defaults
+/dev/block/platform/soc.0/f9824900.sdhci/by-name/persistent /persistent emmc defaults defaults
+/devices/soc.0/f9200000.ssusb/f9200000.dwc3/xhci-hcd.0.auto/usb* auto auto defaults voldmanaged=usb:auto
+/dev/block/zram0 none swap defaults zramsize=533413200,notrim
+/dev/block/platform/soc.0/f9824900.sdhci/by-name/sbl1bak /sbl1bak emmc defaults defaults
+/dev/block/platform/soc.0/f9824900.sdhci/by-name/tzbak /tzbak emmc defaults defaults
+/dev/block/platform/soc.0/f9824900.sdhci/by-name/rpmbak /rpmbak emmc defaults defaults
+/dev/block/platform/soc.0/f9824900.sdhci/by-name/abootbak /abootbak emmc defaults defaults
+/dev/block/platform/soc.0/f9824900.sdhci/by-name/pmicbak /pmicbak emmc defaults defaults
+/dev/block/platform/soc.0/f9824900.sdhci/by-name/hypbak /hypbak emmc defaults defaults
+/dev/block/platform/soc.0/f9824900.sdhci/by-name/keymasterbak /keymasterbak emmc defaults defaults
+/dev/block/platform/soc.0/f9824900.sdhci/by-name/cmnlibbak /cmnlibbak emmc defaults defaults
diff --git a/media_codecs_performance.xml b/media_codecs_performance.xml
index a591095..9bd6458 100644
--- a/media_codecs_performance.xml
+++ b/media_codecs_performance.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" ?>
-<!-- Copyright 2015 The Android Open Source Project
+<!-- Copyright 2016 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.
@@ -16,100 +16,113 @@
<MediaCodecs>
<Encoders>
- <MediaCodec name="OMX.qcom.video.encoder.avc" type="video/avc" update="true">
- <Limit name="measured-frame-rate-320x240" range="468-468" />
- <Limit name="measured-frame-rate-720x480" range="240-240" />
- <Limit name="measured-frame-rate-1280x720" range="123-123" />
- <Limit name="measured-frame-rate-1920x1080" range="57-57" />
- </MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.h263" type="video/3gpp" update="true">
- <Limit name="measured-frame-rate-176x144" range="625-625" />
- <Limit name="measured-frame-rate-352x288" range="298-298" />
+ <Limit name="measured-frame-rate-176x144" range="404-404" /> <!-- N=92 v98%=1.3 -->
+ <Limit name="measured-frame-rate-352x288" range="237-239" /> <!-- N=92 v98%=1.3 -->
+ <!-- measured 93%:58-67 med:60 FLAKY(30 - 126 < mx=130.9) -->
+ <Limit name="measured-frame-rate-704x576" range="60-63" /> <!-- N=92 v93%=1.1 -->
+ </MediaCodec>
+ <MediaCodec name="OMX.qcom.video.encoder.avc" type="video/avc" update="true">
+ <Limit name="measured-frame-rate-320x240" range="276-276" /> <!-- N=92 v98%=1.2 -->
+ <Limit name="measured-frame-rate-720x480" range="71-82" /> <!-- N=92 v98%=1.2 -->
+ <Limit name="measured-frame-rate-1280x720" range="44-53" /> <!-- N=92 v98%=1.3 -->
+ <Limit name="measured-frame-rate-1920x1080" range="22-26" /> <!-- N=92 v98%=1.3 -->
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.mpeg4" type="video/mp4v-es" update="true">
- <Limit name="measured-frame-rate-176x144" range="620-620" />
- <Limit name="measured-frame-rate-352x288" range="295-295" />
- <Limit name="measured-frame-rate-640x480" range="155-155" />
+ <Limit name="measured-frame-rate-176x144" range="358-358" /> <!-- N=88 v98%=1.1 -->
+ <Limit name="measured-frame-rate-352x288" range="199-199" /> <!-- N=88 v98%=1.1 -->
+ <Limit name="measured-frame-rate-640x480" range="79-79" /> <!-- N=88 v98%=1.0 -->
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.vp8" type="video/x-vnd.on2.vp8" update="true">
- <Limit name="measured-frame-rate-320x180" range="148-148" />
- <Limit name="measured-frame-rate-640x360" range="141-141" />
- <Limit name="measured-frame-rate-1280x720" range="49-49" />
- </MediaCodec>
- <MediaCodec name="OMX.google.h264.encoder" type="video/avc" update="true">
- <Limit name="measured-frame-rate-320x240" range="326-326" />
- <Limit name="measured-frame-rate-720x480" range="94-94" />
- <Limit name="measured-frame-rate-1280x720" range="40-40" />
- <Limit name="measured-frame-rate-1920x1080" range="17-17" />
+ <Limit name="measured-frame-rate-320x180" range="113-115" /> <!-- N=88 v98%=1.0 -->
+ <Limit name="measured-frame-rate-640x360" range="108-109" /> <!-- N=88 v98%=1.0 -->
+ <Limit name="measured-frame-rate-1280x720" range="38-38" /> <!-- N=88 v98%=1.0 -->
+ <Limit name="measured-frame-rate-1920x1080" range="15-15" /> <!-- N=88 v98%=1.0 -->
</MediaCodec>
<MediaCodec name="OMX.google.h263.encoder" type="video/3gpp" update="true">
- <Limit name="measured-frame-rate-176x144" range="490-490" />
+ <Limit name="measured-frame-rate-176x144" range="235-235" /> <!-- N=92 v98%=1.2 -->
+ </MediaCodec>
+ <MediaCodec name="OMX.google.h264.encoder" type="video/avc" update="true">
+ <Limit name="measured-frame-rate-320x240" range="130-153" /> <!-- N=92 v98%=1.5 -->
+ <!-- measured 95%:28-71 med:46 FLAKY(mn=13.1 < 23 - 90) -->
+ <Limit name="measured-frame-rate-720x480" range="45-45" /> <!-- N=92 v95%=1.6 -->
+ <!-- measured 98%:18-27 med:22 FLAKY(mn=10.9 < 11 - 44) -->
+ <Limit name="measured-frame-rate-1280x720" range="22-22" /> <!-- N=92 v98%=1.2 -->
+ <Limit name="measured-frame-rate-1920x1080" range="11-11" /> <!-- N=92 v98%=1.2 -->
</MediaCodec>
<MediaCodec name="OMX.google.mpeg4.encoder" type="video/mp4v-es" update="true">
- <Limit name="measured-frame-rate-176x144" range="541-541" />
+ <Limit name="measured-frame-rate-176x144" range="292-294" /> <!-- N=88 v98%=1.2 -->
</MediaCodec>
<MediaCodec name="OMX.google.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
- <Limit name="measured-frame-rate-320x180" range="300-300" />
- <Limit name="measured-frame-rate-640x360" range="127-127" />
- <Limit name="measured-frame-rate-1280x720" range="34-34" />
- <Limit name="measured-frame-rate-1920x1080" range="16-16" />
+ <Limit name="measured-frame-rate-320x180" range="85-85" /> <!-- N=88 v98%=1.1 -->
+ <Limit name="measured-frame-rate-640x360" range="37-37" /> <!-- N=88 v98%=1.0 -->
+ <Limit name="measured-frame-rate-1280x720" range="18-18" /> <!-- N=88 v98%=1.2 -->
+ <Limit name="measured-frame-rate-1920x1080" range="8-8" /> <!-- N=88 v98%=1.2 -->
</MediaCodec>
</Encoders>
<Decoders>
- <MediaCodec name="OMX.qcom.video.decoder.avc" type="video/avc" update="true">
- <Limit name="measured-frame-rate-320x240" range="567-567" />
- <Limit name="measured-frame-rate-720x480" range="315-315" />
- <Limit name="measured-frame-rate-1280x720" range="151-151" />
- <Limit name="measured-frame-rate-1920x1088" range="71-71" />
- </MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.h263" type="video/3gpp" update="true">
- <Limit name="measured-frame-rate-176x144" range="818-818" />
- <Limit name="measured-frame-rate-352x288" range="930-930" />
+ <Limit name="measured-frame-rate-176x144" range="633-633" /> <!-- N=88 v98%=1.2 -->
+ <Limit name="measured-frame-rate-352x288" range="655-655" /> <!-- N=88 v98%=1.2 -->
+ </MediaCodec>
+ <MediaCodec name="OMX.qcom.video.decoder.avc" type="video/avc" update="true">
+ <Limit name="measured-frame-rate-320x240" range="363-363" /> <!-- N=88 v98%=1.2 -->
+ <Limit name="measured-frame-rate-720x480" range="254-275" /> <!-- N=88 v98%=1.1 -->
+ <Limit name="measured-frame-rate-1280x720" range="155-155" /> <!-- N=88 v98%=1.0 -->
+ <Limit name="measured-frame-rate-1920x1088" range="69-69" /> <!-- N=88 v98%=1.0 -->
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.hevc" type="video/hevc" update="true">
- <Limit name="measured-frame-rate-352x288" range="668-668" />
- <Limit name="measured-frame-rate-640x360" range="544-544" />
- <Limit name="measured-frame-rate-1280x720" range="332-332" />
- <Limit name="measured-frame-rate-1920x1080" range="201-201" />
- <Limit name="measured-frame-rate-3840x2160" range="59-59" />
+ <Limit name="measured-frame-rate-352x288" range="478-478" /> <!-- N=88 v98%=1.2 -->
+ <Limit name="measured-frame-rate-640x360" range="343-343" /> <!-- N=88 v98%=1.3 -->
+ <Limit name="measured-frame-rate-720x480" range="323-323" /> <!-- N=88 v98%=1.2 -->
+ <Limit name="measured-frame-rate-1280x720" range="185-202" /> <!-- N=88 v98%=1.1 -->
+ <Limit name="measured-frame-rate-1920x1080" range="115-119" /> <!-- N=88 v98%=1.1 -->
+ <Limit name="measured-frame-rate-3840x2160" range="32-32" /> <!-- N=88 v98%=1.0 -->
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.mpeg4" type="video/mp4v-es" update="true">
- <Limit name="measured-frame-rate-480x360" range="693-693" />
+ <Limit name="measured-frame-rate-176x144" range="623-623" /> <!-- N=88 v98%=1.2 -->
+ <Limit name="measured-frame-rate-480x360" range="572-572" /> <!-- N=88 v98%=1.1 -->
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp8" type="video/x-vnd.on2.vp8" update="true">
- <Limit name="measured-frame-rate-320x180" range="507-507" />
- <Limit name="measured-frame-rate-640x360" range="502-502" />
- <Limit name="measured-frame-rate-1280x720" range="599-599" />
- <Limit name="measured-frame-rate-1920x1080" range="395-395" />
- </MediaCodec>
- <MediaCodec name="OMX.google.h264.decoder" type="video/avc" update="true">
- <Limit name="measured-frame-rate-320x240" range="854-854" />
- <Limit name="measured-frame-rate-720x480" range="233-233" />
- <Limit name="measured-frame-rate-1280x720" range="108-108" />
- <Limit name="measured-frame-rate-1920x1080" range="36-36" />
+ <Limit name="measured-frame-rate-320x180" range="377-377" /> <!-- N=87 v98%=1.1 -->
+ <Limit name="measured-frame-rate-640x360" range="338-338" /> <!-- N=86 v98%=1.1 -->
+ <Limit name="measured-frame-rate-1280x720" range="376-376" /> <!-- N=88 v98%=1.2 -->
+ <Limit name="measured-frame-rate-1920x1080" range="246-246" /> <!-- N=86 v98%=1.0 -->
</MediaCodec>
<MediaCodec name="OMX.google.h263.decoder" type="video/3gpp" update="true">
- <Limit name="measured-frame-rate-176x144" range="693-693" />
- <Limit name="measured-frame-rate-352x288" range="805-805" />
+ <!-- measured 98%:99-414 med:122 FLAKY(mn=98.6 < 61 - 414 < mx=422.5) variance:2.0 -->
+ <Limit name="measured-frame-rate-176x144" range="121-207" /> <!-- N=88 -->
+ </MediaCodec>
+ <MediaCodec name="OMX.google.h264.decoder" type="video/avc" update="true">
+ <!-- measured 98%:175-366 med:330 FLAKY(mn=113.4 < 127 - 506) -->
+ <Limit name="measured-frame-rate-320x240" range="253-253" /> <!-- N=88 v98%=1.4 -->
+ <Limit name="measured-frame-rate-720x480" range="93-93" /> <!-- N=88 v98%=1.2 -->
+ <!-- measured 98%:33-43 med:42 FLAKY(mn=17.4 < 19 - 74) -->
+ <Limit name="measured-frame-rate-1280x720" range="37-37" /> <!-- N=88 v98%=1.1 -->
+ <Limit name="measured-frame-rate-1920x1080" range="16-16" /> <!-- N=88 v98%=1.1 -->
</MediaCodec>
<MediaCodec name="OMX.google.hevc.decoder" type="video/hevc" update="true">
- <Limit name="measured-frame-rate-352x288" range="665-665" />
- <Limit name="measured-frame-rate-640x360" range="406-406" />
- <Limit name="measured-frame-rate-1280x720" range="127-127" />
- <Limit name="measured-frame-rate-1920x1080" range="75-75" />
+ <Limit name="measured-frame-rate-352x288" range="205-205" /> <!-- N=88 v98%=1.5 -->
+ <Limit name="measured-frame-rate-640x360" range="99-99" /> <!-- N=88 v98%=1.2 -->
+ <Limit name="measured-frame-rate-720x480" range="83-83" /> <!-- N=88 v98%=1.3 -->
+ <Limit name="measured-frame-rate-1280x720" range="42-42" /> <!-- N=88 v98%=1.1 -->
+ <Limit name="measured-frame-rate-1920x1080" range="24-24" /> <!-- N=88 v98%=1.0 -->
+ </MediaCodec>
+ <MediaCodec name="OMX.google.mpeg4.decoder" type="video/mp4v-es" update="true">
+ <!-- measured 98%:134-383 med:163 FLAKY(81 - 454 < mx=484.0) -->
+ <Limit name="measured-frame-rate-176x144" range="162-227" /> <!-- N=88 v98%=1.7 -->
</MediaCodec>
<MediaCodec name="OMX.google.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
- <Limit name="measured-frame-rate-320x180" range="855-855" />
- <Limit name="measured-frame-rate-640x360" range="256-256" />
- <Limit name="measured-frame-rate-1280x720" range="61-61" />
- <Limit name="measured-frame-rate-1920x1080" range="38-38" />
+ <Limit name="measured-frame-rate-320x180" range="608-608" /> <!-- N=88 v98%=1.5 -->
+ <Limit name="measured-frame-rate-640x360" range="111-174" /> <!-- N=88 v98%=1.6 -->
+ <Limit name="measured-frame-rate-1280x720" range="25-26" /> <!-- N=88 v98%=1.0 -->
+ <Limit name="measured-frame-rate-1920x1080" range="10-13" /> <!-- N=88 v98%=1.3 -->
</MediaCodec>
<MediaCodec name="OMX.google.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
- <Limit name="measured-frame-rate-320x180" range="385-385" />
- <Limit name="measured-frame-rate-640x360" range="337-337" />
- <Limit name="measured-frame-rate-1280x720" range="90-90" />
- <Limit name="measured-frame-rate-1920x1080" range="58-58" />
+ <Limit name="measured-frame-rate-320x180" range="249-249" /> <!-- N=88 v98%=1.1 -->
+ <Limit name="measured-frame-rate-640x360" range="108-108" /> <!-- N=86 v98%=1.0 -->
+ <Limit name="measured-frame-rate-1280x720" range="39-39" /> <!-- N=88 v98%=1.2 -->
+ <Limit name="measured-frame-rate-1920x1080" range="23-23" /> <!-- N=86 v98%=1.1 -->
</MediaCodec>
</Decoders>
</MediaCodecs>
-
diff --git a/mixer_paths.xml b/mixer_paths.xml
index a7d3120..1644b8a 100644
--- a/mixer_paths.xml
+++ b/mixer_paths.xml
@@ -428,6 +428,14 @@
<ctl name="AUDIO_REF_EC_UL1 MUX" value="SEC_AUX_PCM_RX" />
</path>
+ <path name="echo-reference bt-sco">
+ <path name="bt-sco-echo-reference" />
+ </path>
+
+ <path name="echo-reference bt-sco-wb">
+ <path name="bt-sco-echo-reference" />
+ </path>
+
<path name="deep-buffer-playback hdmi">
<ctl name="HDMI Mixer MultiMedia1" value="1" />
</path>
@@ -997,7 +1005,7 @@
</path>
<path name="low-latency-record bt-sco">
- <ctl name="MultiMedia5 Mixer SEC_AUX_PCM_UL_TX" value="1" />
+ <ctl name="MultiMedia5 Mixer SEC_AUX_PCM_TX" value="1" />
</path>
<path name="low-latency-record bt-sco-wb">
@@ -1650,7 +1658,7 @@
<path name="unprocessed-handset-mic">
<path name="dmic1" />
- <ctl name="DEC7 Volume" value="70" />
+ <ctl name="DEC7 Volume" value="76" />
</path>
<path name="camcorder-handset-mic">
@@ -1949,6 +1957,7 @@
<path name="voice-rec-mic">
<path name="handset-mic" />
+ <ctl name="DEC7 Volume" value="82" />
</path>
<path name="unprocessed-mic">
@@ -2349,4 +2358,25 @@
</path>
<!-- voip loopback -->
+ <path name="unprocessed-stereo-mic">
+ <path name="voice-rec-dmic-ef" />
+ <ctl name="DEC7 Volume" value="76" />
+ <ctl name="DEC10 Volume" value="77" />
+ </path>
+
+ <path name="unprocessed-three-mic">
+ <path name="three-mic" />
+ <ctl name="DEC7 Volume" value="76" />
+ <ctl name="DEC10 Volume" value="77" />
+ <ctl name="DEC5 Volume" value="75" />
+ </path>
+
+ <path name="unprocessed-quad-mic">
+ <path name="quad-mic" />
+ </path>
+
+ <path name="unprocessed-headset-mic">
+ <path name="headset-mic" />
+ </path>
+
</mixer>
diff --git a/sepolicy/bluetooth.te b/sepolicy/bluetooth.te
index dfef43f..edab8e0 100644
--- a/sepolicy/bluetooth.te
+++ b/sepolicy/bluetooth.te
@@ -1,4 +1,5 @@
allow bluetooth sysfs:file rw_file_perms;
+allow bluetooth sysfs_usb:file w_file_perms;
allow bluetooth ttyHS0_device:chr_file rw_file_perms;
allow bluetooth start_hci_filter:unix_stream_socket connectto;
diff --git a/sepolicy/domain.te b/sepolicy/domain.te
index ef82827..ee24d7f 100644
--- a/sepolicy/domain.te
+++ b/sepolicy/domain.te
@@ -1,5 +1,5 @@
userdebug_or_eng(`
- allow domain diag_device:chr_file rw_file_perms;
+ allow { domain -appdomain } diag_device:chr_file rw_file_perms;
')
r_dir_file(domain, sysfs_socinfo);
diff --git a/sepolicy/file_contexts b/sepolicy/file_contexts
index 4ff4376..c82c234 100644
--- a/sepolicy/file_contexts
+++ b/sepolicy/file_contexts
@@ -154,6 +154,7 @@
/sys/module/cpu_boost(/.*)? u:object_r:sysfs_devices_system_cpu:s0
/sys/devices/virtual/net/rmnet_ipa0/queues/rx-0/rps_cpus u:object_r:sysfs_devices_system_cpu:s0
/sys/devices/soc\.0/qcom,cpubw\.[0-9]+/devfreq/qcom,cpubw\.[0-9]+(/.*)? u:object_r:sysfs_devices_system_cpu:s0
+/sys/devices/soc\.0/f9200000\.ssusb(/.*)? u:object_r:sysfs_usb:s0
/sys/devices/soc\.0/f9966000\.spi_fpc(/.*)? u:object_r:sysfs_devices_fingerprint:s0
/sys/kernel/range/enable_ps_sensor u:object_r:sysfs_camera:s0
/sys/devices/soc\.0/fd900000\.qcom,mdss_mdp/qcom,mdss_fb_primary\.[0-9]+/leds/lcd-backlight/max_brightness u:object_r:sysfs_thermal:s0
diff --git a/sepolicy/netmgrd.te b/sepolicy/netmgrd.te
index 20a3535..6dbdbb0 100644
--- a/sepolicy/netmgrd.te
+++ b/sepolicy/netmgrd.te
@@ -51,6 +51,7 @@
r_dir_file(netmgrd, sysfs_ssr);
allow netmgrd sysfs:file write;
+allow netmgrd sysfs_usb:file write;
allow netmgrd kernel:system module_request;
diff --git a/sepolicy/wcnss_service.te b/sepolicy/wcnss_service.te
index ae12e55..6a80b39 100644
--- a/sepolicy/wcnss_service.te
+++ b/sepolicy/wcnss_service.te
@@ -10,5 +10,6 @@
allow wcnss_service smem_log_device:chr_file rw_file_perms;
allow wcnss_service self:capability { setuid net_admin setgid };
allow wcnss_service sysfs:file w_file_perms;
+allow wcnss_service sysfs_usb:file w_file_perms;
qmux_socket(wcnss_service)
diff --git a/uinput-fpc.kl b/uinput-fpc.kl
index 0479cf8..2bc2054 100644
--- a/uinput-fpc.kl
+++ b/uinput-fpc.kl
@@ -1,4 +1,4 @@
-key 105 FP_NAV_LEFT
-key 108 FP_NAV_DOWN
-key 103 FP_NAV_UP
-key 106 FP_NAV_RIGHT
+key 105 SYSTEM_NAVIGATION_LEFT
+key 108 SYSTEM_NAVIGATION_DOWN
+key 103 SYSTEM_NAVIGATION_UP
+key 106 SYSTEM_NAVIGATION_RIGHT
diff --git a/voice_processing/voice_processing_descriptors.c b/voice_processing/voice_processing_descriptors.c
index 632fc14..e2a6629 100644
--- a/voice_processing/voice_processing_descriptors.c
+++ b/voice_processing/voice_processing_descriptors.c
@@ -27,7 +27,7 @@
{ 0x7b491460, 0x8d4d, 0x11e0, 0xbd61, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } }, // type
{ 0xd2f1b180, 0x4a8c, 0x11e5, 0x9883, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } }, // uuid
EFFECT_CONTROL_API_VERSION,
- (EFFECT_FLAG_TYPE_PRE_PROC|EFFECT_FLAG_DEVICE_IND),
+ (EFFECT_FLAG_TYPE_PRE_PROC|EFFECT_FLAG_DEVICE_IND|EFFECT_FLAG_HW_ACC_TUNNEL),
0,
0,
"Acoustic Echo Canceler",
@@ -39,7 +39,7 @@
{ 0x58b4b260, 0x8e06, 0x11e0, 0xaa8e, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } }, // type
{ 0x30890b40, 0x4a8d, 0x11e5, 0xb3ee, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } }, // uuid
EFFECT_CONTROL_API_VERSION,
- (EFFECT_FLAG_TYPE_PRE_PROC|EFFECT_FLAG_DEVICE_IND),
+ (EFFECT_FLAG_TYPE_PRE_PROC|EFFECT_FLAG_DEVICE_IND|EFFECT_FLAG_HW_ACC_TUNNEL),
0,
0,
"Noise Suppression",