From b4488af17c8f9a25f0c6309669a4bedd547851e7 Mon Sep 17 00:00:00 2001 From: Iliyan Malchev Date: Wed, 5 Apr 2017 13:26:30 -0700 Subject: [PATCH 1/2] android.hardware.camera.provider@2.4: set up /dev/vndbinder The camera-HAL implementation may need to communicate with other vendor components over /dev/vndbinder. Route all libbinder traffic to that node. b/36651814 b/36651237 b/35870313 b/36683636 Test: sailfish Change-Id: I9b80fefbcdf5ce18a2d788e8582ea8791a604435 Signed-off-by: Iliyan Malchev --- camera/provider/2.4/default/Android.bp | 1 + camera/provider/2.4/default/service.cpp | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/camera/provider/2.4/default/Android.bp b/camera/provider/2.4/default/Android.bp index 950682700c..8e8df62695 100644 --- a/camera/provider/2.4/default/Android.bp +++ b/camera/provider/2.4/default/Android.bp @@ -37,6 +37,7 @@ cc_binary { shared_libs: [ "libhidlbase", "libhidltransport", + "libbinder", "liblog", "libutils", "android.hardware.camera.device@1.0", diff --git a/camera/provider/2.4/default/service.cpp b/camera/provider/2.4/default/service.cpp index df2602efe5..7eeb6379c9 100644 --- a/camera/provider/2.4/default/service.cpp +++ b/camera/provider/2.4/default/service.cpp @@ -19,11 +19,16 @@ #include #include +#include + using android::hardware::camera::provider::V2_4::ICameraProvider; using android::hardware::defaultPassthroughServiceImplementation; int main() { ALOGI("Camera provider Service is starting."); + // The camera HAL may communicate to other vendor components via + // /dev/vndbinder + android::ProcessState::initWithDriver("/dev/vndbinder"); return defaultPassthroughServiceImplementation("legacy/0", /*maxThreads*/ 6); } From f140afe38316c42d637f7fcf729d3a65a991f89c Mon Sep 17 00:00:00 2001 From: Iliyan Malchev Date: Wed, 5 Apr 2017 13:13:09 -0700 Subject: [PATCH 2/2] composer: route binder traffic over vndbinder b/36683636 Hwcomposer is starting binder threads Test: sailfish Change-Id: I28ad19b5036c6fbf514770369888ca11892bf212 Signed-off-by: Iliyan Malchev --- graphics/composer/2.1/default/service.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/graphics/composer/2.1/default/service.cpp b/graphics/composer/2.1/default/service.cpp index 712dac1e6f..aa0604a5a2 100644 --- a/graphics/composer/2.1/default/service.cpp +++ b/graphics/composer/2.1/default/service.cpp @@ -28,6 +28,7 @@ using android::hardware::defaultPassthroughServiceImplementation; int main() { // the conventional HAL might start binder services + android::ProcessState::initWithDriver("/dev/vndbinder"); android::ProcessState::self()->setThreadPoolMaxThreadCount(4); android::ProcessState::self()->startThreadPool();