aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnthony Stange <stange@google.com>2019-05-06 19:02:56 -0400
committerAnthony Stange <stange@google.com>2019-05-06 19:24:26 -0400
commit8d869252130c40dee3165123827fe2a75d8ea291 (patch)
tree6b50f69cd1744ccd4d940829fe41f415d51cb0c6
parenta313366b5a7d3574dec74c5685d5bd46b8938832 (diff)
downloadchre-8d869252130c40dee3165123827fe2a75d8ea291.tar.gz
Allow disabling usage of sns_client_thread_util
sns_client_thread_util isn't available on all devices so this CL removes the requirement that it be available when building CHRE. Bug: 131912580 Test: compile with flag enabled and disabled. Change-Id: Ie769b9b3a89522998eb9f0c56ae002bed70b1933
-rw-r--r--build/variant/google_hexagonv65_adsp-see-uimg.mk1
-rw-r--r--build/variant/google_hexagonv65_adsp-see.mk1
-rw-r--r--build/variant/google_hexagonv65_slpi-see-uimg.mk1
-rw-r--r--build/variant/google_hexagonv65_slpi-see.mk1
-rw-r--r--build/variant/google_hexagonv66_slpi-see-uimg.mk1
-rw-r--r--build/variant/google_hexagonv66_slpi-see.mk1
-rw-r--r--platform/slpi/see/include/chre/target_platform/power_control_manager_base.h4
-rw-r--r--platform/slpi/see/power_control_manager.cc6
8 files changed, 16 insertions, 0 deletions
diff --git a/build/variant/google_hexagonv65_adsp-see-uimg.mk b/build/variant/google_hexagonv65_adsp-see-uimg.mk
index 5018f483..66afee3b 100644
--- a/build/variant/google_hexagonv65_adsp-see-uimg.mk
+++ b/build/variant/google_hexagonv65_adsp-see-uimg.mk
@@ -11,6 +11,7 @@ TARGET_NAME = google_hexagonv65_adsp-see-uimg
TARGET_CFLAGS = -DCHRE_MESSAGE_TO_HOST_MAX_SIZE=4000
TARGET_CFLAGS += -DUIMG_DL_VER_MAJOR=2
TARGET_CFLAGS += -DCHRE_SLPI_UIMG_ENABLED
+TARGET_CFLAGS += -DCHRE_THREAD_UTIL_ENABLED
TARGET_CFLAGS += $(GOOGLE_HEXAGONV65_ADSP-SEE-UIMG_CFLAGS)
TARGET_VARIANT_SRCS = $(GOOGLE_HEXAGONV65_ADSP-SEE-UIMG_SRCS)
TARGET_SO_LATE_LIBS = $(GOOGLE_HEXAGONV65_ADSP-SEE-UIMG_LATE_LIBS)
diff --git a/build/variant/google_hexagonv65_adsp-see.mk b/build/variant/google_hexagonv65_adsp-see.mk
index 78f18ad2..92157d63 100644
--- a/build/variant/google_hexagonv65_adsp-see.mk
+++ b/build/variant/google_hexagonv65_adsp-see.mk
@@ -9,6 +9,7 @@ TARGET_NAME = google_hexagonv65_adsp-see
# FlatBuffer overhead (max 80 bytes), minus some extra space to make a nice
# round number and allow for addition of new fields to the FlatBuffer
TARGET_CFLAGS = -DCHRE_MESSAGE_TO_HOST_MAX_SIZE=4000
+TARGET_CFLAGS += -DCHRE_THREAD_UTIL_ENABLED
TARGET_CFLAGS += $(GOOGLE_HEXAGONV65_ADSP-SEE_CFLAGS)
TARGET_VARIANT_SRCS = $(GOOGLE_HEXAGONV65_ADSP-SEE_SRCS)
TARGET_SO_LATE_LIBS = $(GOOGLE_HEXAGONV65_ADSP-SEE_LATE_LIBS)
diff --git a/build/variant/google_hexagonv65_slpi-see-uimg.mk b/build/variant/google_hexagonv65_slpi-see-uimg.mk
index c7b5faa8..e17d996c 100644
--- a/build/variant/google_hexagonv65_slpi-see-uimg.mk
+++ b/build/variant/google_hexagonv65_slpi-see-uimg.mk
@@ -11,6 +11,7 @@ TARGET_NAME = google_hexagonv65_slpi-see-uimg
TARGET_CFLAGS = -DCHRE_MESSAGE_TO_HOST_MAX_SIZE=4000
TARGET_CFLAGS += -DUIMG_DL_VER_MAJOR=2
TARGET_CFLAGS += -DCHRE_SLPI_UIMG_ENABLED
+TARGET_CFLAGS += -DCHRE_THREAD_UTIL_ENABLED
TARGET_CFLAGS += $(GOOGLE_HEXAGONV65_SLPI-SEE-UIMG_CFLAGS)
TARGET_VARIANT_SRCS = $(GOOGLE_HEXAGONV65_SLPI-SEE-UIMG_SRCS)
TARGET_SO_LATE_LIBS = $(GOOGLE_HEXAGONV65_SLPI-SEE-UIMG_LATE_LIBS)
diff --git a/build/variant/google_hexagonv65_slpi-see.mk b/build/variant/google_hexagonv65_slpi-see.mk
index a8bca406..9aed1f39 100644
--- a/build/variant/google_hexagonv65_slpi-see.mk
+++ b/build/variant/google_hexagonv65_slpi-see.mk
@@ -9,6 +9,7 @@ TARGET_NAME = google_hexagonv65_slpi-see
# FlatBuffer overhead (max 80 bytes), minus some extra space to make a nice
# round number and allow for addition of new fields to the FlatBuffer
TARGET_CFLAGS = -DCHRE_MESSAGE_TO_HOST_MAX_SIZE=4000
+TARGET_CFLAGS += -DCHRE_THREAD_UTIL_ENABLED
TARGET_CFLAGS += $(GOOGLE_HEXAGONV65_SLPI-SEE_CFLAGS)
TARGET_VARIANT_SRCS = $(GOOGLE_HEXAGONV65_SLPI-SEE_SRCS)
TARGET_SO_LATE_LIBS = $(GOOGLE_HEXAGONV65_SLPI-SEE_LATE_LIBS)
diff --git a/build/variant/google_hexagonv66_slpi-see-uimg.mk b/build/variant/google_hexagonv66_slpi-see-uimg.mk
index 1c131cb9..acc7e5d1 100644
--- a/build/variant/google_hexagonv66_slpi-see-uimg.mk
+++ b/build/variant/google_hexagonv66_slpi-see-uimg.mk
@@ -11,6 +11,7 @@ TARGET_NAME = google_hexagonv66_slpi-see-uimg
TARGET_CFLAGS = -DCHRE_MESSAGE_TO_HOST_MAX_SIZE=4000
TARGET_CFLAGS += -DUIMG_DL_VER_MAJOR=2
TARGET_CFLAGS += -DCHRE_SLPI_UIMG_ENABLED
+TARGET_CFLAGS += -DCHRE_THREAD_UTIL_ENABLED
TARGET_CFLAGS += $(GOOGLE_HEXAGONV66_SLPI-SEE-UIMG_CFLAGS)
TARGET_VARIANT_SRCS = $(GOOGLE_HEXAGONV66_SLPI-SEE-UIMG_SRCS)
TARGET_SO_LATE_LIBS = $(GOOGLE_HEXAGONV66_SLPI-SEE-UIMG_LATE_LIBS)
diff --git a/build/variant/google_hexagonv66_slpi-see.mk b/build/variant/google_hexagonv66_slpi-see.mk
index 9bf36799..1006c096 100644
--- a/build/variant/google_hexagonv66_slpi-see.mk
+++ b/build/variant/google_hexagonv66_slpi-see.mk
@@ -9,6 +9,7 @@ TARGET_NAME = google_hexagonv66_slpi-see
# FlatBuffer overhead (max 80 bytes), minus some extra space to make a nice
# round number and allow for addition of new fields to the FlatBuffer
TARGET_CFLAGS = -DCHRE_MESSAGE_TO_HOST_MAX_SIZE=4000
+TARGET_CFLAGS += -DCHRE_THREAD_UTIL_ENABLED
TARGET_CFLAGS += $(GOOGLE_HEXAGONV66_SLPI-SEE_CFLAGS)
TARGET_VARIANT_SRCS = $(GOOGLE_HEXAGONV66_SLPI-SEE_SRCS)
TARGET_SO_LATE_LIBS = $(GOOGLE_HEXAGONV66_SLPI-SEE_LATE_LIBS)
diff --git a/platform/slpi/see/include/chre/target_platform/power_control_manager_base.h b/platform/slpi/see/include/chre/target_platform/power_control_manager_base.h
index 22cdba47..0d10d38c 100644
--- a/platform/slpi/see/include/chre/target_platform/power_control_manager_base.h
+++ b/platform/slpi/see/include/chre/target_platform/power_control_manager_base.h
@@ -17,9 +17,11 @@
#ifndef CHRE_PLATFORM_SLPI_SEE_POWER_CONTROL_MANAGER_BASE_H_
#define CHRE_PLATFORM_SLPI_SEE_POWER_CONTROL_MANAGER_BASE_H_
+#ifdef CHRE_THREAD_UTIL_ENABLED
extern "C" {
#include "sns_client_thread_util.h"
} // extern "C"
+#endif // CHRE_THREAD_UTIL_ENABLED
namespace chre {
@@ -51,12 +53,14 @@ class PowerControlManagerBase {
//! Set to true if the host is awake, false if suspended.
bool mHostIsAwake = true;
+#ifdef CHRE_THREAD_UTIL_ENABLED
//! Set to true if the thread is currently idle (no pending events),
//! false otherwise.
bool mIsThreadIdle = true;
//! A pointer to the client to compute thread utilization
sns_thread_util_client *mThreadUtilClient = nullptr;
+#endif // CHRE_THREAD_UTIL_ENABLED
};
} // namespace chre
diff --git a/platform/slpi/see/power_control_manager.cc b/platform/slpi/see/power_control_manager.cc
index ad490940..a681a9c1 100644
--- a/platform/slpi/see/power_control_manager.cc
+++ b/platform/slpi/see/power_control_manager.cc
@@ -24,11 +24,15 @@
namespace chre {
PowerControlManagerBase::PowerControlManagerBase() {
+#ifdef CHRE_THREAD_UTIL_ENABLED
sns_client_create_thread_utilization_client(&mThreadUtilClient);
+#endif // CHRE_THREAD_UTIL_ENABLED
}
PowerControlManagerBase::~PowerControlManagerBase() {
+#ifdef CHRE_THREAD_UTIL_ENABLED
sns_client_remove_thread_utilization_client(mThreadUtilClient);
+#endif // CHRE_THREAD_UTIL_ENABLED
}
bool PowerControlManagerBase::voteBigImage(bool bigImage) {
@@ -58,6 +62,7 @@ void PowerControlManagerBase::onHostWakeSuspendEvent(bool awake) {
}
void PowerControlManager::postEventLoopProcess(size_t numPendingEvents) {
+#ifdef CHRE_THREAD_UTIL_ENABLED
// Although this execution point does not actually represent the start
// of the CHRE thread's activity, we only care about cases where the
// CHRE's event queue is highly backlogged for voting higher clock rates.
@@ -74,6 +79,7 @@ void PowerControlManager::postEventLoopProcess(size_t numPendingEvents) {
mIsThreadIdle = true;
}
}
+#endif // CHRE_THREAD_UTIL_ENABLED
if (numPendingEvents == 0 && !slpiInUImage()) {
voteBigImage(false /* bigImage */);