summaryrefslogtreecommitdiff
path: root/audio/common/all-versions/default/service/service.cpp
diff options
context:
space:
mode:
authorRamjee Singh <ramjee@codeaurora.org>2018-07-26 14:19:01 +0530
committerRamjee Singh <ramjee@codeaurora.org>2018-08-07 14:57:09 +0530
commitf5482fcef5108e7f0ec53e05092da402e3715ff0 (patch)
tree4c33ce7313fb6cdc59aae97c6a317995bb7d8db0 /audio/common/all-versions/default/service/service.cpp
parenteef2062aaee81ad0a0dc2f9aef8e86daf21eadc6 (diff)
audio_hal: Optimize binder buffer allocation.
Optimize binder buffer allocation based on maximum page size observed during peak usage. CRs-Fixed: 2290589 Change-Id: I308f3eaff5ada787426526e1efcc787cd4f12409
Diffstat (limited to 'audio/common/all-versions/default/service/service.cpp')
-rw-r--r--audio/common/all-versions/default/service/service.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/audio/common/all-versions/default/service/service.cpp b/audio/common/all-versions/default/service/service.cpp
index d4a5a4d62d..7648bc527d 100644
--- a/audio/common/all-versions/default/service/service.cpp
+++ b/audio/common/all-versions/default/service/service.cpp
@@ -27,12 +27,30 @@
#include <hidl/HidlTransportSupport.h>
#include <hidl/LegacySupport.h>
#include <com/qualcomm/qti/bluetooth_audio/1.0/IBluetoothAudio.h>
+#include <hwbinder/ProcessState.h>
+#include <cutils/properties.h>
using namespace android::hardware;
using com::qualcomm::qti::bluetooth_audio::V1_0::IBluetoothAudio;
using android::OK;
+
+#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
+
int main(int /* argc */, char* /* argv */ []) {
+#ifdef ARCH_ARM_32
+ android::hardware::ProcessState::initWithMmapSize(getHWBinderMmapSize());
+#endif
android::ProcessState::initWithDriver("/dev/vndbinder");
// start a threadpool for vndbinder interactions
android::ProcessState::self()->startThreadPool();