diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/fb_gk20a.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/fb_gk20a.c | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/fb_gk20a.c b/drivers/gpu/nvgpu/gk20a/fb_gk20a.c index 5aae14f2..3c76e817 100644 --- a/drivers/gpu/nvgpu/gk20a/fb_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/fb_gk20a.c | |||
@@ -50,53 +50,6 @@ void gk20a_fb_init_hw(struct gk20a *g) | |||
50 | gk20a_writel(g, fb_niso_flush_sysmem_addr_r(), addr); | 50 | gk20a_writel(g, fb_niso_flush_sysmem_addr_r(), addr); |
51 | } | 51 | } |
52 | 52 | ||
53 | static void gk20a_fb_set_mmu_page_size(struct gk20a *g) | ||
54 | { | ||
55 | /* set large page size in fb */ | ||
56 | u32 fb_mmu_ctrl = gk20a_readl(g, fb_mmu_ctrl_r()); | ||
57 | |||
58 | fb_mmu_ctrl = (fb_mmu_ctrl & | ||
59 | ~fb_mmu_ctrl_vm_pg_size_f(~0x0)) | | ||
60 | fb_mmu_ctrl_vm_pg_size_128kb_f(); | ||
61 | |||
62 | gk20a_writel(g, fb_mmu_ctrl_r(), fb_mmu_ctrl); | ||
63 | } | ||
64 | |||
65 | static unsigned int gk20a_fb_compression_page_size(struct gk20a *g) | ||
66 | { | ||
67 | return SZ_128K; | ||
68 | } | ||
69 | |||
70 | static unsigned int gk20a_fb_compressible_page_size(struct gk20a *g) | ||
71 | { | ||
72 | return SZ_64K; | ||
73 | } | ||
74 | |||
75 | static bool gk20a_fb_debug_mode_enabled(struct gk20a *g) | ||
76 | { | ||
77 | u32 debug_ctrl = gk20a_readl(g, fb_mmu_debug_ctrl_r()); | ||
78 | return fb_mmu_debug_ctrl_debug_v(debug_ctrl) == | ||
79 | fb_mmu_debug_ctrl_debug_enabled_v(); | ||
80 | } | ||
81 | |||
82 | static void gk20a_fb_set_debug_mode(struct gk20a *g, bool enable) | ||
83 | { | ||
84 | u32 reg_val, debug_ctrl; | ||
85 | |||
86 | reg_val = gk20a_readl(g, fb_mmu_debug_ctrl_r()); | ||
87 | if (enable) { | ||
88 | debug_ctrl = fb_mmu_debug_ctrl_debug_enabled_f(); | ||
89 | g->mmu_debug_ctrl = true; | ||
90 | } else { | ||
91 | debug_ctrl = fb_mmu_debug_ctrl_debug_disabled_f(); | ||
92 | g->mmu_debug_ctrl = false; | ||
93 | } | ||
94 | |||
95 | reg_val = set_field(reg_val, | ||
96 | fb_mmu_debug_ctrl_debug_m(), debug_ctrl); | ||
97 | gk20a_writel(g, fb_mmu_debug_ctrl_r(), reg_val); | ||
98 | } | ||
99 | |||
100 | void gk20a_fb_tlb_invalidate(struct gk20a *g, struct nvgpu_mem *pdb) | 53 | void gk20a_fb_tlb_invalidate(struct gk20a *g, struct nvgpu_mem *pdb) |
101 | { | 54 | { |
102 | struct nvgpu_timeout timeout; | 55 | struct nvgpu_timeout timeout; |
@@ -159,17 +112,3 @@ void gk20a_fb_tlb_invalidate(struct gk20a *g, struct nvgpu_mem *pdb) | |||
159 | out: | 112 | out: |
160 | nvgpu_mutex_release(&g->mm.tlb_lock); | 113 | nvgpu_mutex_release(&g->mm.tlb_lock); |
161 | } | 114 | } |
162 | |||
163 | void gk20a_init_fb(struct gpu_ops *gops) | ||
164 | { | ||
165 | gops->fb.init_hw = gk20a_fb_init_hw; | ||
166 | gops->fb.reset = fb_gk20a_reset; | ||
167 | gops->fb.set_mmu_page_size = gk20a_fb_set_mmu_page_size; | ||
168 | gops->fb.compression_page_size = gk20a_fb_compression_page_size; | ||
169 | gops->fb.compressible_page_size = gk20a_fb_compressible_page_size; | ||
170 | gops->fb.is_debug_mode_enabled = gk20a_fb_debug_mode_enabled; | ||
171 | gops->fb.set_debug_mode = gk20a_fb_set_debug_mode; | ||
172 | gops->fb.tlb_invalidate = gk20a_fb_tlb_invalidate; | ||
173 | gk20a_init_uncompressed_kind_map(); | ||
174 | gk20a_init_kind_attr(); | ||
175 | } | ||