summaryrefslogtreecommitdiff
path: root/drivers/misc/tegra-throughput.c
AgeCommit message (Collapse)Author
2014-07-11misc: Change info print as debug messagePankaj Dabade
Updating the message severity to debug. Bug 200007132 Bug 1283757 Change-Id: Ide4a7cc5b205939e561f96e9e6205e082440e515 Signed-off-by: Pankaj Dabade <pdabade@nvidia.com> Reviewed-on: http://git-master/r/435015 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Venkat Moganty <vmoganty@nvidia.com> Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
2014-03-04misc: tegra-throughput: 64-bit compatibilityArto Merilainen
This patch modifies the ioctls to be 64-bit compatible by: - making the tegra_throughput_target_fps_args size explicit - adding .compat_ioctl to support 32bit userspace Bug 1468697 Change-Id: Ib92894e733012171e29096105604353f3ff881df Signed-off-by: Arto Merilainen <amerilainen@nvidia.com> Reviewed-on: http://git-master/r/376948 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Tested-by: Bharat Nihalani <bnihalani@nvidia.com>
2014-03-04misc: tegra-throughput: check target timeSamuel Russell
Do not send hints if target_frame_time is 0. A target of 0 indicates that the target has not successfully been set. Bug 1432878 Change-Id: Ib3895e11a2aaa152b546f899ae334bd4de9154c8 Signed-off-by: Samuel Russell <samuelr@nvidia.com> Reviewed-on: http://git-master/r/375039 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Arto Merilainen <amerilainen@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2014-02-13drivers: cpuload and tegra-throughput to publish monotonic countersSimo Melenius
- introducing a couple of new nodes: - cpuload has "cpu_usage" which provides per-cpu time/idle/iowait counters instead of recent load - tegra-throughput has "framerate" which provides time and flip counts instead of averaged framerate Bug 1422044 Change-Id: I84d36b9d47a3fc902c70a04b76cf80d8a9a00e08 Signed-off-by: Simo Melenius <smelenius@nvidia.com> Reviewed-on: http://git-master/r/358678 Reviewed-by: Sachin Nikam <snikam@nvidia.com> Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
2014-01-30misc: tegra-throughput: add tracingIlan Aelion
Trace tegra-throughput events to ftrace Bug 1405319 Change-Id: I699774bc6d46a2c270b387afe82a405e95e62b9e Signed-off-by: Ilan Aelion <iaelion@nvidia.com> Reviewed-on: http://git-master/r/336316 Reviewed-by: Arto Merilainen <amerilainen@nvidia.com> Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com> GVS: Gerrit_Virtual_Submit
2013-10-03misc: tegra-throughput: Use notifiersArto Merilainen
We used to deliver this information by calling directly a function inside nvhost_pod. This is not suitable for our needs as we want to be able to use the same governor with several different (graphics) devices in the same system. This patch modifies tegra-throughput to use notifier chain for delivering information about changed throughput hint. Bug 1364804 Change-Id: Ifce1c84ae68cdcf54b00402efa80aee0b220bc9e Signed-off-by: Arto Merilainen <amerilainen@nvidia.com> (cherry picked from commit 9f10cf7082055f81c201ab5f5574c2f8fe8c6795) Signed-off-by: Ajay Nandakumar <anandakumarm@nvidia.com>
2013-09-14misc: tegra-throughput: avoid flooding warning msgDavid Pu
timediff value will overflow easily after put dc off for a while since the data type of long is just 4bytes for 32bit cpu. after timediff overflowed, uart will spew out warning messages for a long time before the timediff becomes > 0. fixed this issue by resetting the last_flip time as soon as overflow is occurred. Bug 1302148 Bug 1293211 Bug 1283757 Bug 1282005 Reviewed-on: http://git-master/r/236192 (cherry picked from commit d5cf072d6cad8b2bdbbe9ea71e6e60a635c59065) Change-Id: I527ddc1ed7850be3938f2341d7d1623ea4f22e76 Signed-off-by: David Pu <dpu@nvidia.com> Reviewed-on: http://git-master/r/237071 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Sachin Nikam <snikam@nvidia.com>
2013-09-14misc: tegra-throughput: move fps node to sysfsIlan Aelion
Move node from debugfs to /sys/devices/virtual/misc/tegra-throughput/fps Bug 1276548 Change-Id: I1a73f99922712e59d46fddc76707934fdd944de6 Signed-off-by: Ilan Aelion <iaelion@nvidia.com> Reviewed-on: http://git-master/r/225902 (cherry picked from commit 7ec9674a81cda32c888f35d9d7fbb3ec99d43b4b) Reviewed-on: http://git-master/r/227496 GVS: Gerrit_Virtual_Submit Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2013-09-14misc: tegra-throughput: fix fps readingIlan Aelion
fixed a bug in values written to /d/fps Bug 1171636 Change-Id: Idb6036c5658c1a5c8df79a4bda982655a63ad053 Signed-off-by: Ilan Aelion <iaelion@nvidia.com> Reviewed-on: http://git-master/r/212823 (cherry picked from commit eb1a6c5089acadb5d2d16b3fd934419aee94649c) Reviewed-on: http://git-master/r/218587 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com> Reviewed-by: Sachin Nikam <snikam@nvidia.com>
2013-09-14drivers: misc: throughput: fix kernel warningDeepak Nibade
fix kernel compilation warning of returning value from void function Bug 949219 Change-Id: I74b541aed3d5519151496f3a71335792a3c0fe72 Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-on: http://git-master/r/221967 Reviewed-by: Sachin Nikam <snikam@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User
2013-09-14drivers: make tegra-throughput driver always post fpsSimo Melenius
- number of active clients only controls delivering throughput hints - unified scaling needs fps rate regardless Bug 1161410 Bug 1171636 Change-Id: I63b4fc2e93eac00d2702f154f6b2d73b7941af86 Signed-off-by: Simo Melenius <smelenius@nvidia.com> Reviewed-on: http://git-master/r/201996 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Ilan Aelion <iaelion@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com>
2013-09-14drivers: misc: publish fps, cpu load, thread countIlan Aelion
adapted cpufreq_interactive load estimation and averaging of the number of runnable threads to a misc device that will write the current cpu id, load and nr_runnable_threads for each cpu to a sysfs node. Intended to provide an accurate cpu load reading to user space scaling controllers. In addition the momentary frame rate is written to /d/fps. Bug 1161410 Bug 1164121 Change-Id: I041e230463fa7d4a3c83e4a2ab2ce199f9a5d8ba Signed-off-by: Ilan Aelion <iaelion@nvidia.com> Reviewed-on: http://git-master/r/165089 Reviewed-by: Mrutyunjay Sawant <msawant@nvidia.com> Tested-by: Mrutyunjay Sawant <msawant@nvidia.com>
2013-09-14drivers: video: tegra: 3d scaling uses devfreqArto Merilainen
This change separates 3d load estimation and adjustment (device policy) from the governor that makes estimation for a proper clock frequency. This patch introduces a regression: Due to changes in the interface EMC scaling cannot be disabled anymore. Bug 965517 Change-Id: I1d42640f33054df4c659a4a20e3ab69e29392855 Signed-off-by: Arto Merilainen <amerilainen@nvidia.com> Reviewed-on: http://git-master/r/130581 Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Rebase-Id: R132aff46dd256478a06f6824bf56ef59287fd629
2013-09-14video: tegra: dc: disuse notifierIlan Aelion
Due to issues with rcu notifiers on secureos, modifying dc flip notifications to use a simple callback instead. Bug 1028850 Change-Id: Iebf2a6d64d7316e3df2b88444201f9f9a29698c5 Signed-off-by: Ilan Aelion <iaelion@nvidia.com> Reviewed-on: http://git-master/r/123103 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Jon Mayo <jmayo@nvidia.com> Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-by: Nitin Kumbhar <nkumbhar@nvidia.com> Rebase-Id: Re00cdee979ccb8cfe167be6a2bdcf48181a5418c
2013-09-14misc: throughput: move client calls to work queueIlan Aelion
Perform throughput notifications to clients on work queue rather than synchronously to dc flip notifications. Bug 1028850 Change-Id: Ib9446a4ab87a476230a90a1f23c260bcf98e01dc Signed-off-by: Ilan Aelion <iaelion@nvidia.com> (cherry picked from commit f48bec5168232d7a50ecfb193146a4be214af3d7) Reviewed-on: http://git-master/r/#change,122160 Reviewed-on: http://git-master/r/123102 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User Rebase-Id: R5be1166b40d0ce9896a9aa09559596061136a3ba
2013-09-14misc: tegra-throughput: warn on short framesIlan Aelion
issue a warning on flip events less than 1 microsecond apart. Bug 1027664 Bug 1028850 Signed-off-by: Ilan Aelion <iaelion@nvidia.com> Reviewed-on: http://git-master/r/121810 (cherry picked from commit 6c0e907b437765fb9f7093599911b71a836d49a6) Change-Id: Ie15256e35475d345b2ebe6ddb637ccc181fcb61e Reviewed-on: http://git-master/r/122326 Reviewed-by: Donghan Ryu <dryu@nvidia.com> Tested-by: Donghan Ryu <dryu@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Rebase-Id: Rb35f636f1b692b3d324038e478d06c03f72e68e6
2013-09-14misc: tegra-throughput: prevent race on initIlan Aelion
prevent a race condition on initialization which could result in multiple notifier registrations. Bug 1027664 Change-Id: I2e7dcad159f631a7e244d43019169fdaf195bc34 (cherry picked from commit 06ad60cd85a221eec673654c73d55fba34455a3a) Reviewed-on: http://git-master/r/121143 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Tested-by: Ilan Aelion <iaelion@nvidia.com> Reviewed-by: Michael I Gold <gold@nvidia.com> Rebase-Id: Rff9950095c9fe81af180cf46beaba5220f9c194f
2013-09-14misc: tegra-throughput: prevent division by 0Ilan Aelion
Prevent division by 0 on subsequent flip notifications at an interval shorter than 1 micro-second. Bug 1027664 Change-Id: I6e2f886721216fc2479adc1a24504b707c7ebe45 Signed-off-by: Ilan Aelion <iaelion@nvidia.com> (cherry picked from commit 92807179cbbd60be67e09ff40bdaab313e3a55fe) Reviewed-on: http://git-master/r/121142 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Donghan Ryu <dryu@nvidia.com> Reviewed-by: Mayuresh Kulkarni <mkulkarni@nvidia.com> Reviewed-by: Jon Mayo <jmayo@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Michael I Gold <gold@nvidia.com> Rebase-Id: Ra469056e76f755973dc3fa88cd075a38f2b0e5fe
2013-09-14video: tegra: host: adding throughput hint in 3dfsIlan Aelion
adding support for using a throughput hint given by the tegra-gfx misc device in the 3d scaling code. If throughput hint usage is enabled and the latest throughput hint is recent enough (less than 1 second old), the throughput hint is used to control 3d frequency scaling. Otherwise the existing idle time percentage estimate is used. Bug 991589 Change-Id: I68893e5ce7ef922b95ce5f5b3664eb8e1fdd4027 Signed-off-by: Ilan Aelion <iaelion@nvidia.com> Reviewed-on: http://git-master/r/116866 Reviewed-by: Lokesh Pathak <lpathak@nvidia.com> Tested-by: Lokesh Pathak <lpathak@nvidia.com> Rebase-Id: R2d5f7b6883ee4c0914a7650e94f0cfd2aa07cd9f
2013-09-14misc: tegra-throughput: adding throughput dev nodeIlan Aelion
Creates a miscdev at /dev/tegra-throughput which gl will use to set a target frame rate. In addition it receives notifications from dc on flip events. On each notification the percentage ratio of the actual frame time to the target frame time is calculated. In subsequent changes this ratio will be reported to other modules as a throughput hint. Bug 991589 Change-Id: Ieaa2b2755b63d2d071de31e3ef819d4c3b51a956 Signed-off-by: Ilan Aelion <iaelion@nvidia.com> Reviewed-on: http://git-master/r/116865 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com> Reviewed-by: Jon Mayo <jmayo@nvidia.com> Rebase-Id: R5ddb97ad2fbd13592386ab665ac9660d0300e464