<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nvidia-tegra-modules.git/drivers/devfreq, branch gpu-paging</title>
<subtitle>NVIDIA's kernel modules to support tegra chips (used in Jetson boards)</subtitle>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/nvidia-tegra-modules.git/'/>
<entry>
<title>devfreq: check if debugfs is initialized before creation</title>
<updated>2021-07-13T20:54:42+00:00</updated>
<author>
<name>Sumit Gupta</name>
<email>sumitg@nvidia.com</email>
</author>
<published>2021-07-01T10:39:19+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/nvidia-tegra-modules.git/commit/?id=9ad98e0d0a7dd47491bdd9b787c785848d6cd4a7'/>
<id>9ad98e0d0a7dd47491bdd9b787c785848d6cd4a7</id>
<content type='text'>
Added checks for debugfs_initialized() and name not null
before creating debugfs node.

Bug 3330530

Signed-off-by: Sumit Gupta &lt;sumitg@nvidia.com&gt;
Change-Id: I11f3f898d51309f8b94ac8d920ceb8becec19c8d
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2552533
Reviewed-by: svc-mobile-coverity &lt;svc-mobile-coverity@nvidia.com&gt;
Reviewed-by: Bibek Basu &lt;bbasu@nvidia.com&gt;
Reviewed-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
Tested-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
GVS: Gerrit_Virtual_Submit
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Added checks for debugfs_initialized() and name not null
before creating debugfs node.

Bug 3330530

Signed-off-by: Sumit Gupta &lt;sumitg@nvidia.com&gt;
Change-Id: I11f3f898d51309f8b94ac8d920ceb8becec19c8d
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2552533
Reviewed-by: svc-mobile-coverity &lt;svc-mobile-coverity@nvidia.com&gt;
Reviewed-by: Bibek Basu &lt;bbasu@nvidia.com&gt;
Reviewed-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
Tested-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
GVS: Gerrit_Virtual_Submit
</pre>
</div>
</content>
</entry>
<entry>
<title>devfreq: wmark: active: set interrupt_driven</title>
<updated>2020-09-25T16:39:57+00:00</updated>
<author>
<name>Ken Chang</name>
<email>kenc@nvidia.com</email>
</author>
<published>2020-09-24T01:28:47+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/nvidia-tegra-modules.git/commit/?id=b722658b31e1dc622870a9d5f38a8418ef8493ca'/>
<id>b722658b31e1dc622870a9d5f38a8418ef8493ca</id>
<content type='text'>
Set interrupt_driven to 1 thus cancel_delayed_work_sync() won't be
called in devfreq_monitor_suspend() when handling DEVFREQ_GOV_SUSPEND
event. This will avoid below warning prints when runtime PM is enabled.

[ 22.121071] INFO: trying to register non-static key.
[ 22.126030] the code is fine but needs lockdep annotation.
[ 22.131501] turning off the locking correctness validator.

The backstrace:
[    9.322855] [&lt;ffffff80080d3b04&gt;] flush_work+0x1fc/0x208
[    9.322858] [&lt;ffffff80080d5180&gt;] __cancel_work_timer+0xa0/0x188
[    9.322862] [&lt;ffffff80080d52bc&gt;] cancel_delayed_work_sync+0x24/0x30
[    9.322867] [&lt;ffffff8008ce1da4&gt;] devfreq_monitor_suspend+0x4c/0x80
[    9.322871] [&lt;ffffff8008ce6d7c&gt;] devfreq_watermark_event_handler+0x3b4/0x458
[    9.322874] [&lt;ffffff8008ce1d20&gt;] devfreq_suspend_device+0x60/0x98
[    9.322878] [&lt;ffffff800852dad4&gt;] nvhost_module_runtime_suspend+0x64/0x160
[    9.322883] [&lt;ffffff800878dc64&gt;] pm_generic_runtime_suspend+0x3c/0x58
[    9.322887] [&lt;ffffff800879e478&gt;] genpd_runtime_suspend+0x98/0x230
[    9.322890] [&lt;ffffff8008790004&gt;] __rpm_callback+0x74/0xa0
[    9.322893] [&lt;ffffff8008790064&gt;] rpm_callback+0x34/0x98
[    9.322896] [&lt;ffffff80087906c8&gt;] rpm_suspend+0x100/0x5f0
[    9.322899] [&lt;ffffff80087921d0&gt;] pm_runtime_work+0x80/0xb8
[    9.322902] [&lt;ffffff80080d4054&gt;] process_one_work+0x1e4/0x4b0
[    9.322904] [&lt;ffffff80080d4370&gt;] worker_thread+0x50/0x4c8
[    9.322908] [&lt;ffffff80080daffc&gt;] kthread+0xec/0xf0
[    9.322911] [&lt;ffffff80080838a0&gt;] ret_from_fork+0x10/0x30

Bug 3128395

Change-Id: I15116cd452a062620c01e91f71eecba7d68cde17
Signed-off-by: Ken Chang &lt;kenc@nvidia.com&gt;
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2418831
Reviewed-by: automaticguardword &lt;automaticguardword@nvidia.com&gt;
Reviewed-by: Aaron Tian &lt;atian@nvidia.com&gt;
Reviewed-by: Bibek Basu &lt;bbasu@nvidia.com&gt;
Reviewed-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
GVS: Gerrit_Virtual_Submit
Tested-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Set interrupt_driven to 1 thus cancel_delayed_work_sync() won't be
called in devfreq_monitor_suspend() when handling DEVFREQ_GOV_SUSPEND
event. This will avoid below warning prints when runtime PM is enabled.

[ 22.121071] INFO: trying to register non-static key.
[ 22.126030] the code is fine but needs lockdep annotation.
[ 22.131501] turning off the locking correctness validator.

The backstrace:
[    9.322855] [&lt;ffffff80080d3b04&gt;] flush_work+0x1fc/0x208
[    9.322858] [&lt;ffffff80080d5180&gt;] __cancel_work_timer+0xa0/0x188
[    9.322862] [&lt;ffffff80080d52bc&gt;] cancel_delayed_work_sync+0x24/0x30
[    9.322867] [&lt;ffffff8008ce1da4&gt;] devfreq_monitor_suspend+0x4c/0x80
[    9.322871] [&lt;ffffff8008ce6d7c&gt;] devfreq_watermark_event_handler+0x3b4/0x458
[    9.322874] [&lt;ffffff8008ce1d20&gt;] devfreq_suspend_device+0x60/0x98
[    9.322878] [&lt;ffffff800852dad4&gt;] nvhost_module_runtime_suspend+0x64/0x160
[    9.322883] [&lt;ffffff800878dc64&gt;] pm_generic_runtime_suspend+0x3c/0x58
[    9.322887] [&lt;ffffff800879e478&gt;] genpd_runtime_suspend+0x98/0x230
[    9.322890] [&lt;ffffff8008790004&gt;] __rpm_callback+0x74/0xa0
[    9.322893] [&lt;ffffff8008790064&gt;] rpm_callback+0x34/0x98
[    9.322896] [&lt;ffffff80087906c8&gt;] rpm_suspend+0x100/0x5f0
[    9.322899] [&lt;ffffff80087921d0&gt;] pm_runtime_work+0x80/0xb8
[    9.322902] [&lt;ffffff80080d4054&gt;] process_one_work+0x1e4/0x4b0
[    9.322904] [&lt;ffffff80080d4370&gt;] worker_thread+0x50/0x4c8
[    9.322908] [&lt;ffffff80080daffc&gt;] kthread+0xec/0xf0
[    9.322911] [&lt;ffffff80080838a0&gt;] ret_from_fork+0x10/0x30

Bug 3128395

Change-Id: I15116cd452a062620c01e91f71eecba7d68cde17
Signed-off-by: Ken Chang &lt;kenc@nvidia.com&gt;
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2418831
Reviewed-by: automaticguardword &lt;automaticguardword@nvidia.com&gt;
Reviewed-by: Aaron Tian &lt;atian@nvidia.com&gt;
Reviewed-by: Bibek Basu &lt;bbasu@nvidia.com&gt;
Reviewed-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
GVS: Gerrit_Virtual_Submit
Tested-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>podgov: Clear history and set freq before suspend</title>
<updated>2020-06-16T17:53:50+00:00</updated>
<author>
<name>Mary Do</name>
<email>mdo@nvidia.com</email>
</author>
<published>2020-06-09T16:01:16+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/nvidia-tegra-modules.git/commit/?id=87aa75c4ecd60a13056e32a00876b48591a520ec'/>
<id>87aa75c4ecd60a13056e32a00876b48591a520ec</id>
<content type='text'>
While the device is active, devfreq calls into
podgov to set the device frequency based on the
device workload. When the device goes into
suspension, devfreq would do one last call into
podgov before going into suspension. However,
because podgov decides the frequency based on
the history of previous loads, if the load drops
suddenly (i.e. going from 100% to 0%), this last
call might result in the frequency set high and
kept high until devfreq resumes running.

In this change, podgov would check if the device
has been suspended, and if so, it would clear the
history and set the frequency to min freq before
suspending devfreq. As a result, whenever the
device is suspended, its frequency will be set to
min freq.

Bug 200613859

Change-Id: I1ad2fd563407d53177a84f8fddbf47b699fa97b5
Signed-off-by: Mary Do &lt;mdo@nvidia.com&gt;
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2358085
Reviewed-by: automaticguardword &lt;automaticguardword@nvidia.com&gt;
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Mubushir Rahman &lt;mubushirr@nvidia.com&gt;
Reviewed-by: Peng Liu &lt;pengliu@nvidia.com&gt;
Reviewed-by: Winnie Hsu &lt;whsu@nvidia.com&gt;
Reviewed-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
GVS: Gerrit_Virtual_Submit
Tested-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
While the device is active, devfreq calls into
podgov to set the device frequency based on the
device workload. When the device goes into
suspension, devfreq would do one last call into
podgov before going into suspension. However,
because podgov decides the frequency based on
the history of previous loads, if the load drops
suddenly (i.e. going from 100% to 0%), this last
call might result in the frequency set high and
kept high until devfreq resumes running.

In this change, podgov would check if the device
has been suspended, and if so, it would clear the
history and set the frequency to min freq before
suspending devfreq. As a result, whenever the
device is suspended, its frequency will be set to
min freq.

Bug 200613859

Change-Id: I1ad2fd563407d53177a84f8fddbf47b699fa97b5
Signed-off-by: Mary Do &lt;mdo@nvidia.com&gt;
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2358085
Reviewed-by: automaticguardword &lt;automaticguardword@nvidia.com&gt;
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Mubushir Rahman &lt;mubushirr@nvidia.com&gt;
Reviewed-by: Peng Liu &lt;pengliu@nvidia.com&gt;
Reviewed-by: Winnie Hsu &lt;whsu@nvidia.com&gt;
Reviewed-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
GVS: Gerrit_Virtual_Submit
Tested-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>devfreq: wmark: active: config params by sysfs</title>
<updated>2020-01-03T14:39:22+00:00</updated>
<author>
<name>Aaron Tian</name>
<email>atian@nvidia.com</email>
</author>
<published>2019-12-23T03:28:10+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/nvidia-tegra-modules.git/commit/?id=6d2e734e3b1a3d951a7b934c869c91f99dc3f2f7'/>
<id>6d2e734e3b1a3d951a7b934c869c91f99dc3f2f7</id>
<content type='text'>
Configure governor parameters through sysfs instead of
debugfs, add add spinlock for concurrency protection.

Bug 200501949

Change-Id: I0131e6ab0d3befe380ef4774eb4d6193d2266011
Signed-off-by: Aaron Tian &lt;atian@nvidia.com&gt;
Reviewed-on: https://git-master.nvidia.com/r/2267338
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Mikko Perttunen &lt;mperttunen@nvidia.com&gt;
Reviewed-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
Tested-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Configure governor parameters through sysfs instead of
debugfs, add add spinlock for concurrency protection.

Bug 200501949

Change-Id: I0131e6ab0d3befe380ef4774eb4d6193d2266011
Signed-off-by: Aaron Tian &lt;atian@nvidia.com&gt;
Reviewed-on: https://git-master.nvidia.com/r/2267338
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Mikko Perttunen &lt;mperttunen@nvidia.com&gt;
Reviewed-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
Tested-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>devfreq: wmark: active: introduce freq_boost_en knob</title>
<updated>2019-12-12T03:55:59+00:00</updated>
<author>
<name>Aaron Tian</name>
<email>atian@nvidia.com</email>
</author>
<published>2019-12-04T10:07:47+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/nvidia-tegra-modules.git/commit/?id=30c0d8332a9a36f88c4ba809b94cf5b0669e9b55'/>
<id>30c0d8332a9a36f88c4ba809b94cf5b0669e9b55</id>
<content type='text'>
There is a freq. boost mechanism in wmark_active governor,
when current loading exceed load_max, directly set target
freq. to fmax.

Introduce 'freq_boost_en' knob to support enable/disable
freq. boost. If performance does not regressed, freq. boost
can be disabled to let DFS smoothly and save power.

Bug 200501949

Change-Id: I6ec7b7079a22a8d974743d766cfd0cc7d0e2dcd4
Signed-off-by: Aaron Tian &lt;atian@nvidia.com&gt;
Reviewed-on: https://git-master.nvidia.com/r/2255082
GVS: Gerrit_Virtual_Submit
Reviewed-by: Mikko Perttunen &lt;mperttunen@nvidia.com&gt;
Reviewed-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
Tested-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There is a freq. boost mechanism in wmark_active governor,
when current loading exceed load_max, directly set target
freq. to fmax.

Introduce 'freq_boost_en' knob to support enable/disable
freq. boost. If performance does not regressed, freq. boost
can be disabled to let DFS smoothly and save power.

Bug 200501949

Change-Id: I6ec7b7079a22a8d974743d766cfd0cc7d0e2dcd4
Signed-off-by: Aaron Tian &lt;atian@nvidia.com&gt;
Reviewed-on: https://git-master.nvidia.com/r/2255082
GVS: Gerrit_Virtual_Submit
Reviewed-by: Mikko Perttunen &lt;mperttunen@nvidia.com&gt;
Reviewed-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
Tested-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>video: tegra: host: update T186 VIC actmon driver</title>
<updated>2019-10-10T20:41:15+00:00</updated>
<author>
<name>Aaron Tian</name>
<email>atian@nvidia.com</email>
</author>
<published>2019-09-18T09:13:19+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/nvidia-tegra-modules.git/commit/?id=d6c7740ea2ddd9d5087d938e9ee3b3bc2c9b6d0a'/>
<id>d6c7740ea2ddd9d5087d938e9ee3b3bc2c9b6d0a</id>
<content type='text'>
Modify T186/T210 VIC actmon driver and wmark_active governor
to address the following issues:

1. To let VIC actmon reports accurate VIC active
   cycle counts, set static WEIGHT_COUNT in both
   VIC actmon and VIC IP block. It ensures
   VIC actmon can capture all activity signal
   toggle event from VIC.

   The value of WEIGHT_COUNT are equal to:

   4 * (max VIC freq / VIC_actmon freq)
       = 4 * (1024 / 19.2)
      ~= 213

2. Since VIC actmon reports active "VIC clock
   cycle" instead of "VIC actmon clock cycle",
   "relative loading translation" should consider
   current VIC clock freq.

   E.g.,
     - sample_period = 80 us, VIC freq = 115.2 Mhz
     - 9216 cycles represents 100% loading
       (115.2 * 80)

3. Update upper/lower wmark settings after VIC
   clock scaled completed, to ensure wmark settings
   are equil to 0 ~ 100% loading of current freq.
   - Register 'get_dev_status' instance in
     devfreq_dev_profile, to let wmark active
     governor can query current device freq.
   - Register devfreq transition notifier in
     wmark_active governor. It will query current
     device freq. and update corresponding wmark
     value after VIC freq. changed.

Bug 200501949

Change-Id: Ic159eb93fddc37d55b0c9649a3afcb50ed82cac2
Signed-off-by: Aaron Tian &lt;atian@nvidia.com&gt;
Reviewed-on: https://git-master.nvidia.com/r/2200520
GVS: Gerrit_Virtual_Submit
Reviewed-by: Arto Merilainen &lt;amerilainen@nvidia.com&gt;
Reviewed-by: Mikko Perttunen &lt;mperttunen@nvidia.com&gt;
Reviewed-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
Tested-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Modify T186/T210 VIC actmon driver and wmark_active governor
to address the following issues:

1. To let VIC actmon reports accurate VIC active
   cycle counts, set static WEIGHT_COUNT in both
   VIC actmon and VIC IP block. It ensures
   VIC actmon can capture all activity signal
   toggle event from VIC.

   The value of WEIGHT_COUNT are equal to:

   4 * (max VIC freq / VIC_actmon freq)
       = 4 * (1024 / 19.2)
      ~= 213

2. Since VIC actmon reports active "VIC clock
   cycle" instead of "VIC actmon clock cycle",
   "relative loading translation" should consider
   current VIC clock freq.

   E.g.,
     - sample_period = 80 us, VIC freq = 115.2 Mhz
     - 9216 cycles represents 100% loading
       (115.2 * 80)

3. Update upper/lower wmark settings after VIC
   clock scaled completed, to ensure wmark settings
   are equil to 0 ~ 100% loading of current freq.
   - Register 'get_dev_status' instance in
     devfreq_dev_profile, to let wmark active
     governor can query current device freq.
   - Register devfreq transition notifier in
     wmark_active governor. It will query current
     device freq. and update corresponding wmark
     value after VIC freq. changed.

Bug 200501949

Change-Id: Ic159eb93fddc37d55b0c9649a3afcb50ed82cac2
Signed-off-by: Aaron Tian &lt;atian@nvidia.com&gt;
Reviewed-on: https://git-master.nvidia.com/r/2200520
GVS: Gerrit_Virtual_Submit
Reviewed-by: Arto Merilainen &lt;amerilainen@nvidia.com&gt;
Reviewed-by: Mikko Perttunen &lt;mperttunen@nvidia.com&gt;
Reviewed-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
Tested-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>devfreq: recent high as a scaling factor</title>
<updated>2019-05-20T11:57:23+00:00</updated>
<author>
<name>Peng Liu</name>
<email>pengliu@nvidia.com</email>
</author>
<published>2019-04-01T22:38:03+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/nvidia-tegra-modules.git/commit/?id=68d758397fb6f247197269d6f0d632418f0901b2'/>
<id>68d758397fb6f247197269d6f0d632418f0901b2</id>
<content type='text'>
A circle buffer is introduced to store recent normalized GPU active
cycle counts. The highest value in this buffer marks the busiest
moment in recent history. When podgov decides next GPU freqeuncy, it
makes sure the new frequency level can satisfy the recent high work
load. This can be considered as an adaptive GPU frequency floor. This
feature can reduce stutter for certain use cases where work load
spikes occur without any temporal pattern, such as 4k video playback.

Bug 1963732

Change-Id: I70024f4d3ffb63425852e4f320eeffb6bc77c5e3
Signed-off-by: Peng Liu &lt;pengliu@nvidia.com&gt;
Reviewed-on: https://git-master.nvidia.com/r/2114154
(cherry picked from commit 79ce3f6aa88f3950a13037bd4459fcc0bce6914e)
Reviewed-on: https://git-master.nvidia.com/r/2120647
GVS: Gerrit_Virtual_Submit
Reviewed-by: Rajkumar Kasirajan &lt;rkasirajan@nvidia.com&gt;
Tested-by: Rajkumar Kasirajan &lt;rkasirajan@nvidia.com&gt;
Reviewed-by: Bibek Basu &lt;bbasu@nvidia.com&gt;
Reviewed-by: Aaron Tian &lt;atian@nvidia.com&gt;
Tested-by: Aaron Tian &lt;atian@nvidia.com&gt;
Reviewed-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
Tested-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A circle buffer is introduced to store recent normalized GPU active
cycle counts. The highest value in this buffer marks the busiest
moment in recent history. When podgov decides next GPU freqeuncy, it
makes sure the new frequency level can satisfy the recent high work
load. This can be considered as an adaptive GPU frequency floor. This
feature can reduce stutter for certain use cases where work load
spikes occur without any temporal pattern, such as 4k video playback.

Bug 1963732

Change-Id: I70024f4d3ffb63425852e4f320eeffb6bc77c5e3
Signed-off-by: Peng Liu &lt;pengliu@nvidia.com&gt;
Reviewed-on: https://git-master.nvidia.com/r/2114154
(cherry picked from commit 79ce3f6aa88f3950a13037bd4459fcc0bce6914e)
Reviewed-on: https://git-master.nvidia.com/r/2120647
GVS: Gerrit_Virtual_Submit
Reviewed-by: Rajkumar Kasirajan &lt;rkasirajan@nvidia.com&gt;
Tested-by: Rajkumar Kasirajan &lt;rkasirajan@nvidia.com&gt;
Reviewed-by: Bibek Basu &lt;bbasu@nvidia.com&gt;
Reviewed-by: Aaron Tian &lt;atian@nvidia.com&gt;
Tested-by: Aaron Tian &lt;atian@nvidia.com&gt;
Reviewed-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
Tested-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>devfreq: add debug info when debugfs creation fail</title>
<updated>2019-05-09T21:50:08+00:00</updated>
<author>
<name>Sumit Gupta</name>
<email>sumitg@nvidia.com</email>
</author>
<published>2019-05-02T07:35:50+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/nvidia-tegra-modules.git/commit/?id=49e184066be73267becc5e931c6fce67335c5f23'/>
<id>49e184066be73267becc5e931c6fce67335c5f23</id>
<content type='text'>
Add debugfs_lookup() to check if the debugfs creation failure
is due to the directory already present. Also, calling panic
to get the callstack to see which code is creating debugfs
again. Panic was added because dumpstack() is not giving
callstack due to low lo0g level.

Bug 200491990

Change-Id: I45ac74c90f6c15a53a12f10d7147b476ce829b38
Signed-off-by: Sumit Gupta &lt;sumitg@nvidia.com&gt;
Reviewed-on: https://git-master.nvidia.com/r/2110058
GVS: Gerrit_Virtual_Submit
Reviewed-by: Bibek Basu &lt;bbasu@nvidia.com&gt;
Tested-by: Bibek Basu &lt;bbasu@nvidia.com&gt;
Reviewed-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
Tested-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add debugfs_lookup() to check if the debugfs creation failure
is due to the directory already present. Also, calling panic
to get the callstack to see which code is creating debugfs
again. Panic was added because dumpstack() is not giving
callstack due to low lo0g level.

Bug 200491990

Change-Id: I45ac74c90f6c15a53a12f10d7147b476ce829b38
Signed-off-by: Sumit Gupta &lt;sumitg@nvidia.com&gt;
Reviewed-on: https://git-master.nvidia.com/r/2110058
GVS: Gerrit_Virtual_Submit
Reviewed-by: Bibek Basu &lt;bbasu@nvidia.com&gt;
Tested-by: Bibek Basu &lt;bbasu@nvidia.com&gt;
Reviewed-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
Tested-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>devfreq: podgov: use cycles/sec to estimate load</title>
<updated>2019-05-07T18:48:21+00:00</updated>
<author>
<name>Peng Liu</name>
<email>pengliu@nvidia.com</email>
</author>
<published>2019-03-05T22:49:00+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/nvidia-tegra-modules.git/commit/?id=524b0e580ae235ba89738418b4a623825bccae3d'/>
<id>524b0e580ae235ba89738418b4a623825bccae3d</id>
<content type='text'>
GPU clock may change within the period of time defined by smooth. Thus
the result of averaging load percentages within smooth window has less
meanning. New method keeps track of active GPU cycle count per time
unit, and average load is average active cycle count divided by
current GPU clock (total cycle count per time unit).

Bug 1963732

Change-Id: I88cfb998f9bcfa0d6d0397f653f8e3096d4b3eed
Signed-off-by: Peng Liu &lt;pengliu@nvidia.com&gt;
Reviewed-on: https://git-master.nvidia.com/r/2033266
(cherry picked from commit 4080e458dd4e1651ef61f4d9cf3f2b5ea6eb6a1f)
Reviewed-on: https://git-master.nvidia.com/r/2104701
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Aaron Tian &lt;atian@nvidia.com&gt;
Tested-by: Aaron Tian &lt;atian@nvidia.com&gt;
Reviewed-by: Rajkumar Kasirajan &lt;rkasirajan@nvidia.com&gt;
Reviewed-by: Bibek Basu &lt;bbasu@nvidia.com&gt;
Reviewed-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
Tested-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
GPU clock may change within the period of time defined by smooth. Thus
the result of averaging load percentages within smooth window has less
meanning. New method keeps track of active GPU cycle count per time
unit, and average load is average active cycle count divided by
current GPU clock (total cycle count per time unit).

Bug 1963732

Change-Id: I88cfb998f9bcfa0d6d0397f653f8e3096d4b3eed
Signed-off-by: Peng Liu &lt;pengliu@nvidia.com&gt;
Reviewed-on: https://git-master.nvidia.com/r/2033266
(cherry picked from commit 4080e458dd4e1651ef61f4d9cf3f2b5ea6eb6a1f)
Reviewed-on: https://git-master.nvidia.com/r/2104701
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Aaron Tian &lt;atian@nvidia.com&gt;
Tested-by: Aaron Tian &lt;atian@nvidia.com&gt;
Reviewed-by: Rajkumar Kasirajan &lt;rkasirajan@nvidia.com&gt;
Reviewed-by: Bibek Basu &lt;bbasu@nvidia.com&gt;
Reviewed-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
Tested-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>devfreq: add dumpstack in debugfs creation failure</title>
<updated>2019-03-15T13:47:48+00:00</updated>
<author>
<name>sumitg</name>
<email>sumitg@nvidia.com</email>
</author>
<published>2019-02-20T11:09:48+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/nvidia-tegra-modules.git/commit/?id=9bff0f0ab5753a6b5c009e9ff89d890450f5e426'/>
<id>9bff0f0ab5753a6b5c009e9ff89d890450f5e426</id>
<content type='text'>
Adding dump_stack() in error condition while creating
debugfs to track possible double gpu gov addition path.
	"podgov: can't create debugfs directory"

Bug 200491990

Change-Id: I6f7f3e1aa6ff0e86af9a399c7ce7a1bb75b4b7bb
Signed-off-by: sumitg &lt;sumitg@nvidia.com&gt;
Reviewed-on: https://git-master.nvidia.com/r/2023741
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Bibek Basu &lt;bbasu@nvidia.com&gt;
Tested-by: Bibek Basu &lt;bbasu@nvidia.com&gt;
Reviewed-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
Tested-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adding dump_stack() in error condition while creating
debugfs to track possible double gpu gov addition path.
	"podgov: can't create debugfs directory"

Bug 200491990

Change-Id: I6f7f3e1aa6ff0e86af9a399c7ce7a1bb75b4b7bb
Signed-off-by: sumitg &lt;sumitg@nvidia.com&gt;
Reviewed-on: https://git-master.nvidia.com/r/2023741
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Bibek Basu &lt;bbasu@nvidia.com&gt;
Tested-by: Bibek Basu &lt;bbasu@nvidia.com&gt;
Reviewed-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
Tested-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
