diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/fb_gk20a.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/fb_gk20a.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/fb_gk20a.c b/drivers/gpu/nvgpu/gk20a/fb_gk20a.c index 52f2db4d..d5b3fd87 100644 --- a/drivers/gpu/nvgpu/gk20a/fb_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/fb_gk20a.c | |||
@@ -18,6 +18,7 @@ | |||
18 | #include "gk20a.h" | 18 | #include "gk20a.h" |
19 | #include "kind_gk20a.h" | 19 | #include "kind_gk20a.h" |
20 | #include "hw_mc_gk20a.h" | 20 | #include "hw_mc_gk20a.h" |
21 | #include "hw_fb_gk20a.h" | ||
21 | 22 | ||
22 | static void fb_gk20a_reset(struct gk20a *g) | 23 | static void fb_gk20a_reset(struct gk20a *g) |
23 | { | 24 | { |
@@ -29,9 +30,22 @@ static void fb_gk20a_reset(struct gk20a *g) | |||
29 | | mc_enable_hub_enabled_f()); | 30 | | mc_enable_hub_enabled_f()); |
30 | } | 31 | } |
31 | 32 | ||
33 | static void gk20a_fb_set_mmu_page_size(struct gk20a *g) | ||
34 | { | ||
35 | /* set large page size in fb */ | ||
36 | u32 fb_mmu_ctrl = gk20a_readl(g, fb_mmu_ctrl_r()); | ||
37 | |||
38 | fb_mmu_ctrl = (fb_mmu_ctrl & | ||
39 | ~fb_mmu_ctrl_vm_pg_size_f(~0x0)) | | ||
40 | fb_mmu_ctrl_vm_pg_size_128kb_f(); | ||
41 | |||
42 | gk20a_writel(g, fb_mmu_ctrl_r(), fb_mmu_ctrl); | ||
43 | } | ||
44 | |||
32 | void gk20a_init_fb(struct gpu_ops *gops) | 45 | void gk20a_init_fb(struct gpu_ops *gops) |
33 | { | 46 | { |
34 | gops->fb.reset = fb_gk20a_reset; | 47 | gops->fb.reset = fb_gk20a_reset; |
48 | gops->fb.set_mmu_page_size = gk20a_fb_set_mmu_page_size; | ||
35 | gk20a_init_uncompressed_kind_map(); | 49 | gk20a_init_uncompressed_kind_map(); |
36 | gk20a_init_kind_attr(); | 50 | gk20a_init_kind_attr(); |
37 | } | 51 | } |