From 54617c959f4ba2bf799d80947353d5276660ba1e Mon Sep 17 00:00:00 2001 From: Vince Leung Date: Wed, 22 May 2013 20:04:41 -0700 Subject: add coreboost feature and enable it when display is on Change-Id: I12aec9092142a162b0ea42b8dc2ae94677549b0a --- power.c | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/power.c b/power.c index a4569a5..ac26e21 100644 --- a/power.c +++ b/power.c @@ -27,7 +27,7 @@ #include #include -#define TOUCHBOOST_SOCKET "/dev/socket/mpdecision/touchboost" +#define BOOST_SOCKET "/dev/socket/mpdecision/boost" static int client_sockfd; static struct sockaddr_un client_addr; @@ -42,7 +42,7 @@ static void power_init(struct power_module *module) } memset(&client_addr, 0, sizeof(struct sockaddr_un)); client_addr.sun_family = AF_UNIX; - snprintf(client_addr.sun_path, UNIX_PATH_MAX, TOUCHBOOST_SOCKET); + snprintf(client_addr.sun_path, UNIX_PATH_MAX, BOOST_SOCKET); } static void touch_boost() @@ -60,11 +60,35 @@ static void touch_boost() } } +static void core_boost(int on) +{ + int rc; + + if (client_sockfd < 0) { + ALOGE("%s: touchboost socket not created", __func__); + return; + } + + if (!on) { + rc = sendto(client_sockfd, "2", 1, 0, (const struct sockaddr *)&client_addr, sizeof(struct sockaddr_un)); + } else { + rc = sendto(client_sockfd, "3", 1, 0, (const struct sockaddr *)&client_addr, sizeof(struct sockaddr_un)); + } + + if (rc < 0) { + ALOGE("%s: failed to send: %s", __func__, strerror(errno)); + } +} + static void power_set_interactive(struct power_module *module, int on) { ALOGV("%s %s", __func__, (on ? "ON" : "OFF")); - if (on) + if (on) { + core_boost(1); touch_boost(); + } else { + core_boost(0); + } } static void power_hint(struct power_module *module, power_hint_t hint, -- cgit v1.2.3 From d41c44c07c7b89ccceee3493220a9da689af4b66 Mon Sep 17 00:00:00 2001 From: Iliyan Malchev Date: Fri, 24 May 2013 19:34:16 +0000 Subject: Revert "add coreboost feature and enable it when display is on" This reverts commit d9de16eb13b5a295b555bc29ec58c517139f736e Causes 15% power regression in on-screen tests on mako. This will revert it for Flo as well. Change-Id: Ib7cd0bf6e225fbdc8c800f5d55a087f1fc2704eb --- power.c | 30 +++--------------------------- 1 file changed, 3 insertions(+), 27 deletions(-) diff --git a/power.c b/power.c index ac26e21..a4569a5 100644 --- a/power.c +++ b/power.c @@ -27,7 +27,7 @@ #include #include -#define BOOST_SOCKET "/dev/socket/mpdecision/boost" +#define TOUCHBOOST_SOCKET "/dev/socket/mpdecision/touchboost" static int client_sockfd; static struct sockaddr_un client_addr; @@ -42,7 +42,7 @@ static void power_init(struct power_module *module) } memset(&client_addr, 0, sizeof(struct sockaddr_un)); client_addr.sun_family = AF_UNIX; - snprintf(client_addr.sun_path, UNIX_PATH_MAX, BOOST_SOCKET); + snprintf(client_addr.sun_path, UNIX_PATH_MAX, TOUCHBOOST_SOCKET); } static void touch_boost() @@ -60,35 +60,11 @@ static void touch_boost() } } -static void core_boost(int on) -{ - int rc; - - if (client_sockfd < 0) { - ALOGE("%s: touchboost socket not created", __func__); - return; - } - - if (!on) { - rc = sendto(client_sockfd, "2", 1, 0, (const struct sockaddr *)&client_addr, sizeof(struct sockaddr_un)); - } else { - rc = sendto(client_sockfd, "3", 1, 0, (const struct sockaddr *)&client_addr, sizeof(struct sockaddr_un)); - } - - if (rc < 0) { - ALOGE("%s: failed to send: %s", __func__, strerror(errno)); - } -} - static void power_set_interactive(struct power_module *module, int on) { ALOGV("%s %s", __func__, (on ? "ON" : "OFF")); - if (on) { - core_boost(1); + if (on) touch_boost(); - } else { - core_boost(0); - } } static void power_hint(struct power_module *module, power_hint_t hint, -- cgit v1.2.3