diff options
author | Anthony Stange <stange@google.com> | 2019-05-06 19:02:56 -0400 |
---|---|---|
committer | Anthony Stange <stange@google.com> | 2019-05-06 19:24:26 -0400 |
commit | 8d869252130c40dee3165123827fe2a75d8ea291 (patch) | |
tree | 6b50f69cd1744ccd4d940829fe41f415d51cb0c6 | |
parent | a313366b5a7d3574dec74c5685d5bd46b8938832 (diff) | |
download | chre-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
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 */); |