Commit Graph

38 Commits

Author SHA1 Message Date
Wei Wang
442a23d628 make InteractionHandler thread safe
InteractionHandler calls undo_hint_action in a separate thread, where
undo_hint_action manipulates a linklist which is not protected by any
locking method.

std::lock_guard<std::mutex> lk(mLock) protects insides
InteractionHandler class, but the linklist is also used in other places
of PowerHAL such as Encoder hint.

Bug: 71383315
Test: Build
Change-Id: I81e2c79ab78ed7bd13ddc663ddbe86fa08f29337
2017-12-28 10:22:18 -08:00
TreeHugger Robot
875f5ced76 Merge "Power: handle launch hint end sent from framework" 2017-12-07 22:47:27 +00:00
Wei Wang
e61ae0c390 Power: handle launch hint end sent from framework
We handle launch hint end sent from framework on marlin as well.
On wahoo, it is disabled due to launch hint end sent earlier than camera
fully launch.

With more camera related hints linked to PowerHAL, we can do additional
boost for camera launch.

12-07 17:52:27.739   765   765 D QCOM PowerHAL: AUDIO STREAMING ON
// LAUCH ON from framework, boost
12-07 17:52:27.739   765   765 D QCOM PowerHAL: LAUNCH HINT: ON
12-07 17:52:27.741   765   765 D QCOM PowerHAL: Activity launch hint handled
12-07 17:52:27.775   765   765 D QCOM PowerHAL: AUDIO STREAMING OFF
// Do additional 2.5s boost for camera
12-07 17:52:27.784   765   765 D QCOM PowerHAL: CAMERA LAUNCH ON: 1000 MS
12-07 17:52:27.828   765   765 D QCOM PowerHAL: CAMERA STREAMING ON: 1000 MS
12-07 17:52:27.843   765   765 D QCOM PowerHAL: CAMERA STREAMING OFF
// LAUCH ON from framework, deboost
12-07 17:52:27.852   765   765 D QCOM PowerHAL: LAUNCH HINT: OFF
12-07 17:52:27.857   765   765 D QCOM PowerHAL: CAMERA STREAMING ON: 1000 MS
12-07 17:52:28.016   765   765 D QCOM PowerHAL: CAMERA STREAMING OFF
// Additional 2.5s boost for camera still remains
12-07 17:52:28.017   765   765 D QCOM PowerHAL: CAMERA LAUNCH OFF
12-07 17:52:28.017   765   765 D QCOM PowerHAL: Video Encode hint start

Test: monitor cpufreq with camera
Bug: 65034076
Change-Id: I06d6fa18c763f40f1a9d2f77b398c372957bbcd4
2017-12-07 12:08:49 -08:00
Zhuoyao Zhang
efcc5bf361 Update make file for power service
* Add dpendency on android.hardware.power@1.0, this is required for
  coverage build.

Test: lunch walleye_coverage-userdebug
      make android.hardware.power@1.1-service.wahoo
Change-Id: I3424f4052e6927ee3825512cb5ba898345ce275f
2017-12-05 17:00:07 -08:00
Wei Wang
8ce5e19a67 Power: Implement PowerHal 1.2
Convert all perfd hints into PowerHAL hints

Test: do camera/audio powerhint
Bug: 62041945
Change-Id: I82c8ca99b76d70d716eabedb617a126446646b7d
2017-12-04 11:56:39 -08:00
Jaekyun Seok
491d56144b Add 'vendor.' prefix to a vendor daemon name
To prevent property name collisions between properties of system and
vendor, 'vendor.' prefix must be added to a vendor HAL service name.
You can see the details in http://go/treble-sysprop-compatibility.

Test: succeeded building and tested on a walleye device
Bug: 36796459
Change-Id: I519603b13978567b51dbb2bcb866aa088a1646e4
2017-09-14 18:25:52 +09:00
Jaekyun Seok
cc0d522669 Add 'vendor.' prefix to a vendor HAL service name
To prevent property name collisions between properties of system and
vendor, 'vendor.' prefix must be added to a vendor HAL service name.
You can see the details in http://go/treble-sysprop-compatibility.

Test: succeeded building and tested on a walleye device
Bug: 36796459
Change-Id: Idc995c550657feca5e0f934444a31805bc3538f9
2017-08-31 12:51:25 +09:00
Wei Wang
bda7846d9b Merge "Change encoder boost to 2s" into oc-dr1-dev
am: febf60eefd

Change-Id: I3b74a945933272d7d802323ae78446d746469859
2017-07-29 04:34:34 +00:00
Wei Wang
68aaaa16ff Change encoder boost to 2s
Bug: 62232453
Test: reprocessingPerformanceTestByCamera
Change-Id: If2a593ec5cc0fe2633a1ab904200cb50e40370d9
2017-07-27 16:11:42 -07:00
Tim Murray
0357bf1292 Merge "wahoo: don't reset launch hint early" into oc-dr1-dev
am: c14fa2ba68

Change-Id: I2717d56c17749c5d91404eac84f27337ca5cb438
2017-07-27 02:17:43 +00:00
Tim Murray
a696e6b04a wahoo: don't reset launch hint early
Change the launch hint duration to 1.25s and don't end the launch
mode early.

Test: launch camera
bug 63913311

Change-Id: If28129b50bdd5e73aa196bd7079ac847b5621e31
2017-07-26 15:13:09 -07:00
Wei Wang
d621cbbb07 Merge "init.hardware.rc: disable bus-dcvs during boot" into oc-dr1-dev
am: 64e0268253

Change-Id: I4227453b5b234febe7b20c3cec71943b1ddd921e
2017-07-22 08:19:26 +00:00
TreeHugger Robot
64e0268253 Merge "init.hardware.rc: disable bus-dcvs during boot" into oc-dr1-dev 2017-07-22 08:14:36 +00:00
Wei Wang
1dcf62a310 init.hardware.rc: disable bus-dcvs during boot
This CL will save 100ms towards system_server_ready and 200ms towards
BootComplete,  and also reduces the fluctuation per experiment.

- Enable powersaving in charger mode
- Enable bus-dcvs in boot_complete but not during boot
- Start perfd after init.power.sh completes
- Enable powerhint after perfd is started

Before
starting_zygote               : 3.4446  0.24937
nonencrypted                  : 3.678   0.23805
SystemServer_start            : 4.8719  0.25874
SystemUi_start                : 6.3992  0.36695
system_server_ready           : 6.7353  0.34765
BootAnimStopRequest           : 7.5966  0.3806
BootAnimEnd                   : 9.5259  0.399
BootComplete                  : 9.6221  0.42225

After:
starting_zygote               : 3.4261  0.22712
nonencrypted                  : 3.665   0.22334
SystemServer_start            : 4.8406  0.23445
SystemUi_start                : 6.2765  0.23754
system_server_ready           : 6.6392  0.23679
BootAnimStopRequest           : 7.7449  0.25752
BootAnimEnd                   : 9.2631  0.43299
BootComplete                  : 9.409   0.44021

Bug: 63644084
Test: 10 boot with packages/services/Car/tools/bootanalyze/bootanalyze.py
Change-Id: I975974dedea0cce23f74f15d842e7308e9797868
2017-07-21 22:23:54 -07:00
Tim Murray
9fcc365d03 Merge "wahoo: add launch hint to atrace" into oc-dr1-dev
am: 6e4663fc05

Change-Id: I91b786b6840718c450f9b48be4552be9f0e1c03f
2017-07-21 21:58:47 +00:00
Tim Murray
bc778abc97 wahoo: add launch hint to atrace
Adds some tracing for the launch hint in the power HAL.

Test: extra trace data confirmed
bug 63913311

Change-Id: I6a207e4a0134650f9d339648a1058ddf5b2e7d9c
2017-07-21 10:37:51 -07:00
Philip Cuadra
f13f1a097e Merge "Add powerHintAsync functionality" into oc-dr1-dev am: 8d99d9fce3
am: d55e9676b7

Change-Id: I463651059fe0eb5fecb730d8ad42b7dd05b2845a
2017-07-14 17:10:06 +00:00
Philip Cuadra
8d99d9fce3 Merge "Add powerHintAsync functionality" into oc-dr1-dev 2017-07-14 17:02:21 +00:00
Wei Wang
ea1be3d4e4 Merge "remove cameraHAL to perfd interface" into oc-dr1-dev am: 7a7af08804
am: 622eef10f9

Change-Id: I29fbce422cba62490dd2bb302123b30a9b8b9e66
2017-07-12 21:20:21 +00:00
TreeHugger Robot
7a7af08804 Merge "remove cameraHAL to perfd interface" into oc-dr1-dev 2017-07-12 21:13:54 +00:00
Philip Cuadra
3a91edbc6c Add powerHintAsync functionality
Add an async version of powerHint called powerHintAsync.

Bug: 62377008
Test:  Take systrace, confirm powerHint is an async HIDL transaction

Change-Id: I481d74e02c51756306400cc19000db644fce6559
2017-07-12 12:14:26 -07:00
Wei Wang
5e53c868af remove cameraHAL to perfd interface
This CL removed cameraHAL to perfd interface
Also changed some powerHAL logging level

Bug: 63589458
Test: Build
Change-Id: I4725f45b22bf3a3787dc5d77fc9c6b22a66a21aa
2017-07-12 12:01:19 -07:00
Adrian Salido
3891fa4e4a Merge "Power: Fix interaction boost calculation" into oc-dr1-dev am: 3283943836
am: f773075de7

Change-Id: I036f049674008ff9dd9718f75d73cf557fad6320
2017-07-11 23:54:13 +00:00
Adrian Salido
a09dac5dad Power: Fix interaction boost calculation
Interaction handler has a check to ignore duplicate interaction requests
if previous covers current one. However the previous request could
finish early if idle is detected, need to account for this condition.

Bug: 63116225
Change-Id: I1a128eb8fe3c2a3daa7f48bc73cd5f07d5b1ae5b
2017-07-11 14:02:30 -07:00
Wei Wang
4003048411 Merge "Enable Encoder hint for camera powersaving" into oc-dr1-dev am: b02fb17265
am: e25b3d87e6

Change-Id: Ieed3669295aad97411953ed15e6fce4b3b73605c
2017-07-10 23:07:11 +00:00
Wei Wang
3b189d337f Enable Encoder hint for camera powersaving
- Hook up Encoder hint with CameraHal
- Remove dead code for EAS kernel for decoder hint and camera preview

This CL will enable powerhint for CameraHal to cap Big CPU
Cluster max freq to 1.958 Ghz.

Bug: 38000354
Bug: 62354242
Bug: 63039461
Test: Build and test camera preview on
Change-Id: I13e93915499f6cc83335b72ab2076d90bc9edfcc
2017-07-10 13:13:04 -07:00
TreeHugger Robot
820b880aa2 Merge "Build android.hardware.power@1.1-service.wahoo with BOARD_VNDK_VERSION" 2017-06-27 05:11:56 +00:00
Jiyong Park
b82b3ee7f8 Build android.hardware.power@1.1-service.wahoo with BOARD_VNDK_VERSION
Explicitly include unistd.h since the header is not provided when
building with BOARD_VNDK_VERSION.

Bug: 37342627
Test: BOARD_VNDK_VERSION=current m -j
android.hardware.power@1.1-service.wahoo

Change-Id: Iab69d5deae9faac27338bf8e97e09997775f7461
2017-06-27 14:07:45 +09:00
Wei Wang
f31c67caa8 Do not do powerhint if current governor is not supported
Bug: 62913269
Test: Boot and verify powerhint works
Change-Id: If2638ae5f107534b46412ca8cce9f02e9eb5d215
2017-06-26 22:59:14 +00:00
Adrian Salido
668cac2f4c power: remove interaction lock when idle
Allows earlier interaction lock release by polling on display updates to
stop happening (becomes idle) for a programmable amount of time.

Bug: 62110101
Test: Ran UiBench, didn't see regressions
susbset of tests - avg-jank:
testInflatingListViewFling: 0.09
testTrivialListViewFling:   0.15

Change-Id: I83c0fc75a3d7ca5bf76910ebbaeddb69343a7ee2
2017-06-21 16:13:24 -07:00
Ahmed ElArabawy
f3e845ce21 Re-introduce of POWER HAL API 1.1 impl for Wahoo
Power HAL 1.1 support for wahoo based devices was initially introduced in CL
ag/2098359
However, this caused a regression in application startup times due
to a bug in passing parameters for power hints on application launch
Hence, that CL was reverted in CL ag/2270791

This commit brings back the support of the Power Hal 1.1
to wahoo based devices. This includes the changes of the original CL
as will as a fix for the app startup time regression

The fix is similar to that in ag/1767023 (done for power HAL 1.0 default
implementation)
where a NULL is passed to the powerHint function when the passed data is
Zero
(instead of passing a pointer to the data). This enable the App Launch
power hints to work properly

The commit has been tested not to cause that regression

Bug: 62040325
Test: Performance Tests along with other tests

Change-Id: I29ce38b2de92c2b9ad878b0076288b689695b8a0
Signed-off-by: Ahmed ElArabawy <arabawy@google.com>
2017-06-05 15:44:43 -07:00
Ahmed ElArabawy
e9e903f222 Revert "power hal: Add power HAL API 1.1 impl for Wahoo"
This reverts commit c043816b3c.
The reason of the revert is to check for the application start time
regression that may have been caused by the CL

Bug: 38317397
Test: None

Change-Id: I7edaf75eeebcecb848b38a9b7eff2bdb1f233cdb
Signed-off-by: Ahmed ElArabawy <arabawy@google.com>
2017-05-17 15:21:36 -07:00
Ahmed ElArabawy
c043816b3c power hal: Add power HAL API 1.1 impl for Wahoo
Add a full binderized implementation for Power hal

Many subsystems (e.g.wifi) could be living on an
independent power island (sourced from VBatt directly)
and might even have their own dedicated XTAL to source
their clocks. Since these SOCs are capable of
autonomously operating (while the platform is in one
of the sleep states), they are still drawing power
from the VBatt. Hence it is critical to understand
the  (SOC) level low power statistics as well when
the battery level changes and be able to find any
correlation in event of unexpected battery drain.

This commit adds the support of the Power Hal 1.1
to wahoo based devices(that includes Muskie/walleye).
This includes the new api for wlan specific power stats

Bug: 29339696
Test: Manual
Change-Id: Iee4e38f2d9ced31f8b6a333b535fa1d9a302ec26
Signed-off-by: Ahmed ElArabawy <arabawy@google.com>
2017-05-09 14:19:49 -07:00
Wei Wang
0119c04700 PowerHAL: added stune boost and app launch hint
Bug: 37548050
Test: on Taimen, see hint handled
Change-Id: If621dc46d946c9ce5038ee0b4f17115f24fb82bf
2017-04-26 14:59:32 -07:00
Adrian Salido
a60c8d7e89 power: rewrite battery stats parser
Make parsing battery stats more extendable and switch to system_stats for
the battery stats.

Bug: 36064954
Test: dumpsys batterystats shows non-zero stats
Change-Id: I39c59f86cbb335da5796d23c0ff4a7435745b31e
2017-04-11 19:05:04 -07:00
Adrian Salido
4b51c52e7f power: Fix power hal compiler warnings
Bug: 30432975
Test: compile power hal for walleye without warnings
Change-Id: I0d90c26462c662690f8a179250000b9a449a109f
2017-04-06 13:41:04 -07:00
Adrian Salido
fdfd0407a4 power: import and enable binderized power hal
Bug: 36096835
Test: boot, verify hal is loaded and taking power hints
Change-Id: I75d7ef2f378f6d71de1776f78726be4812bf196f
2017-03-29 21:04:32 -07:00
Thierry Strudel
4e18dc435b Import common file from device specific directory
Test: boot, basic functionality
Change-Id: I9c07718b481730c3388f99c5e1eff17c9fd75a7b
Signed-off-by: Thierry Strudel <tstrudel@google.com>
2017-03-04 23:34:45 -08:00