summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gm20b/ltc_gm20b.c
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2015-01-19 17:50:57 -0500
committerDan Willemsen <dwillemsen@nvidia.com>2015-04-04 21:04:45 -0400
commit4aef10c9507a19fb288936b88b0faeb62a520817 (patch)
tree0c773b9c18e3c9d318783c0cd575b6bb94f2bf30 /drivers/gpu/nvgpu/gm20b/ltc_gm20b.c
parentf4883ab97af69610c0507c245f69eef00d203a28 (diff)
gpu: nvgpu: Set compression page per SoC
Compression page size varies depending on architecture. Make it 129kB on gk20a and gm20b. Also export some common functions from gm20b. Bug 1592495 Change-Id: Ifb1c5b15d25fa961dab097021080055fc385fecd Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: http://git-master/r/673790
Diffstat (limited to 'drivers/gpu/nvgpu/gm20b/ltc_gm20b.c')
-rw-r--r--drivers/gpu/nvgpu/gm20b/ltc_gm20b.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/gpu/nvgpu/gm20b/ltc_gm20b.c b/drivers/gpu/nvgpu/gm20b/ltc_gm20b.c
index fe2e06d5..0a0efe41 100644
--- a/drivers/gpu/nvgpu/gm20b/ltc_gm20b.c
+++ b/drivers/gpu/nvgpu/gm20b/ltc_gm20b.c
@@ -101,8 +101,8 @@ static int gm20b_ltc_init_comptags(struct gk20a *g, struct gr_gk20a *gr)
101 return 0; 101 return 0;
102} 102}
103 103
104static int gm20b_ltc_cbc_ctrl(struct gk20a *g, enum gk20a_cbc_op op, 104int gm20b_ltc_cbc_ctrl(struct gk20a *g, enum gk20a_cbc_op op,
105 u32 min, u32 max) 105 u32 min, u32 max)
106{ 106{
107 int err = 0; 107 int err = 0;
108 struct gr_gk20a *gr = &g->gr; 108 struct gr_gk20a *gr = &g->gr;
@@ -170,7 +170,7 @@ out:
170 return 0; 170 return 0;
171} 171}
172 172
173static void gm20b_ltc_init_fs_state(struct gk20a *g) 173void gm20b_ltc_init_fs_state(struct gk20a *g)
174{ 174{
175 u32 reg; 175 u32 reg;
176 176
@@ -196,7 +196,7 @@ static void gm20b_ltc_init_fs_state(struct gk20a *g)
196 gk20a_writel(g, ltc_ltcs_ltss_intr_r(), reg); 196 gk20a_writel(g, ltc_ltcs_ltss_intr_r(), reg);
197} 197}
198 198
199static void gm20b_ltc_isr(struct gk20a *g) 199void gm20b_ltc_isr(struct gk20a *g)
200{ 200{
201 u32 mc_intr, ltc_intr; 201 u32 mc_intr, ltc_intr;
202 int ltc, slice; 202 int ltc, slice;
@@ -221,7 +221,7 @@ static void gm20b_ltc_isr(struct gk20a *g)
221 } 221 }
222} 222}
223 223
224static void gm20b_ltc_g_elpg_flush_locked(struct gk20a *g) 224void gm20b_ltc_g_elpg_flush_locked(struct gk20a *g)
225{ 225{
226 u32 data; 226 u32 data;
227 bool done[g->ltc_count]; 227 bool done[g->ltc_count];
@@ -265,7 +265,7 @@ static void gm20b_ltc_g_elpg_flush_locked(struct gk20a *g)
265 "g_elpg_flush too many retries"); 265 "g_elpg_flush too many retries");
266} 266}
267 267
268static u32 gm20b_ltc_cbc_fix_config(struct gk20a *g, int base) 268u32 gm20b_ltc_cbc_fix_config(struct gk20a *g, int base)
269{ 269{
270 u32 val = gk20a_readl(g, ltc_ltcs_ltss_cbc_num_active_ltcs_r()); 270 u32 val = gk20a_readl(g, ltc_ltcs_ltss_cbc_num_active_ltcs_r());
271 if (val == 2) { 271 if (val == 2) {
@@ -281,7 +281,7 @@ static u32 gm20b_ltc_cbc_fix_config(struct gk20a *g, int base)
281/* 281/*
282 * Performs a full flush of the L2 cache. 282 * Performs a full flush of the L2 cache.
283 */ 283 */
284static void gm20b_flush_ltc(struct gk20a *g) 284void gm20b_flush_ltc(struct gk20a *g)
285{ 285{
286 u32 op_pending; 286 u32 op_pending;
287 unsigned long now, timeout; 287 unsigned long now, timeout;