From d59c7d1b98395bac25c721d0318fe4b32f0b13cd Mon Sep 17 00:00:00 2001 From: Alex Waterman Date: Thu, 1 Dec 2016 11:03:54 -0800 Subject: 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 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 --- drivers/gpu/nvgpu/gp106/xve_gp106.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'drivers/gpu') 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 @@ -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); } +/** + * 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. */ @@ -618,6 +631,7 @@ int gp106_init_xve_ops(struct gpu_ops *gops) gops->xve.available_speeds = xve_available_speeds_gp106; gops->xve.xve_readl = xve_xve_readl_gp106; gops->xve.xve_writel = xve_xve_writel_gp106; + gops->xve.disable_aspm = xve_disable_aspm_gp106; return 0; } -- cgit v1.2.2