summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/gk20a.h
diff options
context:
space:
mode:
authorDeepak Nibade <dnibade@nvidia.com>2016-12-06 10:29:58 -0500
committermobile promotions <svcmobile_promotions@nvidia.com>2016-12-14 15:38:32 -0500
commit02b8cda953f7ff0cc9750b79b62712609da9d6ad (patch)
tree04a26e13f45075901811f1ddf9cc1dc6d637deaf /drivers/gpu/nvgpu/gk20a/gk20a.h
parent866dafa484414f8ee540696d5df7617fdb4b1fc9 (diff)
gpu: nvgpu: store last_freq in gk20a struct
In gk20a_scale_target(), to check for duplicate freq requests we compare current frequency with devfreq->previous_freq But for very first request after boot, we have devfreq->previous_freq set to MIN freq And in case we evaluate new frew as MIN freq then we skip calling postscale() and scaling of EMC clock This results in keeping EMC at MAX value To fix this, add new variable last_freq in gk20a structure. Use this variable to store frequency value and to compare for duplicate requests Bug 200255163 Bug 200257544 Change-Id: Icfc57234c63f68cce8ccf8221237105272dad853 Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-on: http://git-master/r/1263747 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gk20a.h')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h
index 49c2a348..02d3ffe0 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.h
@@ -950,6 +950,7 @@ struct gk20a {
950 struct devfreq *devfreq; 950 struct devfreq *devfreq;
951 951
952 struct gk20a_scale_profile *scale_profile; 952 struct gk20a_scale_profile *scale_profile;
953 unsigned long last_freq;
953 954
954 struct gk20a_ctxsw_trace *ctxsw_trace; 955 struct gk20a_ctxsw_trace *ctxsw_trace;
955 struct gk20a_fecs_trace *fecs_trace; 956 struct gk20a_fecs_trace *fecs_trace;