Commit graph

575470 commits

Author SHA1 Message Date
Raju P.L.S.S.S.N
7aef3b1f9b lpm-levels: Fix low power mode selection
The low power mode selection logic has problems while
selecting best mode both in cpu and cluster selection.
When latency requirement is not met, the level selection
loop breaks without selecting another possible shallow
power mode that meets both latency and residency
requirements. The residencies are initialized to ~0
(0xFFFFFFFF) when a particular mode is disabled in idle
context. This results in wrong selection of shallower
mode in suspend context instead of selecting best possible
deepest low power mode (assuming the mode is enabled in
suspend context but disabled in idle context). This can
have impact on power.

The change addresses this by selecting a possible
shallower power mode that can meet the latency criteria.
It also initializes the residencies to 0 when a mode is
not allowed in idle context. This results in selection
of deepest low power mode in suspend context and
saves power.

Change-Id: Iae8b6ad74ef0f28d9c542315745577b1a5924664
Signed-off-by: Raju P.L.S.S.S.N <rplsssn@codeaurora.org>
2016-10-03 10:00:32 -06:00
Mahesh Sivasubramanian
0fb5a62a22 lpm-levels: Use residency instead of power and energy values
The driver looks through all the enabled modes and does energy
calculation runtime before it selects a low power mode to enter.
With residency values, the cpu/cluster can choose the low power
mode as soon as it comes across the low power mode which meets
the residency constraint.

Change-Id: I71235c212b26c3688a8ac5426942f2b88b681d47
Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
2016-10-03 09:58:54 -06:00
Linux Build Service Account
e4e58248ef Merge "usb: gadget: f_cdev: Fix memory leak with func_name" 2016-10-01 10:41:53 -07:00
Linux Build Service Account
2c2e30e5f3 Merge "usb: gadget: f_cdev: Remove func_name and port_num attributes" 2016-10-01 10:41:52 -07:00
Linux Build Service Account
0c1bf6e64e Merge "ASoC: soc: change audio cpe drivers to use %pK" 2016-09-30 18:24:04 -07:00
Linux Build Service Account
b9a2515e19 Merge "msm: secure_buffer: Add VMID_CP_CAMERA_PREVIEW" 2016-09-30 18:24:04 -07:00
Linux Build Service Account
9ee3ab3d93 Merge "scsi: ufs: gate ref_clk during aggressive clk gating" 2016-09-30 18:24:03 -07:00
Linux Build Service Account
d764916497 Merge "clk: qcom: Add support to register rpm-smd clocks" 2016-09-30 18:24:02 -07:00
Linux Build Service Account
8bfc0b3d0a Merge "msm: kgsl: Change GPU clock gating sequence for A4XX and A5XX" 2016-09-30 18:24:01 -07:00
Linux Build Service Account
456cfbdf20 Merge "msm: kgsl: Fix dispatch_q NULL dereference" 2016-09-30 18:24:01 -07:00
Linux Build Service Account
36b28a7842 Merge "ASoC: wcd934x: Add support for HPH surge recovery" 2016-09-30 18:23:59 -07:00
Linux Build Service Account
e33b7f64d3 Merge "ASoC: wcd934x: Use correct API for force enable micbias" 2016-09-30 18:23:58 -07:00
Linux Build Service Account
d556394bb8 Merge "ASoC: wcd934x: send TX/RX PGD register CFG to AFE" 2016-09-30 18:23:57 -07:00
Linux Build Service Account
cb9f10e366 Merge "ASoC: wcd934x: add decimator 5 and 6 volume controls" 2016-09-30 18:23:57 -07:00
Linux Build Service Account
4fdc1c78bc Merge "usb: pd: Print out source/sink subtypes" 2016-09-30 18:23:56 -07:00
Linux Build Service Account
bbcb8ab2b1 Merge "clk: qcom: Add support for GCC clock for MSMFalcon" 2016-09-30 18:23:55 -07:00
Linux Build Service Account
eabd3dd413 Merge "msm: ipa: Recycle wan buffer" 2016-09-30 18:23:55 -07:00
Linux Build Service Account
778103250b Merge "power: qpnp-fg-gen3: fix SRAM encodings" 2016-09-30 18:23:53 -07:00
Linux Build Service Account
511ce51b85 Merge "qpnp-smb2: add missing battery psy properties for healthd" 2016-09-30 18:23:53 -07:00
Linux Build Service Account
7d60e8e05c Merge "icnss: Add support for disabling vbatt notification" 2016-09-30 18:23:51 -07:00
Linux Build Service Account
0af03e722d Merge "msm: kgsl: Do not free gpuaddr range if unmap fails" 2016-09-30 18:23:50 -07:00
Linux Build Service Account
e8200cdfa9 Merge "clk: msm: clock-mmss-cobalt: Update the video core clock frequencies" 2016-09-30 18:23:50 -07:00
Linux Build Service Account
92d0361094 Merge "clk: msm: clock: Add the non_local_control_timeout flag to ahb_clk_src" 2016-09-30 18:23:49 -07:00
Linux Build Service Account
21be302cb3 Merge "mam: ipa: always add default flt rule at the end" 2016-09-30 18:23:48 -07:00
Linux Build Service Account
818156d2ac Merge "sched: don't assume higher capacity means higher power in lb" 2016-09-30 18:23:48 -07:00
Linux Build Service Account
627381d09a Merge "msm: sde: Adjust SDE rotator clock and BW calculation" 2016-09-30 18:23:47 -07:00
Linux Build Service Account
789809fbfc Merge "msm: camera: Add regulator enable and disable independent of CSID" 2016-09-30 18:23:46 -07:00
Linux Build Service Account
847de6a415 Merge "scsi: ufs-debugfs: Fix hba access" 2016-09-30 18:23:45 -07:00
Linux Build Service Account
e9ad6b6beb Merge "msm: ipa: unlock WLAN doorbell register access" 2016-09-30 18:23:45 -07:00
Linux Build Service Account
9aa659eeb2 Merge "ASoC: wcd934x: Add support for digital core power collapse" 2016-09-30 18:23:44 -07:00
Linux Build Service Account
3661c2fbd0 Merge "ARM: dts: msm: Add 2.3 GHz performance cluster support on MSMCOBALT v2" 2016-09-30 18:23:42 -07:00
Linux Build Service Account
1e2257a17f Merge "usb: pd: Clear requested_voltage/current values on disconnect" 2016-09-30 18:23:41 -07:00
Linux Build Service Account
74388a6568 Merge "clk: msm: Fix compilation for clock_debug_print_enabled" 2016-09-30 18:23:41 -07:00
Linux Build Service Account
d29edb4be4 Merge "ARM: dts: msm: Change L7A/L17A/L25A on msmcobalt" 2016-09-30 18:23:40 -07:00
Linux Build Service Account
e59d6b749b Merge "usb: pd: Add support to set the maximum speed via extcon" 2016-09-30 18:23:39 -07:00
Linux Build Service Account
abf71ed419 Merge "clk: qcom: Add support for regulator based GDSC control" 2016-09-30 18:23:36 -07:00
Linux Build Service Account
a19c18eb4e Merge "ASoC: msm: limit audiosphere driver logics to legacy soc" 2016-09-30 18:23:35 -07:00
Linux Build Service Account
131997f11f Merge "clk: msm: clock-mmss-cobalt: Update FMAXes for camera clocks on MSMCOBALT" 2016-09-30 18:23:35 -07:00
Linux Build Service Account
3c3421d8e0 Merge "ASoC: wsa881x: Avoid removing of already deleted timer object" 2016-09-30 18:23:34 -07:00
Linux Build Service Account
92654f0d1d Merge "PM / devfreq: bimc-bwmon: Fix rounding error" 2016-09-30 18:23:33 -07:00
Linux Build Service Account
9919a21fd9 Merge "arm64: Add back print of processor name and rev" 2016-09-30 18:23:33 -07:00
Linux Build Service Account
8c17676735 Merge "ecryptfs: forbid opening files without mmap handler" 2016-09-30 18:23:32 -07:00
Linux Build Service Account
4b2199d820 Merge "sched: panic on corrupted stack end" 2016-09-30 18:23:31 -07:00
Linux Build Service Account
d11cd1d072 Merge "netfilter: x_tables: validate e->target_offset early" 2016-09-30 18:23:30 -07:00
Linux Build Service Account
4bfa2a9dfa Merge "netfilter: x_tables: make sure e->next_offset covers remaining blob size" 2016-09-30 18:23:29 -07:00
Linux Build Service Account
61661c5756 Merge "cdc_ncm: do not call usbnet_link_change from cdc_ncm_bind" 2016-09-30 18:23:28 -07:00
Linux Build Service Account
187b791db4 Merge "proc: prevent stacking filesystems on top" 2016-09-30 18:23:28 -07:00
Linux Build Service Account
4dd390af9c Merge "netfilter: x_tables: fix unconditional helper" 2016-09-30 18:23:27 -07:00
Linux Build Service Account
bc7b1189ea Merge "KEYS: potential uninitialized variable" 2016-09-30 18:23:26 -07:00
Hareesh Gundu
ed1836956c msm: kgsl: Change GPU clock gating sequence for A4XX and A5XX
Disable SP clock before programming the clock gating control
registers and enable back SP clock.

CRs-Fixed: 1061048
Change-Id: Ic19a8a67fe0e192c9c7c3f855c7eb33901ca2adc
Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
2016-09-30 10:52:19 -07:00