summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/tegra_bbc_proxy.c
AgeCommit message (Collapse)Author
2013-09-14ARM: tegra: bbc: add thermal zones supportHervé Fache
BBC thermal information is exported as statistics. This patch adds a mechanism based on the modem statistics to create thermal zones for the BBC-exported temperature sensors. Bug 1273958 Signed-off-by: Hervé Fache <hfache@nvidia.com> Change-Id: Id75d9be803a12c39717cfedb53022eeffbf8c239 Reviewed-on: http://git-master/r/247922 (cherry picked from commit f33ea45f628d1fd6c984d4c69512d7090012d22c) Reviewed-on: http://git-master/r/250665 Reviewed-by: Simone Willett <swillett@nvidia.com> Tested-by: Simone Willett <swillett@nvidia.com>
2013-09-14ARM: tegra: bbc: reorder EDP client registrationSivaram Nair
bbc_boot client registration is moved before bbc client registration. Sys EDP manager does not have enough budget to support both at the same time, which means that the bbc client registation will fail (E0 sum >= battery cap). Bug 1269041 Change-Id: I7b0a9b90bcd155fd8e0e601421ec804ea2c44f0a Signed-off-by: Sivaram Nair <sivaramn@nvidia.com> Reviewed-on: http://git-master/r/245109 (cherry picked from commit 06f8722ba9a8288c446f01709b7693140d01eb8e) Reviewed-on: http://git-master/r/250630 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2013-09-14ARM: tegra: register EDP loan between bbc and coreSivaram Nair
We need to make a sys EDP loan between the bbc and core (AP+DRAM) sys EDP clients so that the core can borrow EDP budget from modem. Bug 1257143 Change-Id: I6f84de745488794eede3268e10633bb38016b2bc Signed-off-by: Sivaram Nair <sivaramn@nvidia.com> Reviewed-on: http://git-master/r/238034 (cherry picked from commit 3321b6e54547e2774e0a17ab6fa1f3dc085ba669) Reviewed-on: http://git-master/r/250624 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2013-09-14ARM: tegra: bbc: remove unused sysfs APIsNeil Patel
Several sysfs attributes were unused and are being removed: - iso_reserve and iso_realize attributes are removed as the bbc always reserves/realizes in one remote request - removing the read capability for i_max_store since the EDP driver provides attributes to check this for all clients - removing bbcllr latency allowance attribute since LLR port LA is hardcoded in hw Bug 1303605 Change-Id: If2fed4ebe2eefb9d177d7abb983d4f502296470e Signed-off-by: Neil Patel <neilp@nvidia.com> Reviewed-on: http://git-master/r/228506 Reviewed-by: Mandar Padmawar <mpadmawar@nvidia.com> Tested-by: Mandar Padmawar <mpadmawar@nvidia.com>
2013-09-14ARM: tegra: ceres/atlantis: add driver name in regulator consumerLaxman Dewangan
Add driver name in the regulator consumer for the tegra_bbc_proxy driver. Also corrected the error check return from regulator_get() as it returns PTR_ERR in case of error, it never returns NULL. Change-Id: Ic2b8167619daac21a9e6b618d7c1e66665880496 Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com> Reviewed-on: http://git-master/r/234898 Reviewed-by: Automatic_Commit_Validation_User
2013-09-14ARM: tegra: bbc: provide api to save and restore isoVinayak Pane
The ISO request from BBC must be cleared when BBC is hibernated. And the ISO bandwidth should be restored back when BBC wakes up. Adding APIs in bbc proxy driver to support above need to be controlled from bb power driver. Bug 1284833 Change-Id: I8313bb1fd529a2f5a0c6f32bac5a5e51bf78509b Signed-off-by: Vinayak Pane <vpane@nvidia.com> Reviewed-on: http://git-master/r/226866 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Stephane Dion <sdion@nvidia.com> Reviewed-by: Steve Lin <stlin@nvidia.com>
2013-09-14ARM: tegra: bbc: Add kernel support for EDP/ISO requestsNeil Patel
Add support for making EDP and ISO requests on behalf of the BBC from within the kernel. This will be used by the BBC via the NVSHM RPC mechanism to reduce request latency. Bug 1282925 Change-Id: I97319be46f55f33a03b4035ef380d62f7cb2dbff Signed-off-by: Neil Patel <neilp@nvidia.com> Reviewed-on: http://git-master/r/224470 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Herve Fache <hfache@nvidia.com> GVS: Gerrit_Virtual_Submit Tested-by: Herve Fache <hfache@nvidia.com> Reviewed-by: Steve Lin <stlin@nvidia.com>
2013-09-14ARM: tegra: bbc: fix return check for set_marginNeil Patel
The isomgr set_margin call returns 0 on success. Change-Id: I47f31cc283b4bb1eccd1179926a04babfa04b521 Signed-off-by: Neil Patel <neilp@nvidia.com> Reviewed-on: http://git-master/r/225817 Reviewed-by: Mrutyunjay Sawant <msawant@nvidia.com> Tested-by: Mrutyunjay Sawant <msawant@nvidia.com>
2013-09-14ARM: tegra: bbc: fix compiler error for thresholdNeil Patel
The threshold attribute should be static to avoid conflicts. Bug 1254450 Change-Id: I8a46066ef2c8891ae7edb820e938db329bbd9bee Signed-off-by: Neil Patel <neilp@nvidia.com> Reviewed-on: http://git-master/r/225699 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Steve Lin <stlin@nvidia.com> Reviewed-by: Varun Colbert <vcolbert@nvidia.com>
2013-09-14arm: tegra: bbc: fix Coverity issue of unchecked return valueDeepak Nibade
Coverity id : 22953 Bug 1046331 Change-Id: Ic019dc6867be9f6142b4239dc3ddf8d92978b5b0 Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-on: http://git-master/r/223887 Reviewed-by: Neil Patel <neilp@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Sachin Nikam <snikam@nvidia.com>
2013-09-14ARM: tegra: bbc: margin for max bbc iso bwNeil Patel
Bug 1264187 Change-Id: I099af845c3a0a81a1f79f1a3de769d2670bd8b06 Signed-off-by: Neil Patel <neilp@nvidia.com> Reviewed-on: http://git-master/r/215174 Reviewed-by: Mrutyunjay Sawant <msawant@nvidia.com> Tested-by: Mrutyunjay Sawant <msawant@nvidia.com>
2013-09-14arm: tegra: bbc: fix xxx_store_state() methodJulien Vuillaumier
Function expects to receives a string that contains either keyword or numerical value. Remove unused integer conversion that returns with error code when keyword is passed as argument ('enabled' or 'disabled'). bug 1271082 Change-Id: I704a5e65073251aaf9657a9e4d57907845cd80e6 Signed-off-by: Julien Vuillaumier <jvuillaumier@nvidia.com> Reviewed-on: http://git-master/r/218951 Reviewed-by: Thomas Cherry <tcherry@nvidia.com> Tested-by: Thomas Cherry <tcherry@nvidia.com> GVS: Gerrit_Virtual_Submit
2013-09-14arm: tegra: bbc: fix Coverity issuesDeepak Nibade
handle unchecked return value from function sscanf Coverity id : 22831 22832 22833 22834 22835 22836 22837 22838 Change-Id: I442d88a9450d8991bf4c6e895245c23e9e1ef2a3 Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-on: http://git-master/r/217826 Reviewed-by: Mandar Padmawar <mpadmawar@nvidia.com> Tested-by: Mandar Padmawar <mpadmawar@nvidia.com>
2013-09-14ARM: tegra: bbc: allow rf regulator controlNeil Patel
The BBC needs to control the RF regulators to switch between PFM and PWM mode depending on network mode and also to change voltage value or switch on/off RF DCDC. Change-Id: I054b014276bf4906828816cd9b47c40f07e50bdc Signed-off-by: Neil Patel <neilp@nvidia.com> Reviewed-on: http://git-master/r/215114 Reviewed-by: Simone Willett <swillett@nvidia.com> Tested-by: Simone Willett <swillett@nvidia.com>
2013-09-14ARM: tegra: bbc: set LA based on ISO requestsNeil Patel
The BBCR and BBCW LA values should be set based on ISO bw reservation requests. The BBCLLR LA value should be set for 640 MB/s so that cache misses are not throttled and is not expected to change. Bug 1258931 Change-Id: Ibfcc1fac931bab6600d13aee0e43761a10b801ad Signed-off-by: Neil Patel <neilp@nvidia.com> Reviewed-on: http://git-master/r/212156 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Frederic Bossy <fbossy@nvidia.com> Reviewed-by: Stephane Dion <sdion@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Steve Lin <stlin@nvidia.com>
2013-09-14arm: tegra: bbc: create sim regulator sysfs interfaceVinayak Pane
Create sysfs nodes for controlling sim card regulators. These sysfs nodes will expose consumer regulator functions to enable and set voltage level. Bug 1255834 Change-Id: Ia4b7a34f0bc097b46a09cd994c8f04c28e95fdbf Signed-off-by: Vinayak Pane <vpane@nvidia.com> Signed-off-by: Neil Patel <neilp@nvidia.com> Reviewed-on: http://git-master/r/210591 Reviewed-by: Simone Willett <swillett@nvidia.com> Tested-by: Simone Willett <swillett@nvidia.com>
2013-09-14ARM: tegra: bbc: set max iso bwNeil Patel
Set the max iso bw for the BBC and ensure it is not exceeded when updating the LA/DDA settings. Bug 1177400 Change-Id: I5404c18af9a852330c55401452e001105c264b39 Signed-off-by: Neil Patel <neilp@nvidia.com> Reviewed-on: http://git-master/r/208128 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Steve Lin <stlin@nvidia.com>
2013-09-14ARM: tegra: bbc: support latency parameterNeil Patel
This change adds support for setting the latency arg for the isomgr interface through sysfs. Bug 1177400 Change-Id: If4fec1847183efce6ad1447f273604bcdf88f825 Signed-off-by: Neil Patel <neilp@nvidia.com> Reviewed-on: http://git-master/r/207429 Reviewed-by: Stephane Dion <sdion@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Steve Lin <stlin@nvidia.com>
2013-09-14ARM: Tegra: add new sysfs entries for tegra_bbc_proxyStephane Dion
One entry to register the modem client and one other to perform reserve and realize in a single sysfs write bug 1205851 Change-Id: I340c7fe69037aef951f019ad86065eaa1381967b Signed-off-by: Stephane Dion <sdion@nvidia.com> Reviewed-on: http://git-master/r/202975 Reviewed-by: Simone Willett <swillett@nvidia.com> Tested-by: Simone Willett <swillett@nvidia.com>
2013-09-14ARM: tegra: support modem EDP request/threshold updatesNeil Patel
The modem client unregisters and re-registers during crash recovery. Since permissions are set at init we need use sysfs files for request and threshold updates that are present at boot. Bug 1242282 Change-Id: I5023eb39f78224a7022dafd9af2ab753b1449952 Signed-off-by: Neil Patel <neilp@nvidia.com> Reviewed-on: http://git-master/r/203017 Reviewed-by: Mrutyunjay Sawant <msawant@nvidia.com> Tested-by: Mrutyunjay Sawant <msawant@nvidia.com>
2013-09-14ARM: tegra: add tegra_bbc_proxy driverNeil Patel
The Tegra BBC Proxy driver handles EDP, ISO BW, and LA related initialization for the BBC core Bug 1177400 Change-Id: Iaf1e000a235f01f9ff543e8966daa94980f1ab16 Signed-off-by: Neil Patel <neilp@nvidia.com> Reviewed-on: http://git-master/r/194816 Reviewed-by: Bitan Biswas <bbiswas@nvidia.com> Tested-by: Bitan Biswas <bbiswas@nvidia.com>