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>
This commit is contained in:
Alex Waterman
2016-12-01 11:03:54 -08:00
committed by mobile promotions
parent be42a5bffb
commit d59c7d1b98

View File

@@ -138,6 +138,19 @@ static void set_xve_l1_mask(struct gk20a *g, int status)
g->ops.xve.xve_writel(g, xve_priv_xv_r(), xve_priv); g->ops.xve.xve_writel(g, xve_priv_xv_r(), xve_priv);
} }
/**
* Disable ASPM permanently.
*/
static void xve_disable_aspm_gp106(struct gk20a *g)
{
u32 xve_priv;
xve_priv = g->ops.xve.xve_readl(g, xve_priv_xv_r());
set_xve_l0s_mask(g, true);
set_xve_l1_mask(g, true);
}
/** /**
* When doing the speed change disable power saving features. * When doing the speed change disable power saving features.
*/ */
@@ -618,6 +631,7 @@ int gp106_init_xve_ops(struct gpu_ops *gops)
gops->xve.available_speeds = xve_available_speeds_gp106; gops->xve.available_speeds = xve_available_speeds_gp106;
gops->xve.xve_readl = xve_xve_readl_gp106; gops->xve.xve_readl = xve_xve_readl_gp106;
gops->xve.xve_writel = xve_xve_writel_gp106; gops->xve.xve_writel = xve_xve_writel_gp106;
gops->xve.disable_aspm = xve_disable_aspm_gp106;
return 0; return 0;
} }