diff options
author | Terje Bergstrom <tbergstrom@nvidia.com> | 2015-01-19 17:50:57 -0500 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2015-04-04 21:04:45 -0400 |
commit | 4aef10c9507a19fb288936b88b0faeb62a520817 (patch) | |
tree | 0c773b9c18e3c9d318783c0cd575b6bb94f2bf30 /drivers/gpu/nvgpu/gm20b/ltc_gm20b.c | |
parent | f4883ab97af69610c0507c245f69eef00d203a28 (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.c | 14 |
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 | ||
104 | static int gm20b_ltc_cbc_ctrl(struct gk20a *g, enum gk20a_cbc_op op, | 104 | int 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 | ||
173 | static void gm20b_ltc_init_fs_state(struct gk20a *g) | 173 | void 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 | ||
199 | static void gm20b_ltc_isr(struct gk20a *g) | 199 | void 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 | ||
224 | static void gm20b_ltc_g_elpg_flush_locked(struct gk20a *g) | 224 | void 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 | ||
268 | static u32 gm20b_ltc_cbc_fix_config(struct gk20a *g, int base) | 268 | u32 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 | */ |
284 | static void gm20b_flush_ltc(struct gk20a *g) | 284 | void 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; |