diff options
author | Alex Waterman <alexw@nvidia.com> | 2016-12-01 14:03:54 -0500 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-01-04 18:53:56 -0500 |
commit | d59c7d1b98395bac25c721d0318fe4b32f0b13cd (patch) | |
tree | ab34239cb7bb8c6fdd0353ebbac15c13bfaa072b /drivers | |
parent | be42a5bffb1ddc24618a1a52615fbad02abad786 (diff) |
gpu: nvgpu: Implement permanent disable_aspm
Implement the permanent disable_aspm() function for XVE on gp106.
Bug 200256272
Change-Id: I63338415542381d8a43d746d9d4404a74a5f01cd
Signed-off-by: Alex Waterman <alexw@nvidia.com>
Reviewed-on: http://git-master/r/1263273
(cherry picked from commit 7890419f242a50c6d8ec27c3e8eb331823230ed9)
Reviewed-on: http://git-master/r/1280309
GVS: Gerrit_Virtual_Submit
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gpu/nvgpu/gp106/xve_gp106.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gp106/xve_gp106.c b/drivers/gpu/nvgpu/gp106/xve_gp106.c index 23a02fbd..71580e40 100644 --- a/drivers/gpu/nvgpu/gp106/xve_gp106.c +++ b/drivers/gpu/nvgpu/gp106/xve_gp106.c | |||
@@ -139,6 +139,19 @@ static void set_xve_l1_mask(struct gk20a *g, int status) | |||
139 | } | 139 | } |
140 | 140 | ||
141 | /** | 141 | /** |
142 | * Disable ASPM permanently. | ||
143 | */ | ||
144 | static void xve_disable_aspm_gp106(struct gk20a *g) | ||
145 | { | ||
146 | u32 xve_priv; | ||
147 | |||
148 | xve_priv = g->ops.xve.xve_readl(g, xve_priv_xv_r()); | ||
149 | |||
150 | set_xve_l0s_mask(g, true); | ||
151 | set_xve_l1_mask(g, true); | ||
152 | } | ||
153 | |||
154 | /** | ||
142 | * When doing the speed change disable power saving features. | 155 | * When doing the speed change disable power saving features. |
143 | */ | 156 | */ |
144 | static void disable_aspm_gp106(struct gk20a *g) | 157 | static void disable_aspm_gp106(struct gk20a *g) |
@@ -618,6 +631,7 @@ int gp106_init_xve_ops(struct gpu_ops *gops) | |||
618 | gops->xve.available_speeds = xve_available_speeds_gp106; | 631 | gops->xve.available_speeds = xve_available_speeds_gp106; |
619 | gops->xve.xve_readl = xve_xve_readl_gp106; | 632 | gops->xve.xve_readl = xve_xve_readl_gp106; |
620 | gops->xve.xve_writel = xve_xve_writel_gp106; | 633 | gops->xve.xve_writel = xve_xve_writel_gp106; |
634 | gops->xve.disable_aspm = xve_disable_aspm_gp106; | ||
621 | 635 | ||
622 | return 0; | 636 | return 0; |
623 | } | 637 | } |