summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--audio/common/all-versions/default/service/Android.bp37
-rw-r--r--audio/common/all-versions/default/service/android.hardware.audio.service_64.rc9
-rw-r--r--audio/common/all-versions/default/service/service.cpp15
-rw-r--r--boot/1.0/default/Android.bp9
-rw-r--r--boot/1.0/default/service.cpp4
-rw-r--r--camera/common/1.0/default/Android.bp1
-rw-r--r--camera/common/1.0/default/CameraModule.cpp22
-rw-r--r--camera/common/1.0/default/include/CameraModule.h1
-rw-r--r--camera/device/1.0/default/Android.bp6
-rw-r--r--camera/device/1.0/default/CameraDevice.cpp91
-rw-r--r--camera/device/1.0/default/CameraDevice_1_0.h3
-rw-r--r--camera/device/3.2/default/Android.bp1
-rw-r--r--camera/device/3.2/default/CameraDeviceSession.cpp4
-rw-r--r--camera/device/3.2/default/convert.cpp19
-rw-r--r--camera/device/3.3/default/convert.cpp16
-rw-r--r--camera/device/3.4/default/Android.bp2
-rw-r--r--camera/device/3.5/default/Android.bp2
-rw-r--r--camera/device/3.6/default/Android.bp1
-rw-r--r--camera/provider/2.4/default/Android.bp23
-rw-r--r--camera/provider/2.4/default/LegacyCameraProviderImpl_2_4.cpp53
-rw-r--r--camera/provider/2.4/default/LegacyCameraProviderImpl_2_4.h2
-rw-r--r--camera/provider/2.4/default/android.hardware.camera.provider@2.4-service.rc2
-rw-r--r--camera/provider/2.4/default/android.hardware.camera.provider@2.4-service_64.rc2
-rw-r--r--camera/provider/2.5/default/Android.bp16
-rw-r--r--cas/1.0/default/Android.bp6
-rw-r--r--cas/1.0/default/service.cpp7
-rw-r--r--compatibility_matrices/compatibility_matrix.4.xml1
-rw-r--r--compatibility_matrices/compatibility_matrix.5.xml1
-rw-r--r--compatibility_matrices/compatibility_matrix.6.xml1
-rw-r--r--compatibility_matrices/compatibility_matrix.current.xml1
-rw-r--r--graphics/allocator/2.0/default/Android.bp7
-rw-r--r--graphics/allocator/2.0/default/service.cpp5
-rw-r--r--graphics/composer/2.1/default/Android.bp8
-rw-r--r--graphics/composer/2.1/default/android.hardware.graphics.composer@2.1-service.rc1
-rw-r--r--graphics/composer/2.1/default/service.cpp5
-rw-r--r--graphics/composer/2.2/default/android.hardware.graphics.composer@2.2-service.rc1
-rw-r--r--graphics/composer/2.3/default/android.hardware.graphics.composer@2.3-service.rc1
-rw-r--r--graphics/composer/2.3/utils/passthrough/include/composer-passthrough/2.3/HwcHal.h4
-rw-r--r--graphics/composer/2.4/default/android.hardware.graphics.composer@2.4-service.rc1
-rw-r--r--keymaster/4.0/support/include/keymasterV4_0/keymaster_tags.h3
-rw-r--r--light/2.0/default/Android.bp8
-rw-r--r--light/2.0/default/service.cpp4
-rw-r--r--neuralnetworks/1.0/vts/functional/AndroidTest.xml1
-rw-r--r--neuralnetworks/1.1/vts/functional/AndroidTest.xml1
-rw-r--r--neuralnetworks/1.2/vts/functional/AndroidTest.xml1
-rw-r--r--neuralnetworks/1.3/vts/functional/AndroidTest.xml1
-rw-r--r--neuralnetworks/aidl/vts/functional/AndroidTest.xml1
-rw-r--r--power/1.0/default/Android.bp6
-rw-r--r--power/1.0/default/service.cpp6
-rw-r--r--sensors/1.0/default/Android.bp7
-rw-r--r--sensors/1.0/default/android.hardware.sensors@1.0-service.rc2
-rw-r--r--sensors/1.0/default/service.cpp20
-rw-r--r--usb/1.0/default/Usb.cpp15
-rw-r--r--vibrator/1.0/default/Android.bp8
-rw-r--r--vibrator/1.0/default/service.cpp4
55 files changed, 416 insertions, 63 deletions
diff --git a/audio/common/all-versions/default/service/Android.bp b/audio/common/all-versions/default/service/Android.bp
index 1bd6abeb47..863c41b41f 100644
--- a/audio/common/all-versions/default/service/Android.bp
+++ b/audio/common/all-versions/default/service/Android.bp
@@ -40,7 +40,39 @@ cc_binary {
init_rc: ["android.hardware.audio.service.rc"],
relative_install_path: "hw",
vendor: true,
+ srcs: ["service.cpp"],
+
+ cflags: [
+ "-Wall",
+ "-Wextra",
+ "-Werror",
+ ],
+
+ shared_libs: [
+ "libcutils",
+ "libbinder",
+ "libhwbinder",
+ "libhidlbase",
+ "liblog",
+ "libutils",
+ "libhardware",
+ ],
+ arch : {
+ arm : {
+ cflags: [
+ "-DARCH_ARM_32",
+ ]
+ }
+ },
+}
+cc_binary {
+ name: "android.hardware.audio.service_64",
+
+ init_rc: ["android.hardware.audio.service_64.rc"],
+ relative_install_path: "hw",
+ vendor: true,
+ compile_multilib: "64",
srcs: ["service.cpp"],
cflags: [
@@ -52,6 +84,7 @@ cc_binary {
shared_libs: [
"libcutils",
"libbinder",
+ "libhwbinder",
"libhidlbase",
"liblog",
"libutils",
@@ -68,3 +101,7 @@ phony {
name: "android.hardware.audio@2.0-service",
required: ["android.hardware.audio.service"],
}
+phony {
+ name: "android.hardware.audio@2.0-service_64",
+ required: ["android.hardware.audio.service_64"],
+}
diff --git a/audio/common/all-versions/default/service/android.hardware.audio.service_64.rc b/audio/common/all-versions/default/service/android.hardware.audio.service_64.rc
new file mode 100644
index 0000000000..5db2fafe31
--- /dev/null
+++ b/audio/common/all-versions/default/service/android.hardware.audio.service_64.rc
@@ -0,0 +1,9 @@
+service vendor.audio-hal /vendor/bin/hw/android.hardware.audio.service_64
+ class hal
+ user audioserver
+ # media gid needed for /dev/fm (radio) and for /data/misc/media (tee)
+ group audio camera drmrpc inet media mediadrm net_bt net_bt_admin net_bw_acct wakelock context_hub
+ capabilities BLOCK_SUSPEND
+ ioprio rt 4
+ task_profiles ProcessCapacityHigh HighPerformance
+ onrestart restart audioserver
diff --git a/audio/common/all-versions/default/service/service.cpp b/audio/common/all-versions/default/service/service.cpp
index 89585b0620..2b1c1b703b 100644
--- a/audio/common/all-versions/default/service/service.cpp
+++ b/audio/common/all-versions/default/service/service.cpp
@@ -31,6 +31,18 @@ using android::OK;
using InterfacesList = std::vector<std::string>;
+#ifdef ARCH_ARM_32
+//default h/w binder memsize is 1 MB
+#define DEFAULT_HW_BINDER_MEM_SIZE_KB 1024
+
+size_t getHWBinderMmapSize(){
+ int32_t value = DEFAULT_HW_BINDER_MEM_SIZE_KB;
+ value = property_get_int32("persist.vendor.audio.hw.binder.size_kbyte", value);
+ ALOGD("Init hw binder with mem size = %d ", value);
+ return 1024 * value;
+}
+#endif
+
/** Try to register the provided factories in the provided order.
* If any registers successfully, do not register any other and return true.
* If all fail, return false.
@@ -47,6 +59,9 @@ static bool registerPassthroughServiceImplementations(Iter first, Iter last) {
int main(int /* argc */, char* /* argv */ []) {
signal(SIGPIPE, SIG_IGN);
+#ifdef ARCH_ARM_32
+ android::hardware::ProcessState::initWithMmapSize(getHWBinderMmapSize());
+#endif
::android::ProcessState::initWithDriver("/dev/vndbinder");
// start a threadpool for vndbinder interactions
diff --git a/boot/1.0/default/Android.bp b/boot/1.0/default/Android.bp
index b7d2ec8971..10634e8535 100644
--- a/boot/1.0/default/Android.bp
+++ b/boot/1.0/default/Android.bp
@@ -39,6 +39,13 @@ cc_binary {
"libhidlbase",
"libutils",
"android.hardware.boot@1.0",
+ "libhwbinder",
],
-
+ arch: {
+ arm: {
+ cflags: [
+ "-DARCH_ARM_32"
+ ],
+ },
+ },
}
diff --git a/boot/1.0/default/service.cpp b/boot/1.0/default/service.cpp
index f3996efe9c..2b50740f2a 100644
--- a/boot/1.0/default/service.cpp
+++ b/boot/1.0/default/service.cpp
@@ -17,10 +17,14 @@
#include <android/hardware/boot/1.0/IBootControl.h>
#include <hidl/LegacySupport.h>
+#include <hwbinder/ProcessState.h>
using ::android::hardware::boot::V1_0::IBootControl;
using android::hardware::defaultPassthroughServiceImplementation;
int main (int /* argc */, char * /* argv */ []) {
+#ifdef ARCH_ARM_32
+ android::hardware::ProcessState::initWithMmapSize((size_t)8192);
+#endif
return defaultPassthroughServiceImplementation<IBootControl>();
}
diff --git a/camera/common/1.0/default/Android.bp b/camera/common/1.0/default/Android.bp
index 4a5ca83803..0927807b21 100644
--- a/camera/common/1.0/default/Android.bp
+++ b/camera/common/1.0/default/Android.bp
@@ -36,4 +36,5 @@ cc_library_static {
],
include_dirs: ["system/media/private/camera/include"],
export_include_dirs: ["include"],
+ sdclang: false,
}
diff --git a/camera/common/1.0/default/CameraModule.cpp b/camera/common/1.0/default/CameraModule.cpp
index 16fb85cc64..188b4bed27 100644
--- a/camera/common/1.0/default/CameraModule.cpp
+++ b/camera/common/1.0/default/CameraModule.cpp
@@ -267,6 +267,22 @@ int CameraModule::init() {
return res;
}
+int CameraModule::getCameraDeviceVersion(int cameraId, uint32_t* version) {
+ ATRACE_CALL();
+ int ret;
+ if (getModuleApiVersion() >= CAMERA_MODULE_API_VERSION_2_5 &&
+ mModule->get_camera_device_version != NULL) {
+ ret = mModule->get_camera_device_version(cameraId, version);
+ } else {
+ struct camera_info info;
+ ret = getCameraInfo(cameraId, &info);
+ if (ret == OK) {
+ *version = info.device_version;
+ }
+ }
+ return ret;
+}
+
int CameraModule::getCameraInfo(int cameraId, struct camera_info *info) {
ATRACE_CALL();
Mutex::Autolock lock(mCameraInfoLock);
@@ -367,11 +383,9 @@ int CameraModule::getPhysicalCameraInfo(int physicalCameraId, camera_metadata_t
int CameraModule::getDeviceVersion(int cameraId) {
ssize_t index = mDeviceVersionMap.indexOfKey(cameraId);
if (index == NAME_NOT_FOUND) {
- int deviceVersion;
+ uint32_t deviceVersion;
if (getModuleApiVersion() >= CAMERA_MODULE_API_VERSION_2_0) {
- struct camera_info info;
- getCameraInfo(cameraId, &info);
- deviceVersion = info.device_version;
+ getCameraDeviceVersion(cameraId, &deviceVersion);
} else {
deviceVersion = CAMERA_DEVICE_API_VERSION_1_0;
}
diff --git a/camera/common/1.0/default/include/CameraModule.h b/camera/common/1.0/default/include/CameraModule.h
index c89e934655..8195835406 100644
--- a/camera/common/1.0/default/include/CameraModule.h
+++ b/camera/common/1.0/default/include/CameraModule.h
@@ -49,6 +49,7 @@ public:
// Returns OK on success, NO_INIT on failure
int init();
+ int getCameraDeviceVersion(int cameraId, uint32_t* version);
int getCameraInfo(int cameraId, struct camera_info *info);
int getDeviceVersion(int cameraId);
int getNumberOfCameras(void);
diff --git a/camera/device/1.0/default/Android.bp b/camera/device/1.0/default/Android.bp
index 9ff6480d4b..f875d77f68 100644
--- a/camera/device/1.0/default/Android.bp
+++ b/camera/device/1.0/default/Android.bp
@@ -19,6 +19,7 @@ cc_library_shared {
"libhidlmemory",
"libutils",
"android.hardware.camera.device@1.0",
+ "vendor.qti.hardware.camera.device@1.0",
"android.hardware.camera.common@1.0",
"android.hardware.graphics.allocator@2.0",
"android.hardware.graphics.mapper@2.0",
@@ -40,4 +41,9 @@ cc_library_shared {
"media_plugin_headers",
],
export_include_dirs: ["."],
+ sdclang: false, // See b/163842697
+ // Since this platform module has been forked to depend on a vendor
+ // proprietary library, we exclude it from the vendor snapshot so that it
+ // will be built from source as part of the vendor build.
+ exclude_from_vendor_snapshot: true,
}
diff --git a/camera/device/1.0/default/CameraDevice.cpp b/camera/device/1.0/default/CameraDevice.cpp
index 80733d1908..622660685f 100644
--- a/camera/device/1.0/default/CameraDevice.cpp
+++ b/camera/device/1.0/default/CameraDevice.cpp
@@ -433,30 +433,68 @@ void CameraDevice::sDataCb(int32_t msg_type, const camera_memory_t *data, unsign
index, mem->mNumBufs);
return;
}
- if (object->mDeviceCallback != nullptr) {
- CameraFrameMetadata hidlMetadata;
- if (metadata) {
- hidlMetadata.faces.resize(metadata->number_of_faces);
- for (size_t i = 0; i < hidlMetadata.faces.size(); i++) {
- hidlMetadata.faces[i].score = metadata->faces[i].score;
- hidlMetadata.faces[i].id = metadata->faces[i].id;
- for (int k = 0; k < 4; k++) {
- hidlMetadata.faces[i].rect[k] = metadata->faces[i].rect[k];
- }
- for (int k = 0; k < 2; k++) {
- hidlMetadata.faces[i].leftEye[k] = metadata->faces[i].left_eye[k];
- }
- for (int k = 0; k < 2; k++) {
- hidlMetadata.faces[i].rightEye[k] = metadata->faces[i].right_eye[k];
- }
- for (int k = 0; k < 2; k++) {
- hidlMetadata.faces[i].mouth[k] = metadata->faces[i].mouth[k];
- }
- }
- }
- CameraHeapMemory* mem = static_cast<CameraHeapMemory *>(data->handle);
- object->mDeviceCallback->dataCallback(
- (DataCallbackMsg) msg_type, mem->handle.mId, index, hidlMetadata);
+ if(object->mQDeviceCallback != nullptr) {
+ vendor::qti::hardware::camera::device::V1_0::QCameraFrameMetadata hidlMetadata;
+ if (metadata) {
+ hidlMetadata.faces.resize(metadata->number_of_faces);
+ for (size_t i = 0; i < hidlMetadata.faces.size(); i++) {
+ hidlMetadata.faces[i].score = metadata->faces[i].score;
+ hidlMetadata.faces[i].id = metadata->faces[i].id;
+ for (int k = 0; k < 4; k++) {
+ hidlMetadata.faces[i].rect[k] = metadata->faces[i].rect[k];
+ }
+ for (int k = 0; k < 2; k++) {
+ hidlMetadata.faces[i].leftEye[k] = metadata->faces[i].left_eye[k];
+ }
+ for (int k = 0; k < 2; k++) {
+ hidlMetadata.faces[i].rightEye[k] = metadata->faces[i].right_eye[k];
+ }
+ for (int k = 0; k < 2; k++) {
+ hidlMetadata.faces[i].mouth[k] = metadata->faces[i].mouth[k];
+ }
+ hidlMetadata.faces[i].smile_degree = metadata->faces[i].smile_degree;
+ hidlMetadata.faces[i].smile_score = metadata->faces[i].smile_score;
+ hidlMetadata.faces[i].blink_detected = metadata->faces[i].blink_detected;
+ hidlMetadata.faces[i].face_recognised = metadata->faces[i].face_recognised;
+ hidlMetadata.faces[i].gaze_angle = metadata->faces[i].gaze_angle;
+ hidlMetadata.faces[i].updown_dir = metadata->faces[i].updown_dir;
+ hidlMetadata.faces[i].leftright_dir = metadata->faces[i].leftright_dir;
+ hidlMetadata.faces[i].roll_dir = metadata->faces[i].roll_dir;
+ hidlMetadata.faces[i].left_right_gaze = metadata->faces[i].left_right_gaze;
+ hidlMetadata.faces[i].top_bottom_gaze = metadata->faces[i].top_bottom_gaze;
+ hidlMetadata.faces[i].leye_blink = metadata->faces[i].leye_blink;
+ hidlMetadata.faces[i].reye_blink = metadata->faces[i].reye_blink;
+ }
+ }
+ CameraHeapMemory* mem = static_cast<CameraHeapMemory *>(data->handle);
+ object->mQDeviceCallback->QDataCallback(
+ (DataCallbackMsg) msg_type, mem->handle.mId, index, hidlMetadata);
+ } else {
+ if (object->mDeviceCallback != nullptr) {
+ CameraFrameMetadata hidlMetadata;
+ if (metadata) {
+ hidlMetadata.faces.resize(metadata->number_of_faces);
+ for (size_t i = 0; i < hidlMetadata.faces.size(); i++) {
+ hidlMetadata.faces[i].score = metadata->faces[i].score;
+ hidlMetadata.faces[i].id = metadata->faces[i].id;
+ for (int k = 0; k < 4; k++) {
+ hidlMetadata.faces[i].rect[k] = metadata->faces[i].rect[k];
+ }
+ for (int k = 0; k < 2; k++) {
+ hidlMetadata.faces[i].leftEye[k] = metadata->faces[i].left_eye[k];
+ }
+ for (int k = 0; k < 2; k++) {
+ hidlMetadata.faces[i].rightEye[k] = metadata->faces[i].right_eye[k];
+ }
+ for (int k = 0; k < 2; k++) {
+ hidlMetadata.faces[i].mouth[k] = metadata->faces[i].mouth[k];
+ }
+ }
+ }
+ CameraHeapMemory* mem = static_cast<CameraHeapMemory *>(data->handle);
+ object->mDeviceCallback->dataCallback(
+ (DataCallbackMsg) msg_type, mem->handle.mId, index, hidlMetadata);
+ }
}
}
@@ -672,6 +710,11 @@ Return<Status> CameraDevice::open(const sp<ICameraDeviceCallback>& callback) {
initHalPreviewWindow();
mDeviceCallback = callback;
+ mQDeviceCallback =
+ vendor::qti::hardware::camera::device::V1_0::IQCameraDeviceCallback::castFrom(callback);
+ if(mQDeviceCallback == nullptr) {
+ ALOGI("could not cast ICameraDeviceCallback to IQCameraDeviceCallback");
+ }
if (mDevice->ops->set_callbacks) {
mDevice->ops->set_callbacks(mDevice,
diff --git a/camera/device/1.0/default/CameraDevice_1_0.h b/camera/device/1.0/default/CameraDevice_1_0.h
index 2c980f0a8f..e5a194edc5 100644
--- a/camera/device/1.0/default/CameraDevice_1_0.h
+++ b/camera/device/1.0/default/CameraDevice_1_0.h
@@ -24,6 +24,7 @@
#include "HandleImporter.h"
#include <android/hardware/camera/device/1.0/ICameraDevice.h>
+#include <vendor/qti/hardware/camera/device/1.0/IQCameraDeviceCallback.h>
#include <android/hidl/allocator/1.0/IAllocator.h>
#include <android/hidl/memory/1.0/IMemory.h>
#include <hidl/MQDescriptor.h>
@@ -44,6 +45,7 @@ using ::android::hardware::camera::common::V1_0::helper::HandleImporter;
using ::android::hardware::camera::device::V1_0::CameraInfo;
using ::android::hardware::camera::device::V1_0::CommandType;
using ::android::hardware::camera::device::V1_0::ICameraDevice;
+using ::vendor::qti::hardware::camera::device::V1_0::IQCameraDeviceCallback;
using ::android::hardware::camera::device::V1_0::ICameraDeviceCallback;
using ::android::hardware::camera::device::V1_0::ICameraDevicePreviewCallback;
using ::android::hardware::camera::device::V1_0::MemoryId;
@@ -164,6 +166,7 @@ private:
const SortedVector<std::pair<std::string, std::string>>& mCameraDeviceNames;
sp<ICameraDeviceCallback> mDeviceCallback = nullptr;
+ sp<IQCameraDeviceCallback> mQDeviceCallback = nullptr;
mutable Mutex mMemoryMapLock; // gating access to mMemoryMap
// must not hold mLock after this lock is acquired
diff --git a/camera/device/3.2/default/Android.bp b/camera/device/3.2/default/Android.bp
index a1962915ff..d7ad6ad740 100644
--- a/camera/device/3.2/default/Android.bp
+++ b/camera/device/3.2/default/Android.bp
@@ -38,4 +38,5 @@ cc_library_shared {
export_shared_lib_headers: [
"libfmq",
],
+ sdclang: false, // See b/163842697
}
diff --git a/camera/device/3.2/default/CameraDeviceSession.cpp b/camera/device/3.2/default/CameraDeviceSession.cpp
index 769991c5fa..896c35843a 100644
--- a/camera/device/3.2/default/CameraDeviceSession.cpp
+++ b/camera/device/3.2/default/CameraDeviceSession.cpp
@@ -926,12 +926,12 @@ bool CameraDeviceSession::preProcessConfigurationLocked(
mStreamMap[id].data_space);
mCirculatingBuffers.emplace(stream.mId, CirculatingBuffers{});
} else {
- // width/height/format must not change, but usage/rotation might need to change
+ // width/height must not change, but usage/rotation might need to change
+ // format might change and get updated with overrideFormat
if (mStreamMap[id].stream_type !=
(int) requestedConfiguration.streams[i].streamType ||
mStreamMap[id].width != requestedConfiguration.streams[i].width ||
mStreamMap[id].height != requestedConfiguration.streams[i].height ||
- mStreamMap[id].format != (int) requestedConfiguration.streams[i].format ||
mStreamMap[id].data_space !=
mapToLegacyDataspace( static_cast<android_dataspace_t> (
requestedConfiguration.streams[i].dataSpace))) {
diff --git a/camera/device/3.2/default/convert.cpp b/camera/device/3.2/default/convert.cpp
index 06ad7e963c..628b7af912 100644
--- a/camera/device/3.2/default/convert.cpp
+++ b/camera/device/3.2/default/convert.cpp
@@ -66,6 +66,8 @@ void convertFromHidl(const Stream &src, Camera3Stream* dst) {
dst->data_space = (android_dataspace_t) src.dataSpace;
dst->rotation = (int) src.rotation;
dst->usage = (uint32_t) src.usage;
+ dst->reserved[0] = NULL;
+ dst->reserved[1] = NULL;
// Fields to be filled by HAL (max_buffers, priv) are initialized to 0
dst->max_buffers = 0;
dst->priv = 0;
@@ -88,6 +90,23 @@ void convertToHidl(const Camera3Stream* src, HalStream* dst) {
ALOGW("%s: Stream type %d is not currently supported!",
__FUNCTION__, src->stream_type);
}
+
+ HalStream* halStream = NULL;
+ if (src->reserved[0] != NULL) {
+ halStream = (HalStream*)(src->reserved[0]);
+ } else if (src->reserved[1] != NULL) {
+ halStream = (HalStream*)(src->reserved[1]);
+ }
+
+ // Check if overrideFormat is set and honor it
+ if (halStream != NULL) {
+ dst->overrideFormat = (PixelFormat) halStream->overrideFormat;
+ if (src->stream_type == CAMERA3_STREAM_OUTPUT) {
+ dst->producerUsage = (BufferUsageFlags)halStream->producerUsage;
+ } else if (src->stream_type == CAMERA3_STREAM_INPUT) {
+ dst->consumerUsage = (BufferUsageFlags)halStream->consumerUsage;
+ }
+ }
}
void convertToHidl(const camera3_stream_configuration_t& src, HalStreamConfiguration* dst) {
diff --git a/camera/device/3.3/default/convert.cpp b/camera/device/3.3/default/convert.cpp
index dae190b03c..ac17d837d7 100644
--- a/camera/device/3.3/default/convert.cpp
+++ b/camera/device/3.3/default/convert.cpp
@@ -47,6 +47,22 @@ void convertToHidl(const Camera3Stream* src, HalStream* dst) {
ALOGW("%s: Stream type %d is not currently supported!",
__FUNCTION__, src->stream_type);
}
+
+ HalStream* halStream = NULL;
+ if (src->reserved[0] != NULL) {
+ halStream = (HalStream*)(src->reserved[0]);
+ } else if (src->reserved[1] != NULL) {
+ halStream = (HalStream*)(src->reserved[1]);
+ }
+
+ if (halStream != NULL) {
+ dst->v3_2.overrideFormat = (PixelFormat) halStream->v3_2.overrideFormat;
+ if (src->stream_type == CAMERA3_STREAM_OUTPUT) {
+ dst->v3_2.producerUsage = (BufferUsageFlags)halStream->v3_2.producerUsage;
+ } else if (src->stream_type == CAMERA3_STREAM_INPUT) {
+ dst->v3_2.consumerUsage = (BufferUsageFlags)halStream->v3_2.consumerUsage;
+ }
+ }
}
void convertToHidl(const camera3_stream_configuration_t& src, HalStreamConfiguration* dst) {
diff --git a/camera/device/3.4/default/Android.bp b/camera/device/3.4/default/Android.bp
index 9f0c77739a..17bcdbb6d4 100644
--- a/camera/device/3.4/default/Android.bp
+++ b/camera/device/3.4/default/Android.bp
@@ -71,6 +71,7 @@ cc_library_shared {
export_shared_lib_headers: [
"libfmq",
],
+ sdclang: false, // See b/163842697
}
cc_library_shared {
@@ -114,4 +115,5 @@ cc_library_shared {
export_shared_lib_headers: [
"libfmq",
],
+ sdclang: false, // See b/163842697
}
diff --git a/camera/device/3.5/default/Android.bp b/camera/device/3.5/default/Android.bp
index 9d27b321e0..4ed65ba72d 100644
--- a/camera/device/3.5/default/Android.bp
+++ b/camera/device/3.5/default/Android.bp
@@ -68,6 +68,7 @@ cc_library_shared {
"android.hardware.camera.common@1.0-helper",
],
local_include_dirs: ["include/device_v3_5_impl"],
+ sdclang: false, // See b/163842697
}
cc_library_shared {
@@ -112,4 +113,5 @@ cc_library_shared {
export_shared_lib_headers: [
"libfmq",
],
+ sdclang: false, // See b/163842697
}
diff --git a/camera/device/3.6/default/Android.bp b/camera/device/3.6/default/Android.bp
index 89ee145820..0e5440a865 100644
--- a/camera/device/3.6/default/Android.bp
+++ b/camera/device/3.6/default/Android.bp
@@ -74,4 +74,5 @@ cc_library_shared {
export_shared_lib_headers: [
"libfmq",
],
+ sdclang: false, // See b/163842697
}
diff --git a/camera/provider/2.4/default/Android.bp b/camera/provider/2.4/default/Android.bp
index bccd6cb536..76220e2917 100644
--- a/camera/provider/2.4/default/Android.bp
+++ b/camera/provider/2.4/default/Android.bp
@@ -15,6 +15,7 @@ cc_library_shared {
shared_libs: [
"android.hardware.camera.common@1.0",
"android.hardware.camera.device@1.0",
+ "vendor.qti.hardware.camera.device@1.0",
"android.hardware.camera.device@3.2",
"android.hardware.camera.device@3.3",
"android.hardware.camera.device@3.4",
@@ -45,6 +46,11 @@ cc_library_shared {
"camera.device@3.5-impl_headers",
],
export_include_dirs: ["."],
+ sdclang: false, // See b/163842697
+ // Since this framework module has been forked to depend on a vendor
+ // proprietary library, we exclude this module from the vendor snapshot so
+ // that it will be built from source as part of the vendor image build.
+ exclude_from_vendor_snapshot: true,
}
cc_library_shared {
@@ -88,6 +94,10 @@ cc_library_shared {
"camera.device@3.6-external-impl_headers",
],
export_include_dirs: ["."],
+ // Since this framework module has a transitive dependency on a vendor
+ // proprietary library, we exclude this module from the vendor snapshot so
+ // that it will be built from source as part of the vendor image build.
+ exclude_from_vendor_snapshot: true,
}
cc_library_shared {
@@ -136,6 +146,10 @@ cc_library_shared {
"android.hardware.camera.common@1.0-helper",
],
export_include_dirs: ["."],
+ // Since this framework module has a transitive dependency on a vendor
+ // proprietary library, we exclude this module from the vendor snapshot so
+ // that it will be built from source as part of the vendor image build.
+ exclude_from_vendor_snapshot: true,
}
cc_defaults {
@@ -147,6 +161,7 @@ cc_defaults {
shared_libs: [
"android.hardware.camera.common@1.0",
"android.hardware.camera.device@1.0",
+ "vendor.qti.hardware.camera.device@1.0",
"android.hardware.camera.device@3.2",
"android.hardware.camera.device@3.3",
"android.hardware.camera.device@3.4",
@@ -174,6 +189,10 @@ cc_defaults {
"camera.device@3.5-external-impl_headers",
"camera.device@3.5-impl_headers",
],
+ // Since this framework module has been forked to depend on a vendor
+ // proprietary library, we exclude this module from the vendor snapshot so
+ // that it will be built from source as part of the vendor image build.
+ exclude_from_vendor_snapshot: true,
}
cc_binary {
@@ -236,4 +255,8 @@ cc_binary {
"camera.device@3.5-external-impl_headers",
"camera.device@3.5-impl_headers",
],
+ // Since this framework module has a transitive dependency on a vendor
+ // proprietary library, we exclude this module from the vendor snapshot so
+ // that it will be built from source as part of the vendor image build.
+ exclude_from_vendor_snapshot: true,
}
diff --git a/camera/provider/2.4/default/LegacyCameraProviderImpl_2_4.cpp b/camera/provider/2.4/default/LegacyCameraProviderImpl_2_4.cpp
index 7c3b982931..ab97646e32 100644
--- a/camera/provider/2.4/default/LegacyCameraProviderImpl_2_4.cpp
+++ b/camera/provider/2.4/default/LegacyCameraProviderImpl_2_4.cpp
@@ -87,23 +87,32 @@ void LegacyCameraProviderImpl_2_4::addDeviceNames(int camera_id, CameraDeviceSta
if (deviceVersion >= CAMERA_DEVICE_API_VERSION_3_2 &&
mModule->isOpenLegacyDefined()) {
// try open_legacy to see if it actually works
- struct hw_device_t* halDev = nullptr;
- int ret = mModule->openLegacy(cameraId, CAMERA_DEVICE_API_VERSION_1_0, &halDev);
- if (ret == 0) {
- mOpenLegacySupported[cameraIdStr] = true;
- halDev->close(halDev);
- deviceNamePair = std::make_pair(cameraIdStr,
+ if ((property_get_bool("ro.config.low_ram", /*default*/ false))) {
+ deviceNamePair = std::make_pair(cameraIdStr,
getHidlDeviceName(cameraIdStr, CAMERA_DEVICE_API_VERSION_1_0));
- mCameraDeviceNames.add(deviceNamePair);
- if (cam_new) {
- mCallbacks->cameraDeviceStatusChange(deviceNamePair.second, status);
- }
- } else if (ret == -EBUSY || ret == -EUSERS) {
+ mCameraDeviceNames.add(deviceNamePair);
+ if (cam_new) {
+ mCallbacks->cameraDeviceStatusChange(deviceNamePair.second, status);
+ }
+ } else {
+ struct hw_device_t* halDev = nullptr;
+ int ret = mModule->openLegacy(cameraId, CAMERA_DEVICE_API_VERSION_1_0, &halDev);
+ if (ret == 0) {
+ mOpenLegacySupported[cameraIdStr] = true;
+ halDev->close(halDev);
+ deviceNamePair = std::make_pair(cameraIdStr,
+ getHidlDeviceName(cameraIdStr, CAMERA_DEVICE_API_VERSION_1_0));
+ mCameraDeviceNames.add(deviceNamePair);
+ if (cam_new) {
+ mCallbacks->cameraDeviceStatusChange(deviceNamePair.second, status);
+ }
+ } else if (ret == -EBUSY || ret == -EUSERS) {
// Looks like this provider instance is not initialized during
// system startup and there are other camera users already.
// Not a good sign but not fatal.
- ALOGW("%s: open_legacy try failed!", __FUNCTION__);
- }
+ ALOGW("%s: open_legacy try failed!", __FUNCTION__);
+ }
+ }
}
}
@@ -314,15 +323,15 @@ bool LegacyCameraProviderImpl_2_4::initialize() {
mNumberOfLegacyCameras = mModule->getNumberOfCameras();
for (int i = 0; i < mNumberOfLegacyCameras; i++) {
- struct camera_info info;
- auto rc = mModule->getCameraInfo(i, &info);
+ uint32_t device_version;
+ auto rc = mModule->getCameraDeviceVersion(i, &device_version);
if (rc != NO_ERROR) {
- ALOGE("%s: Camera info query failed!", __func__);
+ ALOGE("%s: Camera device version query failed!", __func__);
mModule.clear();
return true;
}
- if (checkCameraVersion(i, info) != OK) {
+ if (checkCameraVersion(i, device_version) != OK) {
ALOGE("%s: Camera version check failed!", __func__);
mModule.clear();
return true;
@@ -342,7 +351,7 @@ bool LegacyCameraProviderImpl_2_4::initialize() {
/**
* Check that the device HAL version is still in supported.
*/
-int LegacyCameraProviderImpl_2_4::checkCameraVersion(int id, camera_info info) {
+int LegacyCameraProviderImpl_2_4::checkCameraVersion(int id, uint32_t device_version) {
if (mModule == nullptr) {
return NO_INIT;
}
@@ -352,7 +361,7 @@ int LegacyCameraProviderImpl_2_4::checkCameraVersion(int id, camera_info info) {
uint16_t moduleVersion = mModule->getModuleApiVersion();
if (moduleVersion >= CAMERA_MODULE_API_VERSION_2_0) {
// Verify the device version is in the supported range
- switch (info.device_version) {
+ switch (device_version) {
case CAMERA_DEVICE_API_VERSION_1_0:
case CAMERA_DEVICE_API_VERSION_3_2:
case CAMERA_DEVICE_API_VERSION_3_3:
@@ -370,7 +379,7 @@ int LegacyCameraProviderImpl_2_4::checkCameraVersion(int id, camera_info info) {
if (moduleVersion < CAMERA_MODULE_API_VERSION_2_5) {
ALOGE("%s: Device %d has unsupported version combination:"
"HAL version %x and module version %x",
- __FUNCTION__, id, info.device_version, moduleVersion);
+ __FUNCTION__, id, device_version, moduleVersion);
return NO_INIT;
}
break;
@@ -380,8 +389,8 @@ int LegacyCameraProviderImpl_2_4::checkCameraVersion(int id, camera_info info) {
case CAMERA_DEVICE_API_VERSION_3_1:
// no longer supported
default:
- ALOGE("%s: Device %d has HAL version %x, which is not supported",
- __FUNCTION__, id, info.device_version);
+ ALOGE("%s: Device %d has HAL version %x, which is not supported", __FUNCTION__, id,
+ device_version);
return NO_INIT;
}
}
diff --git a/camera/provider/2.4/default/LegacyCameraProviderImpl_2_4.h b/camera/provider/2.4/default/LegacyCameraProviderImpl_2_4.h
index b4914b3cfe..9ec5c5e8db 100644
--- a/camera/provider/2.4/default/LegacyCameraProviderImpl_2_4.h
+++ b/camera/provider/2.4/default/LegacyCameraProviderImpl_2_4.h
@@ -97,7 +97,7 @@ protected:
hidl_vec<VendorTagSection> mVendorTagSections;
bool setUpVendorTags();
- int checkCameraVersion(int id, camera_info info);
+ int checkCameraVersion(int id, uint32_t device_version);
// create HIDL device name from camera ID and legacy device version
std::string getHidlDeviceName(std::string cameraId, int deviceVersion);
diff --git a/camera/provider/2.4/default/android.hardware.camera.provider@2.4-service.rc b/camera/provider/2.4/default/android.hardware.camera.provider@2.4-service.rc
index f7ac9f83e4..ff924ed360 100644
--- a/camera/provider/2.4/default/android.hardware.camera.provider@2.4-service.rc
+++ b/camera/provider/2.4/default/android.hardware.camera.provider@2.4-service.rc
@@ -5,4 +5,4 @@ service vendor.camera-provider-2-4 /vendor/bin/hw/android.hardware.camera.provid
group audio camera input drmrpc
ioprio rt 4
capabilities SYS_NICE
- task_profiles CameraServiceCapacity MaxPerformance
+ task_profiles CameraServiceCapacity HighPerformance
diff --git a/camera/provider/2.4/default/android.hardware.camera.provider@2.4-service_64.rc b/camera/provider/2.4/default/android.hardware.camera.provider@2.4-service_64.rc
index a32dd468d3..642e84e5b0 100644
--- a/camera/provider/2.4/default/android.hardware.camera.provider@2.4-service_64.rc
+++ b/camera/provider/2.4/default/android.hardware.camera.provider@2.4-service_64.rc
@@ -5,4 +5,4 @@ service vendor.camera-provider-2-4 /vendor/bin/hw/android.hardware.camera.provid
group audio camera input drmrpc
ioprio rt 4
capabilities SYS_NICE
- task_profiles CameraServiceCapacity MaxPerformance
+ task_profiles CameraServiceCapacity HighPerformance
diff --git a/camera/provider/2.5/default/Android.bp b/camera/provider/2.5/default/Android.bp
index 2fcb35ab00..188b70157a 100644
--- a/camera/provider/2.5/default/Android.bp
+++ b/camera/provider/2.5/default/Android.bp
@@ -44,6 +44,10 @@ cc_library_shared {
"camera.device@3.5-impl_headers",
],
export_include_dirs: ["."],
+ // Since this framework module has a transitive dependency on a vendor
+ // proprietary library, we exclude this module from the vendor snapshot so
+ // that it will be built from source as part of the vendor image build.
+ exclude_from_vendor_snapshot: true,
}
cc_library_shared {
@@ -87,6 +91,10 @@ cc_library_shared {
"camera.device@3.6-external-impl_headers"
],
export_include_dirs: ["."],
+ // Since this framework module has a transitive dependency on a vendor
+ // proprietary library, we exclude this module from the vendor snapshot so
+ // that it will be built from source as part of the vendor image build.
+ exclude_from_vendor_snapshot: true,
}
cc_defaults {
@@ -123,6 +131,10 @@ cc_defaults {
"camera.device@3.4-impl_headers",
"camera.device@3.5-impl_headers"
],
+ // Since this framework module has a transitive dependency on a vendor
+ // proprietary library, we exclude this module from the vendor snapshot so
+ // that it will be built from source as part of the vendor image build.
+ exclude_from_vendor_snapshot: true,
}
cc_binary {
@@ -196,4 +208,8 @@ cc_binary {
"camera.device@3.5-impl_headers",
"camera.device@3.6-external-impl_headers",
],
+ // Since this framework module has a transitive dependency on a vendor
+ // proprietary library, we exclude this module from the vendor snapshot so
+ // that it will be built from source as part of the vendor image build.
+ exclude_from_vendor_snapshot: true,
}
diff --git a/cas/1.0/default/Android.bp b/cas/1.0/default/Android.bp
index fc5b3b4361..a85c5fc230 100644
--- a/cas/1.0/default/Android.bp
+++ b/cas/1.0/default/Android.bp
@@ -33,10 +33,16 @@ cc_defaults {
"liblog",
"libstagefright_foundation",
"libutils",
+ "libhwbinder"
],
header_libs: [
"media_plugin_headers",
],
+ arch: {
+ arm: {
+ cflags: ["-DARCH_ARM_32"],
+ },
+ },
}
cc_binary {
diff --git a/cas/1.0/default/service.cpp b/cas/1.0/default/service.cpp
index 754c0c5af7..dfb385d2a0 100644
--- a/cas/1.0/default/service.cpp
+++ b/cas/1.0/default/service.cpp
@@ -27,6 +27,10 @@
#include "MediaCasService.h"
+#ifdef ARCH_ARM_32
+#include <hwbinder/ProcessState.h>
+#endif
+
using android::hardware::configureRpcThreadpool;
using android::hardware::joinRpcThreadpool;
using android::hardware::LazyServiceRegistrar;
@@ -40,6 +44,9 @@ const bool kLazyService = false;
#endif
int main() {
+ #ifdef ARCH_ARM_32
+ android::hardware::ProcessState::initWithMmapSize((size_t)32768);
+ #endif
configureRpcThreadpool(8, true /* callerWillJoin */);
// Setup hwbinder service
diff --git a/compatibility_matrices/compatibility_matrix.4.xml b/compatibility_matrices/compatibility_matrix.4.xml
index 96f291ff83..272b870efa 100644
--- a/compatibility_matrices/compatibility_matrix.4.xml
+++ b/compatibility_matrices/compatibility_matrix.4.xml
@@ -502,6 +502,7 @@
<interface>
<name>IHostapd</name>
<instance>default</instance>
+ <instance>wigighostapd</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
diff --git a/compatibility_matrices/compatibility_matrix.5.xml b/compatibility_matrices/compatibility_matrix.5.xml
index 3642814f7e..c6c3ee7c69 100644
--- a/compatibility_matrices/compatibility_matrix.5.xml
+++ b/compatibility_matrices/compatibility_matrix.5.xml
@@ -551,6 +551,7 @@
<interface>
<name>IHostapd</name>
<instance>default</instance>
+ <instance>wigighostapd</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
diff --git a/compatibility_matrices/compatibility_matrix.6.xml b/compatibility_matrices/compatibility_matrix.6.xml
index 9c42cb0647..58f73a67a9 100644
--- a/compatibility_matrices/compatibility_matrix.6.xml
+++ b/compatibility_matrices/compatibility_matrix.6.xml
@@ -641,6 +641,7 @@
<interface>
<name>IHostapd</name>
<instance>default</instance>
+ <instance>wigighostapd</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
diff --git a/compatibility_matrices/compatibility_matrix.current.xml b/compatibility_matrices/compatibility_matrix.current.xml
index 3d2ef2c80e..7a70f10cf6 100644
--- a/compatibility_matrices/compatibility_matrix.current.xml
+++ b/compatibility_matrices/compatibility_matrix.current.xml
@@ -798,6 +798,7 @@
<interface>
<name>IHostapd</name>
<instance>default</instance>
+ <instance>wigighostapd</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
diff --git a/graphics/allocator/2.0/default/Android.bp b/graphics/allocator/2.0/default/Android.bp
index 4d17dc3a1b..47c34849c1 100644
--- a/graphics/allocator/2.0/default/Android.bp
+++ b/graphics/allocator/2.0/default/Android.bp
@@ -42,4 +42,11 @@ cc_binary {
"liblog",
"libutils",
],
+ arch: {
+ arm: {
+ cflags: [
+ "-DARCH_ARM_32"
+ ],
+ },
+ },
}
diff --git a/graphics/allocator/2.0/default/service.cpp b/graphics/allocator/2.0/default/service.cpp
index bc0539a617..ca1fee4f2d 100644
--- a/graphics/allocator/2.0/default/service.cpp
+++ b/graphics/allocator/2.0/default/service.cpp
@@ -19,10 +19,15 @@
#include <android/hardware/graphics/allocator/2.0/IAllocator.h>
#include <hidl/LegacySupport.h>
+#include <hwbinder/ProcessState.h>
using android::hardware::defaultPassthroughServiceImplementation;
using android::hardware::graphics::allocator::V2_0::IAllocator;
int main() {
+
+#ifdef ARCH_ARM_32
+ android::hardware::ProcessState::initWithMmapSize((size_t)(32768));
+#endif
return defaultPassthroughServiceImplementation<IAllocator>(4);
}
diff --git a/graphics/composer/2.1/default/Android.bp b/graphics/composer/2.1/default/Android.bp
index 96fea4e6cd..3744469e21 100644
--- a/graphics/composer/2.1/default/Android.bp
+++ b/graphics/composer/2.1/default/Android.bp
@@ -22,6 +22,7 @@ cc_binary {
"android.hardware.graphics.composer@2.1-resources",
"libbase",
"libbinder",
+ "libhwbinder",
"libcutils",
"libfmq",
"libhardware",
@@ -32,4 +33,11 @@ cc_binary {
"libsync",
"libutils",
],
+ arch: {
+ arm: {
+ cflags: [
+ "-DARCH_ARM_32"
+ ],
+ },
+ },
}
diff --git a/graphics/composer/2.1/default/android.hardware.graphics.composer@2.1-service.rc b/graphics/composer/2.1/default/android.hardware.graphics.composer@2.1-service.rc
index c8fccdce20..6dbd0f935a 100644
--- a/graphics/composer/2.1/default/android.hardware.graphics.composer@2.1-service.rc
+++ b/graphics/composer/2.1/default/android.hardware.graphics.composer@2.1-service.rc
@@ -6,3 +6,4 @@ service vendor.hwcomposer-2-1 /vendor/bin/hw/android.hardware.graphics.composer@
capabilities SYS_NICE
onrestart restart surfaceflinger
task_profiles ServiceCapacityLow
+ socket pps stream 0660 system system
diff --git a/graphics/composer/2.1/default/service.cpp b/graphics/composer/2.1/default/service.cpp
index 1276d2df7e..b8ddd212a4 100644
--- a/graphics/composer/2.1/default/service.cpp
+++ b/graphics/composer/2.1/default/service.cpp
@@ -23,6 +23,7 @@
#include <binder/ProcessState.h>
#include <composer-passthrough/2.1/HwcLoader.h>
#include <hidl/LegacySupport.h>
+#include <hwbinder/ProcessState.h>
using android::hardware::graphics::composer::V2_1::IComposer;
using android::hardware::graphics::composer::V2_1::passthrough::HwcLoader;
@@ -41,6 +42,10 @@ int main() {
ALOGE("Couldn't set SCHED_FIFO: %d", errno);
}
+#ifdef ARCH_ARM_32
+ android::hardware::ProcessState::initWithMmapSize((size_t)(32768));
+#endif
+
android::hardware::configureRpcThreadpool(4, true /* will join */);
android::sp<IComposer> composer = HwcLoader::load();
diff --git a/graphics/composer/2.2/default/android.hardware.graphics.composer@2.2-service.rc b/graphics/composer/2.2/default/android.hardware.graphics.composer@2.2-service.rc
index 7714119993..ddb5e8f5b0 100644
--- a/graphics/composer/2.2/default/android.hardware.graphics.composer@2.2-service.rc
+++ b/graphics/composer/2.2/default/android.hardware.graphics.composer@2.2-service.rc
@@ -4,4 +4,5 @@ service vendor.hwcomposer-2-2 /vendor/bin/hw/android.hardware.graphics.composer@
group graphics drmrpc
capabilities SYS_NICE
onrestart restart surfaceflinger
+ socket pps stream 0660 system system
task_profiles ServiceCapacityLow
diff --git a/graphics/composer/2.3/default/android.hardware.graphics.composer@2.3-service.rc b/graphics/composer/2.3/default/android.hardware.graphics.composer@2.3-service.rc
index d3835a4121..9b941539c2 100644
--- a/graphics/composer/2.3/default/android.hardware.graphics.composer@2.3-service.rc
+++ b/graphics/composer/2.3/default/android.hardware.graphics.composer@2.3-service.rc
@@ -4,4 +4,5 @@ service vendor.hwcomposer-2-3 /vendor/bin/hw/android.hardware.graphics.composer@
group graphics drmrpc
capabilities SYS_NICE
onrestart restart surfaceflinger
+ socket pps stream 0660 system system
task_profiles ServiceCapacityLow
diff --git a/graphics/composer/2.3/utils/passthrough/include/composer-passthrough/2.3/HwcHal.h b/graphics/composer/2.3/utils/passthrough/include/composer-passthrough/2.3/HwcHal.h
index e0e1394027..19c4653e0f 100644
--- a/graphics/composer/2.3/utils/passthrough/include/composer-passthrough/2.3/HwcHal.h
+++ b/graphics/composer/2.3/utils/passthrough/include/composer-passthrough/2.3/HwcHal.h
@@ -222,6 +222,10 @@ class HwcHalImpl : public V2_2::passthrough::detail::HwcHalImpl<Hal> {
Error getDisplayCapabilities(
Display display,
std::vector<IComposerClient::DisplayCapability>* outCapabilities) override {
+ if (!mDispatch.getDisplayCapabilities) {
+ return Error::UNSUPPORTED;
+ }
+
uint32_t count = 0;
int32_t error = mDispatch.getDisplayCapabilities(mDevice, display, &count, nullptr);
if (error != HWC2_ERROR_NONE) {
diff --git a/graphics/composer/2.4/default/android.hardware.graphics.composer@2.4-service.rc b/graphics/composer/2.4/default/android.hardware.graphics.composer@2.4-service.rc
index d82dcd92f0..06003b02b3 100644
--- a/graphics/composer/2.4/default/android.hardware.graphics.composer@2.4-service.rc
+++ b/graphics/composer/2.4/default/android.hardware.graphics.composer@2.4-service.rc
@@ -5,3 +5,4 @@ service vendor.hwcomposer-2-4 /vendor/bin/hw/android.hardware.graphics.composer@
capabilities SYS_NICE
onrestart restart surfaceflinger
task_profiles ServiceCapacityLow
+ socket pps stream 0660 system system
diff --git a/keymaster/4.0/support/include/keymasterV4_0/keymaster_tags.h b/keymaster/4.0/support/include/keymasterV4_0/keymaster_tags.h
index ea40971898..d7358f36f3 100644
--- a/keymaster/4.0/support/include/keymasterV4_0/keymaster_tags.h
+++ b/keymaster/4.0/support/include/keymasterV4_0/keymaster_tags.h
@@ -73,6 +73,9 @@ namespace V4_0 {
static const int32_t KM_TAG_DIGEST_OLD = static_cast<int32_t>(TagType::ENUM) | 5;
static const int32_t KM_TAG_PADDING_OLD = static_cast<int32_t>(TagType::ENUM) | 7;
+static const int32_t KM_TAG_FBE_ICE = static_cast<int32_t>(TagType::BOOL) | 16201;
+static const int32_t KM_TAG_KEY_TYPE = static_cast<int32_t>(TagType::UINT) | 16202;
+
constexpr TagType typeFromTag(Tag tag) {
return static_cast<TagType>(static_cast<uint32_t>(tag) & static_cast<uint32_t>(0xf0000000));
}
diff --git a/light/2.0/default/Android.bp b/light/2.0/default/Android.bp
index 2745f3d8be..e3e7e5b0ca 100644
--- a/light/2.0/default/Android.bp
+++ b/light/2.0/default/Android.bp
@@ -50,10 +50,18 @@ cc_defaults {
"libbase",
"libdl",
"libutils",
+ "libhwbinder",
"libhardware",
"libhidlbase",
"android.hardware.light@2.0",
],
+ arch: {
+ arm: {
+ cflags: [
+ "-DARCH_ARM_32"
+ ],
+ },
+ },
}
cc_binary {
diff --git a/light/2.0/default/service.cpp b/light/2.0/default/service.cpp
index 20f0578f02..b50a2034f4 100644
--- a/light/2.0/default/service.cpp
+++ b/light/2.0/default/service.cpp
@@ -16,10 +16,14 @@
#include <android/hardware/light/2.0/ILight.h>
#include <hidl/LegacySupport.h>
+#include <hwbinder/ProcessState.h>
using android::hardware::light::V2_0::ILight;
using android::hardware::defaultPassthroughServiceImplementation;
int main() {
+#ifdef ARCH_ARM_32
+ android::hardware::ProcessState::initWithMmapSize((size_t)(32768));
+#endif
return defaultPassthroughServiceImplementation<ILight>();
}
diff --git a/neuralnetworks/1.0/vts/functional/AndroidTest.xml b/neuralnetworks/1.0/vts/functional/AndroidTest.xml
index 8f56ff9c1f..9dd85ae7f1 100644
--- a/neuralnetworks/1.0/vts/functional/AndroidTest.xml
+++ b/neuralnetworks/1.0/vts/functional/AndroidTest.xml
@@ -29,6 +29,5 @@
<option name="native-test-device-path" value="/data/local/tmp" />
<option name="module-name" value="VtsHalNeuralnetworksV1_0TargetTest" />
<option name="native-test-timeout" value="20m" />
- <option name="native-test-flag" value="--gtest_break_on_failure" />
</test>
</configuration>
diff --git a/neuralnetworks/1.1/vts/functional/AndroidTest.xml b/neuralnetworks/1.1/vts/functional/AndroidTest.xml
index 956933362f..74001f924e 100644
--- a/neuralnetworks/1.1/vts/functional/AndroidTest.xml
+++ b/neuralnetworks/1.1/vts/functional/AndroidTest.xml
@@ -29,6 +29,5 @@
<option name="native-test-device-path" value="/data/local/tmp" />
<option name="module-name" value="VtsHalNeuralnetworksV1_1TargetTest" />
<option name="native-test-timeout" value="20m" />
- <option name="native-test-flag" value="--gtest_break_on_failure" />
</test>
</configuration>
diff --git a/neuralnetworks/1.2/vts/functional/AndroidTest.xml b/neuralnetworks/1.2/vts/functional/AndroidTest.xml
index c28b2e2d3c..5396d85928 100644
--- a/neuralnetworks/1.2/vts/functional/AndroidTest.xml
+++ b/neuralnetworks/1.2/vts/functional/AndroidTest.xml
@@ -29,6 +29,5 @@
<option name="native-test-device-path" value="/data/local/tmp" />
<option name="module-name" value="VtsHalNeuralnetworksV1_2TargetTest" />
<option name="native-test-timeout" value="20m" />
- <option name="native-test-flag" value="--gtest_break_on_failure" />
</test>
</configuration>
diff --git a/neuralnetworks/1.3/vts/functional/AndroidTest.xml b/neuralnetworks/1.3/vts/functional/AndroidTest.xml
index d1cba6ac54..c418aaaddc 100644
--- a/neuralnetworks/1.3/vts/functional/AndroidTest.xml
+++ b/neuralnetworks/1.3/vts/functional/AndroidTest.xml
@@ -29,6 +29,5 @@
<option name="native-test-device-path" value="/data/local/tmp" />
<option name="module-name" value="VtsHalNeuralnetworksV1_3TargetTest" />
<option name="native-test-timeout" value="20m" />
- <option name="native-test-flag" value="--gtest_break_on_failure" />
</test>
</configuration>
diff --git a/neuralnetworks/aidl/vts/functional/AndroidTest.xml b/neuralnetworks/aidl/vts/functional/AndroidTest.xml
index 204d8f1117..384d42078f 100644
--- a/neuralnetworks/aidl/vts/functional/AndroidTest.xml
+++ b/neuralnetworks/aidl/vts/functional/AndroidTest.xml
@@ -29,6 +29,5 @@
<option name="native-test-device-path" value="/data/local/tmp" />
<option name="module-name" value="VtsHalNeuralnetworksTargetTest" />
<option name="native-test-timeout" value="20m" />
- <option name="native-test-flag" value="--gtest_break_on_failure" />
</test>
</configuration>
diff --git a/power/1.0/default/Android.bp b/power/1.0/default/Android.bp
index a64b15ca97..d99ef9d833 100644
--- a/power/1.0/default/Android.bp
+++ b/power/1.0/default/Android.bp
@@ -63,6 +63,12 @@ cc_binary {
"libhardware",
"libhidlbase",
"android.hardware.power@1.0",
+ "libhwbinder"
],
+ arch: {
+ arm: {
+ cflags: ["-DARCH_ARM_32"],
+ },
+ },
}
diff --git a/power/1.0/default/service.cpp b/power/1.0/default/service.cpp
index e8618b84e8..d5619192bb 100644
--- a/power/1.0/default/service.cpp
+++ b/power/1.0/default/service.cpp
@@ -18,10 +18,16 @@
#include <android/hardware/power/1.0/IPower.h>
#include <hidl/LegacySupport.h>
+#ifdef ARCH_ARM_32
+#include <hwbinder/ProcessState.h>
+#endif
using android::hardware::power::V1_0::IPower;
using android::hardware::defaultPassthroughServiceImplementation;
int main() {
+ #ifdef ARCH_ARM_32
+ android::hardware::ProcessState::initWithMmapSize((size_t)16384);
+ #endif
return defaultPassthroughServiceImplementation<IPower>();
}
diff --git a/sensors/1.0/default/Android.bp b/sensors/1.0/default/Android.bp
index 2e4e1b015c..b2d3c49cf2 100644
--- a/sensors/1.0/default/Android.bp
+++ b/sensors/1.0/default/Android.bp
@@ -55,6 +55,7 @@ cc_binary {
relative_install_path: "hw",
vendor: true,
init_rc: ["android.hardware.sensors@1.0-service.rc"],
+ defaults: ["hidl_defaults"],
srcs: ["service.cpp"],
shared_libs: [
@@ -65,5 +66,11 @@ cc_binary {
"libutils",
"libhidlbase",
"android.hardware.sensors@1.0",
+ "libhwbinder",
],
+ arch: {
+ arm: {
+ cflags: ["-DARCH_ARM_32"],
+ },
+ },
}
diff --git a/sensors/1.0/default/android.hardware.sensors@1.0-service.rc b/sensors/1.0/default/android.hardware.sensors@1.0-service.rc
index 1af6d0b08c..e029bb8f72 100644
--- a/sensors/1.0/default/android.hardware.sensors@1.0-service.rc
+++ b/sensors/1.0/default/android.hardware.sensors@1.0-service.rc
@@ -2,6 +2,6 @@ service vendor.sensors-hal-1-0 /vendor/bin/hw/android.hardware.sensors@1.0-servi
interface android.hardware.sensors@1.0::ISensors default
class hal
user system
- group system wakelock uhid context_hub
+ group system wakelock uhid input context_hub
capabilities BLOCK_SUSPEND
rlimit rtprio 10 10
diff --git a/sensors/1.0/default/service.cpp b/sensors/1.0/default/service.cpp
index 65f6d816a1..c413d1a0e0 100644
--- a/sensors/1.0/default/service.cpp
+++ b/sensors/1.0/default/service.cpp
@@ -19,10 +19,30 @@
#include <android/hardware/sensors/1.0/ISensors.h>
#include <hidl/LegacySupport.h>
+#ifdef ARCH_ARM_32
+#include <hwbinder/ProcessState.h>
+#include <cutils/properties.h>
+#endif
+
using android::hardware::sensors::V1_0::ISensors;
using android::hardware::defaultPassthroughServiceImplementation;
+#ifdef ARCH_ARM_32
+//default h/w binder memsize for sensors is 8 KB
+#define DEFAULT_SENSORS_HW_BINDER_MEM_SIZE_KB 8
+size_t getHWBinderMmapSize() {
+ int32_t value = DEFAULT_SENSORS_HW_BINDER_MEM_SIZE_KB;
+
+ value = property_get_int32("persist.vendor.sensor.hw.binder.size", value);
+ ALOGD("Init hw binder with mem size = %d", value);
+ return 1024 * value;
+}
+#endif
+
int main() {
+#ifdef ARCH_ARM_32
+ android::hardware::ProcessState::initWithMmapSize((size_t)getHWBinderMmapSize());
+#endif
/* Sensors framework service needs at least two threads.
* One thread blocks on a "poll"
* The second thread is needed for all other HAL methods.
diff --git a/usb/1.0/default/Usb.cpp b/usb/1.0/default/Usb.cpp
index 6eb88428c9..f72ab9cb39 100644
--- a/usb/1.0/default/Usb.cpp
+++ b/usb/1.0/default/Usb.cpp
@@ -206,6 +206,19 @@ rescan:
bool canSwitchRoleHelper(const std::string portName, PortRoleType type) {
std::string filename = appendRoleNodeHelper(portName, type);
+
+ if (type == PortRoleType::DATA_ROLE || type == PortRoleType::POWER_ROLE) {
+ std::string pd_filename = "/sys/class/power_supply/usb/pd_active";
+ std::string pd_active;
+
+ if (!readFile(pd_filename, pd_active)) {
+ if (pd_active == "0")
+ return false;
+ } else {
+ ALOGE("canSwitchRoleHelper: couldn't read %s", pd_filename.c_str());
+ }
+ }
+
std::ofstream file(filename);
if (file.is_open()) {
@@ -396,7 +409,7 @@ void* work(void* param) {
for (int n = 0; n < nevents; ++n) {
if (events[n].data.ptr)
- (*(void (*)(int, struct data *payload))events[n].data.ptr)
+ (*(void (*)(uint32_t, struct data *payload))events[n].data.ptr)
(events[n].events, &payload);
}
}
diff --git a/vibrator/1.0/default/Android.bp b/vibrator/1.0/default/Android.bp
index ed750b453b..d495f711d3 100644
--- a/vibrator/1.0/default/Android.bp
+++ b/vibrator/1.0/default/Android.bp
@@ -51,5 +51,13 @@ cc_binary {
"libutils",
"libhardware",
"android.hardware.vibrator@1.0",
+ "libhwbinder",
],
+ arch: {
+ arm: {
+ cflags: [
+ "-DARCH_ARM_32"
+ ],
+ },
+ },
}
diff --git a/vibrator/1.0/default/service.cpp b/vibrator/1.0/default/service.cpp
index 7cc074461d..b626056990 100644
--- a/vibrator/1.0/default/service.cpp
+++ b/vibrator/1.0/default/service.cpp
@@ -17,10 +17,14 @@
#include <android/hardware/vibrator/1.0/IVibrator.h>
#include <hidl/LegacySupport.h>
+#include <hwbinder/ProcessState.h>
using android::hardware::vibrator::V1_0::IVibrator;
using android::hardware::defaultPassthroughServiceImplementation;
int main() {
+#ifdef ARCH_ARM_32
+ android::hardware::ProcessState::initWithMmapSize((size_t)8192);
+#endif
return defaultPassthroughServiceImplementation<IVibrator>();
}