summaryrefslogtreecommitdiff
path: root/drivers/edp
AgeCommit message (Collapse)Author
2015-01-15edp: sysedp: NULL terminate of_device_id tablesTimo Alho
of_device_id tables need to be NULL terminated. This patch fixes the missing NULL termination within sysedp_batmon_calc module. Bug 1539761 Change-Id: I7b1f48b85fce84337d8d2093fe7886f965d0b28f Signed-off-by: Timo Alho <talho@nvidia.com> Reviewed-on: http://git-master/r/437001 (cherry picked from commit 305fceeceed23782a1170ed60b87059010a83c61) Reviewed-on: http://git-master/r/671006 Reviewed-by: Steve Rogers <srogers@nvidia.com>
2014-09-19edp: sysedp : CPU/GPU priority depends on fGPUMatt Longnecker
Provide sysedp_dynamic_capping with the instantaneous GPU frequency when notifying it of the GPU load. Modify the gpu/cpu priority decision logic to choose CPU priority until GPU frequency gets "near" the CPU-priority-limited-GPU-fmax. Introduce the priority_bias debugfs parameter to facilitate tuning of "near". priority_bias takes a value from 0 to 100. Change-Id: I57df17d50cd8077a512b5932f4a304ca5e6992aa Signed-off-by: Matt Longnecker <mlongnecker@nvidia.com> Reviewed-on: http://git-master/r/481720 (cherry picked from commit b2ac745a45e273e849d7b190913ee97092fdebc2) Reviewed-on: http://git-master/r/498901 GVS: Gerrit_Virtual_Submit Reviewed-by: Winnie Hsu <whsu@nvidia.com>
2014-06-03edp: sysedp: fix unit in batmon debufs printsTimo Alho
Battery temperatures are reported in 0.1C units, fix the debugfs prints to not have inconsistent unit. Bug 200006249 Change-Id: I98ee47d57e8a14750f7746fe15c8db7268b480f0 Signed-off-by: Timo Alho <talho@nvidia.com> Reviewed-on: http://git-master/r/415002 (cherry picked from commit 2c1c13b8941761f630cf34f9d8d5ca5d54b90fc0) Reviewed-on: http://git-master/r/417624 Reviewed-by: Mandar Padmawar <mpadmawar@nvidia.com> Tested-by: Mandar Padmawar <mpadmawar@nvidia.com>
2014-04-23EDP: sysedp: Export tegra_edp_notify_gpu_load()Arto Merilainen
The GPU should be buildable as a module, however, some tegra specific symbols are not exported properly. Bug 1476801 Change-Id: Ifa44a53f4b7ecea9c3405e3fb16dc262ba695c59 Signed-off-by: Arto Merilainen <amerilainen@nvidia.com> Reviewed-on: http://git-master/r/387605 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
2014-04-10EDP: add userspace knob to update ESR valueTimo Alho
This patch adds a sysfs entry /sys/power/sysedp/batmon/esr. This allows an user space process to update the current ESR value seen by the sysedp_batmon_calc component. sysedp_batmon_calc will compute the ratio between internal table based ESR estimate and value set from user space. This ratio will be then used to scale all future table based ESR estimations. Bug 1400509 Change-Id: Ia409826f793afef4e4c8d1e42010ff31e529f827 Signed-off-by: Timo Alho <talho@nvidia.com> Reviewed-on: http://git-master/r/337378 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Sivaram Nair <sivaramn@nvidia.com> Reviewed-by: Steve Rogers <srogers@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
2014-04-04edp: sysedp: Fix min_budget from platform dataSteve Rogers
Bug 1492962 Change-Id: I753037da2a2f004133ac28986c1722b05e754150 Signed-off-by: Steve Rogers <srogers@nvidia.com> (cherry-picked from commit c01a6dfd551eb43cc65dbeacb9a86cc3ff913026) Reviewed-on: http://git-master/r/391475 Reviewed-on: http://git-master/r/392059 Reviewed-by: Timo Alho <talho@nvidia.com>
2014-03-28EDP: sysedp: Add sysedp_set_state_by_name()Steve Rogers
Bug 1486148 Change-Id: I8bf6af83530273ad5b04f1903f2d76048ff2b514 Signed-off-by: Steve Rogers <srogers@nvidia.com> Reviewed-on: http://git-master/r/386462 (cherry-picked from commmit 2583d5bbd2910bf4420329786bb3d7560bab1615) Reviewed-on: http://git-master/r/387831 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Timo Alho <talho@nvidia.com>
2014-03-17Kconfig: sysedp: update sysedp management in KconfigTimo Alho
- Remove EDP_FRAMEWORK configuration - Include drivers/edp/Kconfig from drivers/Kconfig Change-Id: I925d933830fd85ae58320bf979d82a7df9a87f53 Signed-off-by: Timo Alho <talho@nvidia.com> Reviewed-on: http://git-master/r/380410 Reviewed-by: Steve Rogers <srogers@nvidia.com> Reviewed-by: Sivaram Nair <sivaramn@nvidia.com> Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
2014-03-11EDP: sysedp: Add mininimum budget controlSteve Rogers
Bug 1475120 Change-Id: I21be3f45e624412626b6f01f2ad04307f2911a8c Signed-off-by: Steve Rogers <srogers@nvidia.com> Reviewed-on: http://git-master/r/378467 Reviewed-by: Timo Alho <talho@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User
2014-02-24arm: tegra: sysedp: Update pthrot per loopSteve Rogers
Bug 1465408 Also fix the debugfs output for cap_method. Change-Id: I1cce87ae08e81eee5b0b42dac8601764c5fad55b Signed-off-by: Steve Rogers <srogers@nvidia.com> Reviewed-on: http://git-master/r/370035 (cherry-picked from commmit 51b58d692653dd6075c3e728dd7f133968c99a5a) Reviewed-on: http://git-master/r/373630 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Timo Alho <talho@nvidia.com>
2014-02-10EDP: sysedp: Add capping method selectionSteve Rogers
Bug 1453350 Change-Id: Ia4064cf59a93f90770a61144fcdb65918cdaa1b7 Signed-off-by: Steve Rogers <srogers@nvidia.com> Reviewed-on: http://git-master/r/363494 (cherry picked from commmit 88b6025796e4b57e750b7c615b9416c433ef7761) Reviewed-on: http://git-master/r/364963 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Sivaram Nair <sivaramn@nvidia.com> Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
2014-01-30edp: sysedp: fix ibat for negative temperaturesTimo Alho
Negative temperatures where incorrectly handled when calculating maximum battery current. This patch fixes the issue. Change-Id: I446c2b9b6cf5586fbba11a4fe0906a38a7c654d1 Signed-off-by: Timo Alho <talho@nvidia.com> Reviewed-on: http://git-master/r/359854 (cherry picked from commit f63a5fa0d51a04befc2e113df91c076e0cab8e83) Reviewed-on: http://git-master/r/361476 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
2014-01-15edp: change DT compatible field of sysedp_batmon_calcTimo Alho
Change the compatible field of sysedp_batmon_calc to match with nvidia naming convention. Bug 1391872 Change-Id: I599199813092879daaa0d533831c35b73d693f5c Signed-off-by: Timo Alho <talho@nvidia.com> Reviewed-on: http://git-master/r/353726 Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
2014-01-07EDP: sysedp: OC signal based dynamic budgetingTimo Alho
This patch changes the calculation of available AP+DRAM budget. It will now take into account the maximum power reduction that HW throttling can accomplish (using Over Current (OC) signalling). The calculation of AP+DRAM is now as follows: P_AP_DRAM = P_BAT - SUM(P_MAX) + min(SUM(P_MAX - P_THRESH), P_THROT) where P_AP_DRAM is power available for AP+DRAM P_BAT is total power available from battery SUM(P_MAX) is sum of maximum peak power of consumers (OC=1) SUM(P_THRESH) is sum of maximum peak power of consumers (OC=0) P_THROT is the maximum amount of power that HW thorttling can reduce. Change-Id: Ife02bba22694c93ca13e42b4acdf84ac2e6a96ba Signed-off-by: Timo Alho <talho@nvidia.com> Reviewed-on: http://git-master/r/348943 Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
2014-01-02EDP: sysedp: add batmon debugfs entriesTimo Alho
Add debugfs entries to sysedp_batmon_calc component. * rbat - to show battery impedance table * ibat - to show max. battery current table * ocv - to show battery ocv table * vsys_min - to show min. VSYS vlotage * r_const - to show board impedance Change-Id: I8a59450bdb080304630c88bbf140ad91f50f46d5 Signed-off-by: Timo Alho <talho@nvidia.com> Reviewed-on: http://git-master/r/350657 Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
2013-12-31EDP: add sysedp_reactive_cappingTimo Alho
This patch adds a sysedp_reactive_capping component. This component monitors the rate of over current (OC) interrupts from soc_therm hardware. During frequent events, sysedp_reactive_capping increases it's power state to reduce the budget available for AP+DRAM. sysedp_reactive_capping hooks into interrupts provided by soc_therm. Towards system EDP framework, sysedp_reactive_capping acts as sysedp consumer. Change-Id: I53918c7cf63cbfd689b78abd17a77d97f5ed985a Signed-off-by: Timo Alho <talho@nvidia.com> Reviewed-on: http://git-master/r/348416 Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com> Tested-by: Juha Tukkinen <jtukkinen@nvidia.com>
2013-12-31edp: add DT support for sysedp battery monitorKerwin Wan
Bug 1391872 Change-Id: I31bbe2b2fe18c8fd46b8d70980639511e21c9dd2 Signed-off-by: Kerwin Wan <kerwinw@nvidia.com> Reviewed-on: http://git-master/r/338795 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Timo Alho <talho@nvidia.com> Tested-by: Timo Alho <talho@nvidia.com> Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
2013-12-31EDP: remove old system EDP framework (framework code)Timo Alho
Revised system edp software framework has been put in place. This patch removes old framework code under drivers/edp. Bug 1431977 Change-Id: Icde6ad7066e15172863a39388904309ce2c75c39 Signed-off-by: Timo Alho <talho@nvidia.com> Reviewed-on: http://git-master/r/350414 Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
2013-12-18EDP: sysedp: move consumers into 'consumers' ksetTimo Alho
This patch creates a 'consumers' kset under sysedp directory where all sysedp consumers are to be placed. The purpose is to allow uevents to be sent when consumers are created so that their file permissions can be managed from userspace. Bug 1416849 Change-Id: I93a28e50335378eafcdecd103ff39e2bfa5d9ff8 Signed-off-by: Timo Alho <talho@nvidia.com> Reviewed-on: http://git-master/r/346522 Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com> Tested-by: Juha Tukkinen <jtukkinen@nvidia.com>
2013-12-17EDP: fix string handling in consumer_unregisterTimo Alho
Last character of incoming string was mistakenly stripped. This patch fixes the issue. Bug 1416849 Change-Id: I8741504bb5887ad54b93a5066a99bfecc55cff9f Signed-off-by: Timo Alho <talho@nvidia.com> Reviewed-on: http://git-master/r/345196 Reviewed-by: Automatic_Commit_Validation_User Tested-by: Greg Heinrich <gheinrich@nvidia.com> Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
2013-12-09EDP: introduce ocpeaks table for consumersTimo Alho
ocpeaks table defines the maximum peak power for each state when hardware overcurrent signal is asserted. The most prominent user for overcurrent signaling is the modem consumer. To register sysedp consumer for user space with overcurrent peak information, following can be written to consumer_register sysfs entry: consumer_name a0, a1, a2, ..., an; b0, b1, b2, ..., bn where ai and bi are nominal and overcurrent peak values for power state i, respectively Bug 1416849 Change-Id: I196aa976f8b2b0f300599db6807b94bf1a486f44 Signed-off-by: Timo Alho <talho@nvidia.com> Reviewed-on: http://git-master/r/338237 Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com> Tested-by: Juha Tukkinen <jtukkinen@nvidia.com>
2013-12-09EDP: prevent multiple consumer registration attemptsTimo Alho
This patchs adds a check to sysedp_consumer_register to ensure that no consumer with same name has been registered before. Change-Id: I028b2edcef926b280d4a57037d3406d1ae83547a Signed-off-by: Timo Alho <talho@nvidia.com> Reviewed-on: http://git-master/r/338236 Reviewed-by: Neil Patel <neilp@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
2013-11-26EDP: add temperature dependant rbat table supportTimo Alho
Previously, only state of charge was considered when determining battery impedance. In practice, impedance is dependant on temperature and state of charge. This patch adds support for two dimensional battery impedance (rbat_lut) tables. The rbat value is bi-linearly interpolated from table as a function of temperature and state of charge. bug 1412781 Change-Id: I8656aa13f0ebebb848f536194b37420a0438d2ac Signed-off-by: Timo Alho <talho@nvidia.com> Reviewed-on: http://git-master/r/335070 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
2013-11-05EDP: add API to query current power stateTimo Alho
Add sysedp_get_state API function call to query current power state of sysedp consumer. Change-Id: I667a848e269836b7dba652a7929a5fbce6ef8d82 Signed-off-by: Timo Alho <talho@nvidia.com> Reviewed-on: http://git-master/r/304819 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
2013-11-01EDP: add event tracing for dynamic cappingTimo Alho
Change-Id: I7f28e373b2f96d84af98ac64d4d36c83ad18d4a6 Signed-off-by: Timo Alho <talho@nvidia.com> Reviewed-on: http://git-master/r/309701 Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
2013-10-30EDP: remove warning prints of missing GPU clockTimo Alho
GK20A driver does initializes clocks until very late init – clk_set_rate() is returning error until then. This patch adds graceful handling of missing gpu clock. Change-Id: Ia0825985425494675637c20f3d25bc77b24afb91 Signed-off-by: Timo Alho <talho@nvidia.com> Reviewed-on: http://git-master/r/304863 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
2013-10-28EDP: introduce revised system-EDP frameworkTimo Alho
This patch introduces a revised system-EDP software framework. Framework consist of following components: * sysedp - central component handling of the book keeping of consumer power consumptions * sysedp_batmon - periodically monitors the state of battery and updates the available budget (in mW) to sysedp framework * sysedp_dynamic_capping - limits the CPU, GPU, and EMC frequencies to ensure that system will operate in the given budget. * sysedp_consumer - A device in the platform that has noticeable peak power consumption is called sysedp consumer. Consumers register themselves to the sysedp framework and inform sysedp when there is a change in their power state Change-Id: I343d8f09082216744da41abe5e749b15cb20417a Signed-off-by: Timo Alho <talho@nvidia.com> Reviewed-on: http://git-master/r/304006 GVS: Gerrit_Virtual_Submit Reviewed-by: Sivaram Nair <sivaramn@nvidia.com> Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
2013-10-03EDP: psy depletion: use flush_delayed_workPhilip Rakity
flush_delayed_work should be used rather then flush_delay_work_sync. flush_delayed_work_sync just calls flush_delayed_work. see workqueue.h /nvidia/DEV_KERNEL/kernel/drivers/edp/psy_depletion.c In function 'capacity_set': nvidia/DEV_KERNEL/kernel/drivers/edp/psy_depletion.c:280:2: warning: 'flush_delayed_work_sync' is deprecated (declared at /nvidia/DEV_KERNEL/kernel/include/linux/workqueue.h:454) [-Wdeprecated-declarations] /nvidia/DEV_KERNEL/kernel/drivers/edp/psy_depletion.c: In function 'vsysmin_set' /nvidia/DEV_KERNEL/kernel/drivers/edp/psy_depletion.c:297:2: warning: 'flush_delayed_work_sync' is deprecated (declared at /nvidia/DEV_KERNEL/kernel/include/linux/workqueue.h:454) [-Wdeprecated-declarations] Change-Id: Ib6ee73feb40560aa5eb9b8941047e5313ac3aaa9 Signed-off-by: Philip Rakity <prakity@nvidia.com> Reviewed-on: http://git-master/r/278887 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Nitin Kumbhar <nkumbhar@nvidia.com> (cherry picked from commit 1ad8994d893cf805e84988a4f1077250f90957bb) Signed-off-by: Ajay Nandakumar <anandakumarm@nvidia.com>
2013-09-26EDP: tegra: export VSYS_MIN debugfs attrSivaram Nair
Adding a new debugfs attr for vsys_min psy depletion platform data for tuning. Bug 1306298 Change-Id: Id9b7a6affae2216e7bafde55eea2f8eacbe24572 Signed-off-by: Sivaram Nair <sivaramn@nvidia.com> Reviewed-on: http://git-master/r/272489 (cherry picked from commit 9361d0eaef4f7616e443fdbbefebeda92c496b87) Reviewed-on: http://git-master/r/275628 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
2013-09-14EDP: tegra: add psy emulator modeSivaram Nair
Add an emulator mode to the psy depletion client so that we can emulate different depletion states. This mode requires the board to specify a valid { capacity, OCV } lut. Bug 1293353 Change-Id: Ie4f83ee70cec3575ee42a8edea4524d0a33da0fb Signed-off-by: Sivaram Nair <sivaramn@nvidia.com> Reviewed-on: http://git-master/r/255648 (cherry picked from commit db1d75dc8dfaec9d0c906413d9b1eaf1df9c1e64) Reviewed-on: http://git-master/r/256830 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
2013-09-14edp: tegra: table show support for T40DCDiwakar Tundlam
Bug 1300607 Change-Id: Iafaab450fd88a41b6384256ad2c6aaf2ebb9f360 Reviewed-on: http://git-master/r/239500 (cherry picked from commit fb715d4a3cb28547c274c648ecd43c87b33a1ec2) Signed-off-by: Diwakar Tundlam <dtundlam@nvidia.com> Reviewed-on: http://git-master/r/253745 Reviewed-by: Automatic_Commit_Validation_User
2013-09-14EDP: fix deadlockSivaram Nair
cancel_work_sync is called with mutex held. This can cause deadlock if there is a pending work while switching governors or while unregistering managers (because the worker function tries to take the same lock). Fix this by: - getting rid of cancel_work_sync during governor switching (if there is no governor, the scheduled work will do nothing) - call cancel_work_sync after the manager unregistration is complete and outside the locked code. Bug 1313928 Change-Id: I64b270898bffc9b961cb70ca9c181c1c6e6c0118 Signed-off-by: Sivaram Nair <sivaramn@nvidia.com> Reviewed-on: http://git-master/r/247648 (cherry picked from commit 981bf6768f2ed99127550ba5554e433716586eaa) Reviewed-on: http://git-master/r/250634 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2013-09-14EDP: fix run time warningsSivaram Nair
Fixing warnings issued by EDP governors due to incorrect power budget math. Bug 1313928 Change-Id: If1c9cf5c6df66ed4f2cc8a1b9399d4c57b2c7a64 Signed-off-by: Sivaram Nair <sivaramn@nvidia.com> Reviewed-on: http://git-master/r/245106 (cherry picked from commit 6870474b775573f8a060afff99fca3bb171ec12c) Reviewed-on: http://git-master/r/250633 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2013-09-14EDP: fix bad client nameSivaram Nair
The dummy client created to reduce the EDP cap is named '.'. This results in a runtime warning because the sysfs entries can not be created with this name. Fixing this by changing the name to '.debug' Change-Id: I90ac60503053ce5de8d3ea1b2d1a7627d1ea33ea Signed-off-by: Sivaram Nair <sivaramn@nvidia.com> Reviewed-on: http://git-master/r/245108 (cherry picked from commit f4e922af79136d23991d86c17c34101a261912db) Reviewed-on: http://git-master/r/250629 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2013-09-14EDP: tegra: add core status debugfs attrSivaram Nair
Add a new debugfs node for printing out the current AP+DRAM EDP capping decisions. Bug 1257143 Change-Id: Ie42c78233e3462ea786456ffb9e321895a437c9f Signed-off-by: Sivaram Nair <sivaramn@nvidia.com> Reviewed-on: http://git-master/r/238035 (cherry picked from commit 7741dd6b9dd6aaeb89f5a0268fb343bcca500228) Reviewed-on: http://git-master/r/250625 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2013-09-14EDP: tegra: restructuring debugfs codeSivaram Nair
Moving more stuff to common code. Bug 1257143 Change-Id: Ied0a6ecdaa0dcca53547ba8df6a20de38298e41d Signed-off-by: Sivaram Nair <sivaramn@nvidia.com> Reviewed-on: http://git-master/r/238033 (cherry picked from commit 2c8df5eb7508b601f61ea0daef5df6eb9a63a86e) Reviewed-on: http://git-master/r/250623 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2013-09-14EDP: tegra: get bbc client name from board fileSivaram Nair
Let the board file specify the modem sys EDP client rather than assuming a fixed name. Bug 1257143 Change-Id: I2257730428ff7ddc676406f848dee737d84b4fe1 Signed-off-by: Sivaram Nair <sivaramn@nvidia.com> Reviewed-on: http://git-master/r/238032 (cherry picked from commit e5ed8f7249f357b76cc2cc628efecc031122805d) Reviewed-on: http://git-master/r/250622 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2013-09-14EDP: fix loan update gapsSivaram Nair
The loan update notifier is not called in few situations - fix those. Bug 1257143 Change-Id: I81a6ad18c2ffab9d1c7b2ea1d38f23e5a29156c8 Signed-off-by: Sivaram Nair <sivaramn@nvidia.com> Reviewed-on: http://git-master/r/238030 (cherry picked from commit 4fbde3eaaa42b758c9b274bf8970176e0a695e1a) Reviewed-on: http://git-master/r/250620 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2013-09-14EDP: relocating update_loans functionSivaram Nair
Relocating this function for increased visibility within the file. Bug 1257143 Change-Id: I5ab244f57b75636a2273346d1806d24b66a3ab9c Signed-off-by: Sivaram Nair <sivaramn@nvidia.com> Reviewed-on: http://git-master/r/238029 (cherry picked from commit 609693e5575d5e7ae52d0c7faecf48fd6ed1c36e) Reviewed-on: http://git-master/r/250619 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2013-09-14EDP: tegra: capping table debugfs attribSivaram Nair
Adding debugfs attributes for getting AP+DRAM EDP table and CPU power limits. Change-Id: I36f7d447a964f34a3ab6d803d753537baca1e235 Signed-off-by: Sivaram Nair <sivaramn@nvidia.com> Reviewed-on: http://git-master/r/236268 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com> Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com>
2013-09-14EDP: tegra: rebase core client states on gainSivaram Nair
The core client E-states are scaled down proportional to the gain factor. This will reduce the difference between an available budget and AP+DRAM EDP table entries. Bug 1266730 Change-Id: Ie68d3a71e320433b2096e3a5d40c8bb1185bae4f Signed-off-by: Sivaram Nair <sivaramn@nvidia.com> Reviewed-on: http://git-master/r/234947 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
2013-09-14EDP: psy depletion: allow null rbat lutSivaram Nair
For boards that do not specify an rbat lut, use the r_const as the RBAT. Change-Id: Ica8045c65fed34b48f2b89a5be4bc1435320924f Signed-off-by: Sivaram Nair <sivaramn@nvidia.com> Reviewed-on: http://git-master/r/233805 (cherry picked from commit 43e96b352cdfb1438edc326da0ac4ae05e14c03e) Reviewed-on: http://git-master/r/234945 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
2013-09-14EDP: tegra: filter out isolated gpu peaksSivaram Nair
Isolated gpu load peaks degrade CPU performance without benefitting the GPU use case. This patch implements a filter to detect such events by requiring the GPU load to be above gpu_high_threshold for at least gpu_high_count (default is 2) number of consecutive notifications. Bug 1293353 Change-Id: Ia14aa1d121c665251b6299cbe8b78a81f1f4c8d3 Signed-off-by: Sivaram Nair <sivaramn@nvidia.com> Reviewed-on: http://git-master/r/233597 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
2013-09-14EDP: tegra: compensate for performance reductionsSivaram Nair
While calculating the CPU freq cap for a given AP+DRAM power budget (the allowed E-state level), performance is lost in two places. (1) after applying the gain factor: since the E-state level multiplied by the gain factor does not exactly match a row in the AP+DRAM table (resulting in the selection of a lower value). (2) while looking up in the cpu power limit table: some delta mW is lost as in the above case (since there is no exact match, we are choosing a lower level) (1) is fixed by adding the delta amount to cpu power (2) is fixed by choosing a ceiling value (this is OK since in almost all cases, we have some battery cap remaining). Bug 1293353 Change-Id: I6584bfa385d8af15457d8c3faaa0d4a3169c4624 Signed-off-by: Sivaram Nair <sivaramn@nvidia.com> Reviewed-on: http://git-master/r/233596 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
2013-09-14EDP: tegra: use core_gain from board dataSivaram Nair
core_gain is made board specific. This patch makes the needed changes in the tegra core sys EDP client code. Bug 1266730 Change-Id: Icc3f77d245579e8927260cb3ec0475d8b765ba62 Signed-off-by: Sivaram Nair <sivaramn@nvidia.com> Reviewed-on: http://git-master/r/233591 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
2013-09-14fixup: remove __dev*Dan Willemsen
2013-09-14EDP: calculating OCV from SOC lutSivaram Nair
Not all fuel gauges provide OCV reading. This patch adds a lookup-table based OCV calculation (choosen only if the board data provides a SOC vs OCV lut). Bug 1274401 Change-Id: I423b02a52464546f325a4828057aeb18aa50ae53 Signed-off-by: Sivaram Nair <sivaramn@nvidia.com> Reviewed-on: http://git-master/r/231561 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
2013-09-14EDP: use GPU and EMC freqs in kHzSivaram Nair
T148 AP+DRAM EDP tables require GPU and EMC freqs to be specified in kHz. Pluto and Macallan already specifies the freqs in mHz - so this patch contains board file changes too (since these have to go as a single change). Bug 1266730 Change-Id: I14f96460865f775722afd217eea3401d4f0c6f18 Signed-off-by: Sivaram Nair <sivaramn@nvidia.com> Reviewed-on: http://git-master/r/231071 Reviewed-by: Mrutyunjay Sawant <msawant@nvidia.com> Tested-by: Mrutyunjay Sawant <msawant@nvidia.com>
2013-09-14EDP: adding power-supply depletion driverSivaram Nair
Power-supply depletion driver. Bug 1274376 Change-Id: I1e18db9bb06a18bb1cc6446fe36ce8422bae67cf Signed-off-by: Sivaram Nair <sivaramn@nvidia.com> Reviewed-on: http://git-master/r/226227 (cherry picked from commit d58d93daa615663ef9fe72c58357ec103a84803a) Reviewed-on: http://git-master/r/226667 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
2013-09-14EDP: cosmetic restructuringSivaram Nair
Renaming files to align with next set of changes Bug 1274376 Change-Id: I3f8984f29165fcdd245b9ee8fb7499cc876b3fd6 Signed-off-by: Sivaram Nair <sivaramn@nvidia.com> Reviewed-on: http://git-master/r/226223 (cherry picked from commit a4d3a78af74e2a92e29d75e0b300ddbd64f66cbf) Reviewed-on: http://git-master/r/226663 GVS: Gerrit_Virtual_Submit Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>