video: tegra: host: gm20b: Implement gr ops

Implement gm20b specific gr ops.

Bug 1387211

Change-Id: I4523311f1c155ba2d3403dcf222769f6817b2450
Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-on: http://git-master/r/362415
Reviewed-by: Kevin Huang (Eng-SW) <kevinh@nvidia.com>
This commit is contained in:
Terje Bergstrom
2014-01-31 12:57:48 +02:00
committed by Dan Willemsen
parent c44f2084eb
commit a4d9f96efa
4 changed files with 15 additions and 0 deletions

View File

@@ -872,6 +872,9 @@ static int gk20a_pm_finalize_poweron(struct device *dev)
goto done;
}
if (g->ops.ltc.init_fs_state)
g->ops.ltc.init_fs_state(g);
err = gk20a_init_mm_support(g);
if (err) {
gk20a_err(dev, "failed to init gk20a mm");

View File

@@ -4211,6 +4211,9 @@ static int gk20a_init_gr_setup_hw(struct gk20a *g)
gk20a_dbg_fn("");
if (g->ops.gr.init_gpc_mmu)
g->ops.gr.init_gpc_mmu(g);
/* slcg prod values */
g->ops.clock_gating.slcg_gr_load_gating_prod(g, g->slcg_enabled);
g->ops.clock_gating.slcg_perf_load_gating_prod(g, g->slcg_enabled);

View File

@@ -15,6 +15,7 @@
#include "gk20a.h"
#include "hal_gk20a.h"
#include "gm20b/hal_gm20b.h"
int gpu_init_hal(struct gk20a *g)
{
@@ -24,6 +25,9 @@ int gpu_init_hal(struct gk20a *g)
gk20a_dbg_info("gk20a detected");
gk20a_init_hal(&g->ops);
break;
case GK20A_GPUID_GM20B:
gm20b_init_hal(&g->ops);
break;
default:
gk20a_err(&g->dev->dev, "no support for %x", ver);
return -ENODEV;

View File

@@ -66,6 +66,11 @@ static int gk20a_determine_L2_size_bytes(struct gk20a *g)
bytes_per_line = 128;
break;
case GK20A_GPUID_GM20B:
lts_per_ltc = 2;
bytes_per_line = 128;
break;
default:
dev_err(dev_from_gk20a(g), "Unknown GPU id 0x%02x\n",
(unsigned)gpuid);