mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-22 17:36:20 +03:00
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:
committed by
Dan Willemsen
parent
c44f2084eb
commit
a4d9f96efa
@@ -872,6 +872,9 @@ static int gk20a_pm_finalize_poweron(struct device *dev)
|
|||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (g->ops.ltc.init_fs_state)
|
||||||
|
g->ops.ltc.init_fs_state(g);
|
||||||
|
|
||||||
err = gk20a_init_mm_support(g);
|
err = gk20a_init_mm_support(g);
|
||||||
if (err) {
|
if (err) {
|
||||||
gk20a_err(dev, "failed to init gk20a mm");
|
gk20a_err(dev, "failed to init gk20a mm");
|
||||||
|
|||||||
@@ -4211,6 +4211,9 @@ static int gk20a_init_gr_setup_hw(struct gk20a *g)
|
|||||||
|
|
||||||
gk20a_dbg_fn("");
|
gk20a_dbg_fn("");
|
||||||
|
|
||||||
|
if (g->ops.gr.init_gpc_mmu)
|
||||||
|
g->ops.gr.init_gpc_mmu(g);
|
||||||
|
|
||||||
/* slcg prod values */
|
/* slcg prod values */
|
||||||
g->ops.clock_gating.slcg_gr_load_gating_prod(g, g->slcg_enabled);
|
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);
|
g->ops.clock_gating.slcg_perf_load_gating_prod(g, g->slcg_enabled);
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
|
|
||||||
#include "gk20a.h"
|
#include "gk20a.h"
|
||||||
#include "hal_gk20a.h"
|
#include "hal_gk20a.h"
|
||||||
|
#include "gm20b/hal_gm20b.h"
|
||||||
|
|
||||||
int gpu_init_hal(struct gk20a *g)
|
int gpu_init_hal(struct gk20a *g)
|
||||||
{
|
{
|
||||||
@@ -24,6 +25,9 @@ int gpu_init_hal(struct gk20a *g)
|
|||||||
gk20a_dbg_info("gk20a detected");
|
gk20a_dbg_info("gk20a detected");
|
||||||
gk20a_init_hal(&g->ops);
|
gk20a_init_hal(&g->ops);
|
||||||
break;
|
break;
|
||||||
|
case GK20A_GPUID_GM20B:
|
||||||
|
gm20b_init_hal(&g->ops);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
gk20a_err(&g->dev->dev, "no support for %x", ver);
|
gk20a_err(&g->dev->dev, "no support for %x", ver);
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
|
|||||||
@@ -66,6 +66,11 @@ static int gk20a_determine_L2_size_bytes(struct gk20a *g)
|
|||||||
bytes_per_line = 128;
|
bytes_per_line = 128;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case GK20A_GPUID_GM20B:
|
||||||
|
lts_per_ltc = 2;
|
||||||
|
bytes_per_line = 128;
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
dev_err(dev_from_gk20a(g), "Unknown GPU id 0x%02x\n",
|
dev_err(dev_from_gk20a(g), "Unknown GPU id 0x%02x\n",
|
||||||
(unsigned)gpuid);
|
(unsigned)gpuid);
|
||||||
|
|||||||
Reference in New Issue
Block a user