diff options
author | Deepak Nibade <dnibade@nvidia.com> | 2016-06-08 08:22:30 -0400 |
---|---|---|
committer | Terje Bergstrom <tbergstrom@nvidia.com> | 2016-06-27 12:14:04 -0400 |
commit | 61d4e27607c0ce4080ef02daeb09200181662337 (patch) | |
tree | 3dd3e7428e1d9c5c32c29062f96de4fa1e77d054 /drivers/gpu/nvgpu/gk20a/gk20a.h | |
parent | a445a678bcf480bde01ab784ab050096fd5725eb (diff) |
gpu: nvgpu: add QoS notifier for common clk framework
Define specific QoS notifier for common clk framework
and protect it with CONFIG_COMMON_CLK
This new API will first get min/max requirements from
pm_qos and set min/max freq values in devfreq
A call to update_devfreq() will then ensure that
new estimated frequency is clipped appropriately
between min and max values
This also ensures that frequency is set along with
all the book-keeping
Add below platform specific notifier callback and use it
with pm_qos_add_notifier()
int (*qos_notify)()
If qos_notify is set, then only register the callback
We currently support only one qos_id which is treated
as notifier for min frequency
Remove dependency on qos_id, and use appropriate QoS
APIs like pm_qos_read_min/max_bound()
Store devfreq's min/max frequency in struct gk20a
for reference
Bug 1772462
Change-Id: I63d6d17451d19c9d376b67df7db775b38929287d
Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
Reviewed-on: http://git-master/r/1161161
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gk20a.h')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h index 997da125..9acaa007 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/gk20a.h | |||
@@ -815,6 +815,8 @@ struct gk20a { | |||
815 | wait_queue_head_t sw_irq_nonstall_last_handled_wq; | 815 | wait_queue_head_t sw_irq_nonstall_last_handled_wq; |
816 | 816 | ||
817 | struct devfreq *devfreq; | 817 | struct devfreq *devfreq; |
818 | u32 devfreq_max_freq; | ||
819 | u32 devfreq_min_freq; | ||
818 | 820 | ||
819 | struct gk20a_scale_profile *scale_profile; | 821 | struct gk20a_scale_profile *scale_profile; |
820 | 822 | ||