gpu: nvgpu: Fix HAL checker pointed mismatches

Add new HALs for register field definition/value changes in
GV11B as compared to Pascal. Update the HALs for recent
chips too if applicable.

Bug 200604892

Change-Id: I14ee9440859007e86a1ffa937df399a31e2628bd
Signed-off-by: Tejal Kudav <tkudav@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2437564
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
tkudav
2020-10-28 18:12:30 +05:30
committed by Alex Waterman
parent e962ec3fa0
commit 2ca4f145e4
40 changed files with 173 additions and 319 deletions

View File

@@ -129,7 +129,6 @@ NV_REPOSITORY_COMPONENTS += userspace/units/fifo/ramfc/gp10b
NV_REPOSITORY_COMPONENTS += userspace/units/fifo/ramfc/gv11b NV_REPOSITORY_COMPONENTS += userspace/units/fifo/ramfc/gv11b
NV_REPOSITORY_COMPONENTS += userspace/units/fifo/ramin/gk20a NV_REPOSITORY_COMPONENTS += userspace/units/fifo/ramin/gk20a
NV_REPOSITORY_COMPONENTS += userspace/units/fifo/ramin/gm20b NV_REPOSITORY_COMPONENTS += userspace/units/fifo/ramin/gm20b
NV_REPOSITORY_COMPONENTS += userspace/units/fifo/ramin/gp10b
NV_REPOSITORY_COMPONENTS += userspace/units/fifo/ramin/gv11b NV_REPOSITORY_COMPONENTS += userspace/units/fifo/ramin/gv11b
NV_REPOSITORY_COMPONENTS += userspace/units/fifo/runlist NV_REPOSITORY_COMPONENTS += userspace/units/fifo/runlist
NV_REPOSITORY_COMPONENTS += userspace/units/fifo/runlist/gk20a NV_REPOSITORY_COMPONENTS += userspace/units/fifo/runlist/gk20a

View File

@@ -184,17 +184,17 @@ fifo:
ramin_fusa: ramin_fusa:
safe: yes safe: yes
sources: [ hal/fifo/ramin_gp10b.h, sources: [ hal/fifo/ramin_gv11b.h,
hal/fifo/ramin_gv11b.h,
hal/fifo/ramin_gm20b.h, hal/fifo/ramin_gm20b.h,
hal/fifo/ramin_gv11b_fusa.c, hal/fifo/ramin_gv11b_fusa.c,
hal/fifo/ramin_gp10b_fusa.c,
hal/fifo/ramin_gm20b_fusa.c ] hal/fifo/ramin_gm20b_fusa.c ]
ramin: ramin:
safe: no safe: no
sources: [ hal/fifo/ramin_gk20a.h, sources: [ hal/fifo/ramin_gk20a.h,
hal/fifo/ramin_gp10b.h,
hal/fifo/ramin_gk20a.c, hal/fifo/ramin_gk20a.c,
hal/fifo/ramin_gp10b.c,
hal/fifo/ramin_tu104.c, hal/fifo/ramin_tu104.c,
hal/fifo/ramin_tu104.h ] hal/fifo/ramin_tu104.h ]

View File

@@ -344,6 +344,7 @@ nvgpu-y += \
hal/fifo/ramfc_gk20a.o \ hal/fifo/ramfc_gk20a.o \
hal/fifo/ramfc_gp10b.o \ hal/fifo/ramfc_gp10b.o \
hal/fifo/ramin_gk20a.o \ hal/fifo/ramin_gk20a.o \
hal/fifo/ramin_gp10b.o \
hal/fifo/runlist_fifo_gv11b.o \ hal/fifo/runlist_fifo_gv11b.o \
hal/fifo/channel_gk20a.o \ hal/fifo/channel_gk20a.o \
hal/fifo/channel_gm20b.o \ hal/fifo/channel_gm20b.o \
@@ -657,7 +658,6 @@ nvgpu-y += \
hal/fifo/ramfc_gv11b_fusa.o \ hal/fifo/ramfc_gv11b_fusa.o \
hal/fifo/ramin_gk20a_fusa.o \ hal/fifo/ramin_gk20a_fusa.o \
hal/fifo/ramin_gm20b_fusa.o \ hal/fifo/ramin_gm20b_fusa.o \
hal/fifo/ramin_gp10b_fusa.o \
hal/fifo/ramin_gv11b_fusa.o \ hal/fifo/ramin_gv11b_fusa.o \
hal/fifo/runlist_fifo_gk20a_fusa.o \ hal/fifo/runlist_fifo_gk20a_fusa.o \
hal/fifo/runlist_fifo_gv11b_fusa.o \ hal/fifo/runlist_fifo_gv11b_fusa.o \

View File

@@ -207,7 +207,6 @@ srcs += hal/mm/mm_gv11b_fusa.c \
hal/fifo/ramfc_gv11b_fusa.c \ hal/fifo/ramfc_gv11b_fusa.c \
hal/fifo/ramin_gk20a_fusa.c \ hal/fifo/ramin_gk20a_fusa.c \
hal/fifo/ramin_gm20b_fusa.c \ hal/fifo/ramin_gm20b_fusa.c \
hal/fifo/ramin_gp10b_fusa.c \
hal/fifo/ramin_gv11b_fusa.c \ hal/fifo/ramin_gv11b_fusa.c \
hal/fifo/runlist_fifo_gk20a_fusa.c \ hal/fifo/runlist_fifo_gk20a_fusa.c \
hal/fifo/runlist_fifo_gv11b_fusa.c \ hal/fifo/runlist_fifo_gv11b_fusa.c \
@@ -301,6 +300,7 @@ srcs += hal/init/hal_gp10b.c \
hal/fifo/ramfc_gk20a.c \ hal/fifo/ramfc_gk20a.c \
hal/fifo/ramfc_gp10b.c \ hal/fifo/ramfc_gp10b.c \
hal/fifo/ramin_gk20a.c \ hal/fifo/ramin_gk20a.c \
hal/fifo/ramin_gp10b.c \
hal/fifo/channel_gk20a.c \ hal/fifo/channel_gk20a.c \
hal/fifo/channel_gm20b.c \ hal/fifo/channel_gm20b.c \
hal/fifo/tsg_gk20a.c \ hal/fifo/tsg_gk20a.c \

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2015-2019, NVIDIA CORPORATION. All rights reserved. * Copyright (c) 2015-2020, NVIDIA CORPORATION. All rights reserved.
* *
* Permission is hereby granted, free of charge, to any person obtaining a * Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"), * copy of this software and associated documentation files (the "Software"),

View File

@@ -35,5 +35,7 @@ void gv11b_ramin_init_subctx_pdb(struct gk20a *g,
bool replayable, u32 max_subctx_count); bool replayable, u32 max_subctx_count);
void gv11b_ramin_set_eng_method_buffer(struct gk20a *g, void gv11b_ramin_set_eng_method_buffer(struct gk20a *g,
struct nvgpu_mem *inst_block, u64 gpu_va); struct nvgpu_mem *inst_block, u64 gpu_va);
void gv11b_ramin_init_pdb(struct gk20a *g, struct nvgpu_mem *inst_block,
u64 pdb_addr, struct nvgpu_mem *pdb_mem);
#endif /* NVGPU_RAMIN_GV11B_H */ #endif /* NVGPU_RAMIN_GV11B_H */

View File

@@ -138,3 +138,24 @@ void gv11b_ramin_set_eng_method_buffer(struct gk20a *g,
addr_hi); addr_hi);
} }
void gv11b_ramin_init_pdb(struct gk20a *g, struct nvgpu_mem *inst_block,
u64 pdb_addr, struct nvgpu_mem *pdb_mem)
{
u32 pdb_addr_lo = u64_lo32(pdb_addr >> ram_in_base_shift_v());
u32 pdb_addr_hi = u64_hi32(pdb_addr);
nvgpu_log_info(g, "pde pa=0x%llx", pdb_addr);
nvgpu_mem_wr32(g, inst_block, ram_in_page_dir_base_lo_w(),
nvgpu_aperture_mask(g, pdb_mem,
ram_in_page_dir_base_target_sys_mem_ncoh_f(),
ram_in_page_dir_base_target_sys_mem_coh_f(),
ram_in_page_dir_base_target_vid_mem_f()) |
ram_in_page_dir_base_vol_true_f() |
ram_in_big_page_size_64kb_f() |
ram_in_page_dir_base_lo_f(pdb_addr_lo) |
ram_in_use_ver2_pt_format_true_f());
nvgpu_mem_wr32(g, inst_block, ram_in_page_dir_base_hi_w(),
ram_in_page_dir_base_hi_f(pdb_addr_hi));
}

View File

@@ -732,3 +732,14 @@ void gm20b_gr_init_get_default_preemption_modes(
*default_graphics_preempt_mode = NVGPU_PREEMPTION_MODE_GRAPHICS_WFI; *default_graphics_preempt_mode = NVGPU_PREEMPTION_MODE_GRAPHICS_WFI;
*default_compute_preempt_mode = NVGPU_PREEMPTION_MODE_COMPUTE_CTA; *default_compute_preempt_mode = NVGPU_PREEMPTION_MODE_COMPUTE_CTA;
} }
void gm20b_gr_init_fe_go_idle_timeout(struct gk20a *g, bool enable)
{
if (enable) {
nvgpu_writel(g, gr_fe_go_idle_timeout_r(),
gr_fe_go_idle_timeout_count_prod_f());
} else {
nvgpu_writel(g, gr_fe_go_idle_timeout_r(),
gr_fe_go_idle_timeout_count_disabled_f());
}
}

View File

@@ -348,17 +348,6 @@ void gm20b_gr_init_override_context_reset(struct gk20a *g)
(void) nvgpu_readl(g, gr_fecs_ctxsw_reset_ctl_r()); (void) nvgpu_readl(g, gr_fecs_ctxsw_reset_ctl_r());
} }
void gm20b_gr_init_fe_go_idle_timeout(struct gk20a *g, bool enable)
{
if (enable) {
nvgpu_writel(g, gr_fe_go_idle_timeout_r(),
gr_fe_go_idle_timeout_count_prod_f());
} else {
nvgpu_writel(g, gr_fe_go_idle_timeout_r(),
gr_fe_go_idle_timeout_count_disabled_f());
}
}
void gm20b_gr_init_pipe_mode_override(struct gk20a *g, bool enable) void gm20b_gr_init_pipe_mode_override(struct gk20a *g, bool enable)
{ {
if (enable) { if (enable) {

View File

@@ -71,6 +71,7 @@ u32 gv11b_gr_init_get_global_attr_cb_size(struct gk20a *g, u32 tpc_count,
void gv11b_gr_init_commit_global_attrib_cb(struct gk20a *g, void gv11b_gr_init_commit_global_attrib_cb(struct gk20a *g,
struct nvgpu_gr_ctx *gr_ctx, u32 tpc_count, u32 max_tpc, u64 addr, struct nvgpu_gr_ctx *gr_ctx, u32 tpc_count, u32 max_tpc, u64 addr,
bool patch); bool patch);
void gv11b_gr_init_fe_go_idle_timeout(struct gk20a *g, bool enable);
#ifdef CONFIG_NVGPU_SM_DIVERSITY #ifdef CONFIG_NVGPU_SM_DIVERSITY
int gv11b_gr_init_commit_sm_id_programming(struct gk20a *g, int gv11b_gr_init_commit_sm_id_programming(struct gk20a *g,

View File

@@ -55,6 +55,17 @@
#define GFXP_WFI_TIMEOUT_COUNT_IN_USEC_DEFAULT 100U #define GFXP_WFI_TIMEOUT_COUNT_IN_USEC_DEFAULT 100U
void gv11b_gr_init_fe_go_idle_timeout(struct gk20a *g, bool enable)
{
if (enable) {
nvgpu_writel(g, gr_fe_go_idle_timeout_r(),
gr_fe_go_idle_timeout_count_prod_f());
} else {
nvgpu_writel(g, gr_fe_go_idle_timeout_r(),
gr_fe_go_idle_timeout_count_disabled_f());
}
}
static int gr_gv11b_ecc_scrub_is_done(struct gk20a *g, static int gr_gv11b_ecc_scrub_is_done(struct gk20a *g,
struct nvgpu_gr_config *gr_config, struct nvgpu_gr_config *gr_config,
u32 scrub_reg, u32 scrub_mask, u32 scrub_done) u32 scrub_reg, u32 scrub_mask, u32 scrub_done)
@@ -1035,5 +1046,4 @@ void gv11b_gr_init_restore_stats_counter_bundle_data(struct gk20a *g,
gr_pri_mme_shadow_ram_index_write_trigger_f()); gr_pri_mme_shadow_ram_index_write_trigger_f());
} }
#endif #endif

View File

@@ -150,6 +150,7 @@ void gv11b_gr_intr_set_shader_exceptions(struct gk20a *g, u32 data);
#if defined(CONFIG_NVGPU_DEBUGGER) && defined(CONFIG_NVGPU_GRAPHICS) #if defined(CONFIG_NVGPU_DEBUGGER) && defined(CONFIG_NVGPU_GRAPHICS)
void gv11b_gr_intr_set_tex_in_dbg(struct gk20a *g, u32 data); void gv11b_gr_intr_set_tex_in_dbg(struct gk20a *g, u32 data);
void gv11b_gr_intr_set_coalesce_buffer_size(struct gk20a *g, u32 data);
#endif #endif
#endif /* NVGPU_GR_INTR_GV11B_H */ #endif /* NVGPU_GR_INTR_GV11B_H */

View File

@@ -213,7 +213,7 @@ int gv11b_gr_intr_handle_sw_method(struct gk20a *g, u32 addr,
gp10b_gr_intr_set_go_idle_timeout(g, data); gp10b_gr_intr_set_go_idle_timeout(g, data);
return 0; return 0;
case NVC097_SET_COALESCE_BUFFER_SIZE: case NVC097_SET_COALESCE_BUFFER_SIZE:
gp10b_gr_intr_set_coalesce_buffer_size(g, data); gv11b_gr_intr_set_coalesce_buffer_size(g, data);
return 0; return 0;
case NVC397_SET_TEX_IN_DBG: case NVC397_SET_TEX_IN_DBG:
gv11b_gr_intr_set_tex_in_dbg(g, data); gv11b_gr_intr_set_tex_in_dbg(g, data);
@@ -2043,4 +2043,18 @@ void gv11b_gr_intr_set_tex_in_dbg(struct gk20a *g, u32 data)
gr_gpcs_tpcs_sm_l1tag_ctrl_cache_surface_st_f(flag)); gr_gpcs_tpcs_sm_l1tag_ctrl_cache_surface_st_f(flag));
nvgpu_writel(g, gr_gpcs_tpcs_sm_l1tag_ctrl_r(), val); nvgpu_writel(g, gr_gpcs_tpcs_sm_l1tag_ctrl_r(), val);
} }
void gv11b_gr_intr_set_coalesce_buffer_size(struct gk20a *g, u32 data)
{
u32 val;
nvgpu_log_fn(g, " ");
val = nvgpu_readl(g, gr_gpcs_tc_debug0_r());
val = set_field(val, gr_gpcs_tc_debug0_limit_coalesce_buffer_size_m(),
gr_gpcs_tc_debug0_limit_coalesce_buffer_size_f(data));
nvgpu_writel(g, gr_gpcs_tc_debug0_r(), val);
nvgpu_log_fn(g, "done");
}
#endif #endif

View File

@@ -101,7 +101,7 @@ int tu104_gr_intr_handle_sw_method(struct gk20a *g, u32 addr,
gp10b_gr_intr_set_go_idle_timeout(g, data); gp10b_gr_intr_set_go_idle_timeout(g, data);
return 0; return 0;
case NVC097_SET_COALESCE_BUFFER_SIZE: case NVC097_SET_COALESCE_BUFFER_SIZE:
gp10b_gr_intr_set_coalesce_buffer_size(g, data); gv11b_gr_intr_set_coalesce_buffer_size(g, data);
return 0; return 0;
case NVC597_SET_TEX_IN_DBG: case NVC597_SET_TEX_IN_DBG:
gv11b_gr_intr_set_tex_in_dbg(g, data); gv11b_gr_intr_set_tex_in_dbg(g, data);

View File

@@ -106,7 +106,6 @@
#include "hal/fifo/ramfc_gv11b.h" #include "hal/fifo/ramfc_gv11b.h"
#include "hal/fifo/ramin_gk20a.h" #include "hal/fifo/ramin_gk20a.h"
#include "hal/fifo/ramin_gm20b.h" #include "hal/fifo/ramin_gm20b.h"
#include "hal/fifo/ramin_gp10b.h"
#include "hal/fifo/ramin_gv11b.h" #include "hal/fifo/ramin_gv11b.h"
#include "hal/fifo/runlist_ram_gk20a.h" #include "hal/fifo/runlist_ram_gk20a.h"
#include "hal/fifo/runlist_ram_gv11b.h" #include "hal/fifo/runlist_ram_gv11b.h"
@@ -482,7 +481,7 @@ static const struct gops_gr_init gv11b_ops_gr_init = {
#ifdef CONFIG_NVGPU_GRAPHICS #ifdef CONFIG_NVGPU_GRAPHICS
.preemption_state = gv11b_gr_init_preemption_state, .preemption_state = gv11b_gr_init_preemption_state,
#endif #endif
.fe_go_idle_timeout = gm20b_gr_init_fe_go_idle_timeout, .fe_go_idle_timeout = gv11b_gr_init_fe_go_idle_timeout,
.load_method_init = gm20b_gr_init_load_method_init, .load_method_init = gm20b_gr_init_load_method_init,
.commit_global_timeslice = gv11b_gr_init_commit_global_timeslice, .commit_global_timeslice = gv11b_gr_init_commit_global_timeslice,
.get_bundle_cb_default_size = gv11b_gr_init_get_bundle_cb_default_size, .get_bundle_cb_default_size = gv11b_gr_init_get_bundle_cb_default_size,
@@ -926,7 +925,7 @@ static const struct gops_ramfc gv11b_ops_ramfc = {
static const struct gops_ramin gv11b_ops_ramin = { static const struct gops_ramin gv11b_ops_ramin = {
.set_gr_ptr = gv11b_ramin_set_gr_ptr, .set_gr_ptr = gv11b_ramin_set_gr_ptr,
.set_big_page_size = gm20b_ramin_set_big_page_size, .set_big_page_size = gm20b_ramin_set_big_page_size,
.init_pdb = gp10b_ramin_init_pdb, .init_pdb = gv11b_ramin_init_pdb,
.init_subctx_pdb = gv11b_ramin_init_subctx_pdb, .init_subctx_pdb = gv11b_ramin_init_subctx_pdb,
.set_adr_limit = NULL, .set_adr_limit = NULL,
.base_shift = gk20a_ramin_base_shift, .base_shift = gk20a_ramin_base_shift,

View File

@@ -98,7 +98,6 @@
#include "hal/fifo/ramfc_tu104.h" #include "hal/fifo/ramfc_tu104.h"
#include "hal/fifo/ramin_gk20a.h" #include "hal/fifo/ramin_gk20a.h"
#include "hal/fifo/ramin_gm20b.h" #include "hal/fifo/ramin_gm20b.h"
#include "hal/fifo/ramin_gp10b.h"
#include "hal/fifo/ramin_gv11b.h" #include "hal/fifo/ramin_gv11b.h"
#include "hal/fifo/ramin_tu104.h" #include "hal/fifo/ramin_tu104.h"
#include "hal/fifo/runlist_ram_gk20a.h" #include "hal/fifo/runlist_ram_gk20a.h"
@@ -521,7 +520,7 @@ static const struct gops_gr_init tu104_ops_gr_init = {
#endif #endif
.fe_pwr_mode_force_on = gm20b_gr_init_fe_pwr_mode_force_on, .fe_pwr_mode_force_on = gm20b_gr_init_fe_pwr_mode_force_on,
.override_context_reset = gm20b_gr_init_override_context_reset, .override_context_reset = gm20b_gr_init_override_context_reset,
.fe_go_idle_timeout = gm20b_gr_init_fe_go_idle_timeout, .fe_go_idle_timeout = gv11b_gr_init_fe_go_idle_timeout,
.load_method_init = gm20b_gr_init_load_method_init, .load_method_init = gm20b_gr_init_load_method_init,
.commit_global_timeslice = gv11b_gr_init_commit_global_timeslice, .commit_global_timeslice = gv11b_gr_init_commit_global_timeslice,
#ifdef CONFIG_NVGPU_DGPU #ifdef CONFIG_NVGPU_DGPU
@@ -975,7 +974,7 @@ static const struct gops_ramfc tu104_ops_ramfc = {
static const struct gops_ramin tu104_ops_ramin = { static const struct gops_ramin tu104_ops_ramin = {
.set_gr_ptr = gv11b_ramin_set_gr_ptr, .set_gr_ptr = gv11b_ramin_set_gr_ptr,
.set_big_page_size = gm20b_ramin_set_big_page_size, .set_big_page_size = gm20b_ramin_set_big_page_size,
.init_pdb = gp10b_ramin_init_pdb, .init_pdb = gv11b_ramin_init_pdb,
.init_subctx_pdb = gv11b_ramin_init_subctx_pdb, .init_subctx_pdb = gv11b_ramin_init_subctx_pdb,
.set_adr_limit = NULL, .set_adr_limit = NULL,
.base_shift = gk20a_ramin_base_shift, .base_shift = gk20a_ramin_base_shift,

View File

@@ -40,7 +40,6 @@
#include "hal/fifo/pbdma_gv11b.h" #include "hal/fifo/pbdma_gv11b.h"
#include "hal/fifo/ramin_gk20a.h" #include "hal/fifo/ramin_gk20a.h"
#include "hal/fifo/ramin_gm20b.h" #include "hal/fifo/ramin_gm20b.h"
#include "hal/fifo/ramin_gp10b.h"
#include "hal/fifo/ramin_gv11b.h" #include "hal/fifo/ramin_gv11b.h"
#include "hal/fifo/runlist_ram_gv11b.h" #include "hal/fifo/runlist_ram_gv11b.h"
#include "hal/fifo/runlist_fifo_gv11b.h" #include "hal/fifo/runlist_fifo_gv11b.h"
@@ -640,7 +639,7 @@ static const struct gops_ramfc vgpu_gv11b_ops_ramfc = {
static const struct gops_ramin vgpu_gv11b_ops_ramin = { static const struct gops_ramin vgpu_gv11b_ops_ramin = {
.set_gr_ptr = NULL, .set_gr_ptr = NULL,
.set_big_page_size = gm20b_ramin_set_big_page_size, .set_big_page_size = gm20b_ramin_set_big_page_size,
.init_pdb = gp10b_ramin_init_pdb, .init_pdb = gv11b_ramin_init_pdb,
.init_subctx_pdb = gv11b_ramin_init_subctx_pdb, .init_subctx_pdb = gv11b_ramin_init_subctx_pdb,
.set_adr_limit = NULL, .set_adr_limit = NULL,
.base_shift = gk20a_ramin_base_shift, .base_shift = gk20a_ramin_base_shift,

View File

@@ -92,7 +92,6 @@ gp10b_mm_remove_bar2_vm
gp10b_pbdma_get_config_auth_level_privileged gp10b_pbdma_get_config_auth_level_privileged
gp10b_pbdma_get_fc_runlist_timeslice gp10b_pbdma_get_fc_runlist_timeslice
gp10b_pbdma_get_signature gp10b_pbdma_get_signature
gp10b_ramin_init_pdb
gp10b_engine_init_ce_info gp10b_engine_init_ce_info
gp10b_priv_ring_isr gp10b_priv_ring_isr
gp10b_priv_ring_decode_error_code gp10b_priv_ring_decode_error_code
@@ -180,6 +179,7 @@ gv11b_pbdma_setup_hw
gv11b_ramfc_capture_ram_dump gv11b_ramfc_capture_ram_dump
gv11b_ramfc_setup gv11b_ramfc_setup
gv11b_ramin_init_subctx_pdb gv11b_ramin_init_subctx_pdb
gv11b_ramin_init_pdb
gv11b_ramin_set_eng_method_buffer gv11b_ramin_set_eng_method_buffer
gv11b_ramin_set_gr_ptr gv11b_ramin_set_gr_ptr
gv11b_runlist_count_max gv11b_runlist_count_max

View File

@@ -92,7 +92,6 @@ gp10b_mm_remove_bar2_vm
gp10b_pbdma_get_config_auth_level_privileged gp10b_pbdma_get_config_auth_level_privileged
gp10b_pbdma_get_fc_runlist_timeslice gp10b_pbdma_get_fc_runlist_timeslice
gp10b_pbdma_get_signature gp10b_pbdma_get_signature
gp10b_ramin_init_pdb
gp10b_engine_init_ce_info gp10b_engine_init_ce_info
gp10b_priv_ring_isr gp10b_priv_ring_isr
gp10b_priv_ring_decode_error_code gp10b_priv_ring_decode_error_code
@@ -186,6 +185,7 @@ gv11b_pbdma_setup_hw
gv11b_ramfc_capture_ram_dump gv11b_ramfc_capture_ram_dump
gv11b_ramfc_setup gv11b_ramfc_setup
gv11b_ramin_init_subctx_pdb gv11b_ramin_init_subctx_pdb
gv11b_ramin_init_pdb
gv11b_ramin_set_eng_method_buffer gv11b_ramin_set_eng_method_buffer
gv11b_ramin_set_gr_ptr gv11b_ramin_set_gr_ptr
gv11b_runlist_count_max gv11b_runlist_count_max

View File

@@ -125,7 +125,6 @@ UNITS := \
$(UNIT_SRC)/fifo/ramfc/gv11b \ $(UNIT_SRC)/fifo/ramfc/gv11b \
$(UNIT_SRC)/fifo/ramin/gk20a \ $(UNIT_SRC)/fifo/ramin/gk20a \
$(UNIT_SRC)/fifo/ramin/gm20b \ $(UNIT_SRC)/fifo/ramin/gm20b \
$(UNIT_SRC)/fifo/ramin/gp10b \
$(UNIT_SRC)/fifo/ramin/gv11b \ $(UNIT_SRC)/fifo/ramin/gv11b \
$(UNIT_SRC)/fifo/runlist \ $(UNIT_SRC)/fifo/runlist \
$(UNIT_SRC)/fifo/runlist/gk20a \ $(UNIT_SRC)/fifo/runlist/gk20a \

View File

@@ -45,7 +45,6 @@ INPUT += ../../../userspace/units/fifo/ramfc/gp10b/nvgpu-ramfc-gp10b.h
INPUT += ../../../userspace/units/fifo/ramfc/gv11b/nvgpu-ramfc-gv11b.h INPUT += ../../../userspace/units/fifo/ramfc/gv11b/nvgpu-ramfc-gv11b.h
INPUT += ../../../userspace/units/fifo/ramin/gk20a/ramin-gk20a-fusa.h INPUT += ../../../userspace/units/fifo/ramin/gk20a/ramin-gk20a-fusa.h
INPUT += ../../../userspace/units/fifo/ramin/gm20b/ramin-gm20b-fusa.h INPUT += ../../../userspace/units/fifo/ramin/gm20b/ramin-gm20b-fusa.h
INPUT += ../../../userspace/units/fifo/ramin/gp10b/ramin-gp10b-fusa.h
INPUT += ../../../userspace/units/fifo/ramin/gv11b/ramin-gv11b-fusa.h INPUT += ../../../userspace/units/fifo/ramin/gv11b/ramin-gv11b-fusa.h
INPUT += ../../../userspace/units/fifo/runlist/nvgpu-runlist.h INPUT += ../../../userspace/units/fifo/runlist/nvgpu-runlist.h
INPUT += ../../../userspace/units/fifo/runlist/gk20a/nvgpu-runlist-gk20a.h INPUT += ../../../userspace/units/fifo/runlist/gk20a/nvgpu-runlist-gk20a.h

View File

@@ -1037,13 +1037,11 @@ test_gk20a_ramin_base_shift.base_shift=0
[ramin_gm20b_fusa] [ramin_gm20b_fusa]
test_gm20b_ramin_set_big_page_size.set_big_page_size=0 test_gm20b_ramin_set_big_page_size.set_big_page_size=0
[ramin_gp10b_fusa]
test_gp10b_ramin_init_pdb.init_pdb=0
[ramin_gv11b_fusa] [ramin_gv11b_fusa]
test_gv11b_ramin_init_subctx_pdb.init_subctx_pdb=2 test_gv11b_ramin_init_subctx_pdb.init_subctx_pdb=2
test_gv11b_ramin_set_eng_method_buffer.set_eng_method_buf=0 test_gv11b_ramin_set_eng_method_buffer.set_eng_method_buf=0
test_gv11b_ramin_set_gr_ptr.set_gr_ptr=0 test_gv11b_ramin_set_gr_ptr.set_gr_ptr=0
test_gv11b_ramin_init_pdb.init_pdb=0
[static_analysis] [static_analysis]
test_arithmetic.arithmetic=0 test_arithmetic.arithmetic=0

View File

@@ -1,32 +0,0 @@
# Copyright (c) 2019, NVIDIA CORPORATION. All rights reserved.
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
# DEALINGS IN THE SOFTWARE.
.SUFFIXES:
OBJS = ramin-gp10b-fusa.o
MODULE = ramin-gp10b-fusa
LIB_PATHS += -lnvgpu-fifo-common
include ../../../Makefile.units
lib$(MODULE).so: fifo
fifo:
$(MAKE) -C ../..

View File

@@ -1,35 +0,0 @@
################################### tell Emacs this is a -*- makefile-gmake -*-
#
# Copyright (c) 2019, NVIDIA CORPORATION. All rights reserved.
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
# DEALINGS IN THE SOFTWARE.
#
# tmake for SW Mobile component makefile
#
###############################################################################
NVGPU_UNIT_NAME=ramin-gp10b-fusa
include $(NV_SOURCE)/kernel/nvgpu/userspace/units/Makefile.units.common.interface.tmk
# Local Variables:
# indent-tabs-mode: t
# tab-width: 8
# End:
# vi: set tabstop=8 noexpandtab:

View File

@@ -1,39 +0,0 @@
################################### tell Emacs this is a -*- makefile-gmake -*-
#
# Copyright (c) 2019-2020, NVIDIA CORPORATION. All rights reserved.
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
# DEALINGS IN THE SOFTWARE.
#
# tmake for SW Mobile component makefile
#
###############################################################################
NVGPU_UNIT_NAME = ramin-gp10b-fusa
NVGPU_UNIT_SRCS = ramin-gp10b-fusa.c
NVGPU_UNIT_INTERFACE_DIRS := \
$(NV_SOURCE)/kernel/nvgpu/userspace/units/fifo
include $(NV_SOURCE)/kernel/nvgpu/userspace/units/Makefile.units.common.tmk
# Local Variables:
# indent-tabs-mode: t
# tab-width: 8
# End:
# vi: set tabstop=8 noexpandtab:

View File

@@ -1,95 +0,0 @@
/*
* Copyright (c) 2019-2020, NVIDIA CORPORATION. All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
*/
#include <unit/io.h>
#include <unit/unit.h>
#include <nvgpu/gk20a.h>
#include <nvgpu/nvgpu_mem.h>
#include <nvgpu/mm.h>
#include <nvgpu/dma.h>
#include <nvgpu/hw/gv11b/hw_ram_gv11b.h>
#include "hal/fifo/ramin_gk20a.h"
#include "hal/fifo/ramin_gp10b.h"
#include "../../nvgpu-fifo-common.h"
#include "ramin-gp10b-fusa.h"
int test_gp10b_ramin_init_pdb(struct unit_module *m, struct gk20a *g,
void *args)
{
struct nvgpu_mem inst_block;
struct nvgpu_mem pdb_mem;
int ret = UNIT_FAIL;
int err;
u32 data;
u32 pdb_addr_lo, pdb_addr_hi;
u64 pdb_addr;
u32 aperture;
g->ops.ramin.alloc_size = gk20a_ramin_alloc_size;
/* Aperture should be fixed = SYSMEM */
nvgpu_set_enabled(g, NVGPU_MM_HONORS_APERTURE, true);
err = nvgpu_alloc_inst_block(g, &inst_block);
unit_assert(err == 0, goto done);
err = nvgpu_dma_alloc(g, g->ops.ramin.alloc_size(), &pdb_mem);
unit_assert(err == 0, goto done);
pdb_addr = nvgpu_mem_get_addr(g, &pdb_mem);
pdb_addr_lo = u64_lo32(pdb_addr >> ram_in_base_shift_v());
pdb_addr_hi = u64_hi32(pdb_addr);
aperture = ram_in_sc_page_dir_base_target_sys_mem_ncoh_v();
data = aperture | ram_in_page_dir_base_vol_true_f() |
ram_in_big_page_size_64kb_f() |
ram_in_page_dir_base_lo_f(pdb_addr_lo) |
ram_in_use_ver2_pt_format_true_f();
gp10b_ramin_init_pdb(g, &inst_block, pdb_addr, &pdb_mem);
unit_assert(nvgpu_mem_rd32(g, &inst_block,
ram_in_page_dir_base_lo_w()) == data, goto done);
unit_assert(nvgpu_mem_rd32(g, &inst_block,
ram_in_page_dir_base_hi_w()) ==
ram_in_page_dir_base_hi_f(pdb_addr_hi), goto done);
ret = UNIT_SUCCESS;
done:
if (ret != UNIT_SUCCESS) {
unit_err(m, "%s failed\n", __func__);
}
nvgpu_dma_free(g, &pdb_mem);
nvgpu_free_inst_block(g, &inst_block);
nvgpu_set_enabled(g, NVGPU_MM_HONORS_APERTURE, false);
return ret;
}
struct unit_module_test ramin_gp10b_fusa_tests[] = {
UNIT_TEST(init_pdb, test_gp10b_ramin_init_pdb, NULL, 0),
};
UNIT_MODULE(ramin_gp10b_fusa, ramin_gp10b_fusa_tests, UNIT_PRIO_NVGPU_TEST);

View File

@@ -1,61 +0,0 @@
/*
* Copyright (c) 2019-2020, NVIDIA CORPORATION. All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
*/
#ifndef UNIT_FIFO_RAMIN_GP10B_FUSA_H
#define UNIT_FIFO_RAMIN_GP10B_FUSA_H
#include <nvgpu/types.h>
struct unit_module;
struct gk20a;
/** @addtogroup SWUTS-fifo-ramin-gp10b
* @{
*
* Software Unit Test Specification for fifo/ramin/gp10b
*/
/**
* Test specification for: test_gp10b_ramin_init_pdb
*
* Description: Initialize instance block's PDB
*
* Test Type: Feature
*
* Targets: gops_ramin.init_pdb, gp10b_ramin_init_pdb
*
* Input: None
*
* Steps:
* - Configure PDB aperture, big page size, pdb address, PT format and default
* attribute.
* - Check page directory base values stored in instance block are correct.
*
* Output: Returns PASS if all branches gave expected results. FAIL otherwise.
*/
int test_gp10b_ramin_init_pdb(struct unit_module *m, struct gk20a *g,
void *args);
/**
* @}
*/
#endif /* UNIT_FIFO_RAMIN_GP10B_FUSA_H */

View File

@@ -213,10 +213,64 @@ done:
return ret; return ret;
} }
int test_gv11b_ramin_init_pdb(struct unit_module *m, struct gk20a *g,
void *args)
{
struct nvgpu_mem inst_block;
struct nvgpu_mem pdb_mem;
int ret = UNIT_FAIL;
int err;
u32 data;
u32 pdb_addr_lo, pdb_addr_hi;
u64 pdb_addr;
u32 aperture;
g->ops.ramin.alloc_size = gk20a_ramin_alloc_size;
/* Aperture should be fixed = SYSMEM */
nvgpu_set_enabled(g, NVGPU_MM_HONORS_APERTURE, true);
err = nvgpu_alloc_inst_block(g, &inst_block);
unit_assert(err == 0, goto done);
err = nvgpu_dma_alloc(g, g->ops.ramin.alloc_size(), &pdb_mem);
unit_assert(err == 0, goto done);
pdb_addr = nvgpu_mem_get_addr(g, &pdb_mem);
pdb_addr_lo = u64_lo32(pdb_addr >> ram_in_base_shift_v());
pdb_addr_hi = u64_hi32(pdb_addr);
aperture = ram_in_sc_page_dir_base_target_sys_mem_ncoh_v();
data = aperture | ram_in_page_dir_base_vol_true_f() |
ram_in_big_page_size_64kb_f() |
ram_in_page_dir_base_lo_f(pdb_addr_lo) |
ram_in_use_ver2_pt_format_true_f();
gv11b_ramin_init_pdb(g, &inst_block, pdb_addr, &pdb_mem);
unit_assert(nvgpu_mem_rd32(g, &inst_block,
ram_in_page_dir_base_lo_w()) == data, goto done);
unit_assert(nvgpu_mem_rd32(g, &inst_block,
ram_in_page_dir_base_hi_w()) ==
ram_in_page_dir_base_hi_f(pdb_addr_hi), goto done);
ret = UNIT_SUCCESS;
done:
if (ret != UNIT_SUCCESS) {
unit_err(m, "%s failed\n", __func__);
}
nvgpu_dma_free(g, &pdb_mem);
nvgpu_free_inst_block(g, &inst_block);
nvgpu_set_enabled(g, NVGPU_MM_HONORS_APERTURE, false);
return ret;
}
struct unit_module_test ramin_gv11b_fusa_tests[] = { struct unit_module_test ramin_gv11b_fusa_tests[] = {
UNIT_TEST(set_gr_ptr, test_gv11b_ramin_set_gr_ptr, NULL, 0), UNIT_TEST(set_gr_ptr, test_gv11b_ramin_set_gr_ptr, NULL, 0),
UNIT_TEST(init_subctx_pdb, test_gv11b_ramin_init_subctx_pdb, NULL, 2), UNIT_TEST(init_subctx_pdb, test_gv11b_ramin_init_subctx_pdb, NULL, 2),
UNIT_TEST(set_eng_method_buf, test_gv11b_ramin_set_eng_method_buffer, NULL, 0), UNIT_TEST(set_eng_method_buf, test_gv11b_ramin_set_eng_method_buffer, NULL, 0),
UNIT_TEST(init_pdb, test_gv11b_ramin_init_pdb, NULL, 0),
}; };
UNIT_MODULE(ramin_gv11b_fusa, ramin_gv11b_fusa_tests, UNIT_PRIO_NVGPU_TEST); UNIT_MODULE(ramin_gv11b_fusa, ramin_gv11b_fusa_tests, UNIT_PRIO_NVGPU_TEST);

View File

@@ -99,6 +99,27 @@ int test_gv11b_ramin_init_subctx_pdb(struct unit_module *m, struct gk20a *g,
int test_gv11b_ramin_set_eng_method_buffer(struct unit_module *m, int test_gv11b_ramin_set_eng_method_buffer(struct unit_module *m,
struct gk20a *g, void *args); struct gk20a *g, void *args);
/**
* Test specification for: test_gv11b_ramin_init_pdb
*
* Description: Initialize instance block's PDB
*
* Test Type: Feature
*
* Targets: gops_ramin.init_pdb, gv11b_ramin_init_pdb
*
* Input: None
*
* Steps:
* - Configure PDB aperture, big page size, pdb address, PT format and default
* attribute.
* - Check page directory base values stored in instance block are correct.
*
* Output: Returns PASS if all branches gave expected results. FAIL otherwise.
*/
int test_gv11b_ramin_init_pdb(struct unit_module *m, struct gk20a *g,
void *args);
/** /**
* @} * @}
*/ */

View File

@@ -57,7 +57,7 @@ struct unit_module;
* gv11b_gr_init_commit_global_timeslice, * gv11b_gr_init_commit_global_timeslice,
* gv11b_gr_init_restore_stats_counter_bundle_data, * gv11b_gr_init_restore_stats_counter_bundle_data,
* gv11b_gr_init_commit_cbes_reserve, * gv11b_gr_init_commit_cbes_reserve,
* gm20b_gr_init_fe_go_idle_timeout, * gv11b_gr_init_fe_go_idle_timeout,
* gm20b_gr_init_override_context_reset, * gm20b_gr_init_override_context_reset,
* gm20b_gr_init_pipe_mode_override, * gm20b_gr_init_pipe_mode_override,
* gp10b_gr_init_commit_global_bundle_cb, * gp10b_gr_init_commit_global_bundle_cb,

View File

@@ -41,7 +41,7 @@
#include "hal/fb/fb_mmu_fault_gv11b.h" #include "hal/fb/fb_mmu_fault_gv11b.h"
#include "hal/fb/intr/fb_intr_gv11b.h" #include "hal/fb/intr/fb_intr_gv11b.h"
#include "hal/fifo/ramin_gk20a.h" #include "hal/fifo/ramin_gk20a.h"
#include "hal/fifo/ramin_gp10b.h" #include "hal/fifo/ramin_gv11b.h"
#include <nvgpu/hw/gv11b/hw_fb_gv11b.h> #include <nvgpu/hw/gv11b/hw_fb_gv11b.h>
#include <nvgpu/hw/gv11b/hw_flush_gv11b.h> #include <nvgpu/hw/gv11b/hw_flush_gv11b.h>
#include <nvgpu/as.h> #include <nvgpu/as.h>
@@ -159,7 +159,7 @@ int test_init_mm(struct unit_module *m, struct gk20a *g, void *args)
g->ops.fb.compression_page_size = gp10b_fb_compression_page_size; g->ops.fb.compression_page_size = gp10b_fb_compression_page_size;
#endif #endif
g->ops.fb.tlb_invalidate = gm20b_fb_tlb_invalidate; g->ops.fb.tlb_invalidate = gm20b_fb_tlb_invalidate;
g->ops.ramin.init_pdb = gp10b_ramin_init_pdb; g->ops.ramin.init_pdb = gv11b_ramin_init_pdb;
g->ops.ramin.alloc_size = gk20a_ramin_alloc_size; g->ops.ramin.alloc_size = gk20a_ramin_alloc_size;
g->ops.fb.is_fault_buf_enabled = gv11b_fb_is_fault_buf_enabled; g->ops.fb.is_fault_buf_enabled = gv11b_fb_is_fault_buf_enabled;
g->ops.fb.read_mmu_fault_buffer_size = g->ops.fb.read_mmu_fault_buffer_size =

View File

@@ -49,7 +49,7 @@
#include "hal/fb/fb_gv11b.h" #include "hal/fb/fb_gv11b.h"
#include "hal/fifo/ramin_gk20a.h" #include "hal/fifo/ramin_gk20a.h"
#include "hal/fifo/ramin_gm20b.h" #include "hal/fifo/ramin_gm20b.h"
#include "hal/fifo/ramin_gp10b.h" #include "hal/fifo/ramin_gv11b.h"
#include "hal/pramin/pramin_init.h" #include "hal/pramin/pramin_init.h"
#include <nvgpu/posix/posix-fault-injection.h> #include <nvgpu/posix/posix-fault-injection.h>
@@ -173,7 +173,7 @@ static int init_mm(struct unit_module *m, struct gk20a *g)
g->ops.fb.compression_page_size = gp10b_fb_compression_page_size; g->ops.fb.compression_page_size = gp10b_fb_compression_page_size;
#endif #endif
g->ops.fb.tlb_invalidate = gm20b_fb_tlb_invalidate; g->ops.fb.tlb_invalidate = gm20b_fb_tlb_invalidate;
g->ops.ramin.init_pdb = gp10b_ramin_init_pdb; g->ops.ramin.init_pdb = gv11b_ramin_init_pdb;
g->ops.ramin.alloc_size = gk20a_ramin_alloc_size; g->ops.ramin.alloc_size = gk20a_ramin_alloc_size;
if (g->ops.mm.is_bar1_supported(g)) { if (g->ops.mm.is_bar1_supported(g)) {

View File

@@ -45,7 +45,7 @@
#include <hal/fb/fb_gp10b.h> #include <hal/fb/fb_gp10b.h>
#include <hal/fb/fb_gm20b.h> #include <hal/fb/fb_gm20b.h>
#include <hal/fifo/ramin_gk20a.h> #include <hal/fifo/ramin_gk20a.h>
#include <hal/fifo/ramin_gp10b.h> #include <hal/fifo/ramin_gv11b.h>
#include <nvgpu/hw/gv11b/hw_gmmu_gv11b.h> #include <nvgpu/hw/gv11b/hw_gmmu_gv11b.h>
@@ -332,7 +332,7 @@ static int init_mm(struct unit_module *m, struct gk20a *g)
g->ops.fb.compression_page_size = gp10b_fb_compression_page_size; g->ops.fb.compression_page_size = gp10b_fb_compression_page_size;
#endif #endif
g->ops.fb.tlb_invalidate = gm20b_fb_tlb_invalidate; g->ops.fb.tlb_invalidate = gm20b_fb_tlb_invalidate;
g->ops.ramin.init_pdb = gp10b_ramin_init_pdb; g->ops.ramin.init_pdb = gv11b_ramin_init_pdb;
g->ops.ramin.alloc_size = gk20a_ramin_alloc_size; g->ops.ramin.alloc_size = gk20a_ramin_alloc_size;
if (g->ops.mm.is_bar1_supported(g)) { if (g->ops.mm.is_bar1_supported(g)) {

View File

@@ -36,7 +36,7 @@
#include "hal/fb/fb_gv11b.h" #include "hal/fb/fb_gv11b.h"
#include "hal/fb/intr/fb_intr_gv11b.h" #include "hal/fb/intr/fb_intr_gv11b.h"
#include "hal/fifo/ramin_gk20a.h" #include "hal/fifo/ramin_gk20a.h"
#include "hal/fifo/ramin_gp10b.h" #include "hal/fifo/ramin_gv11b.h"
#include "hal/mm/cache/flush_gk20a.h" #include "hal/mm/cache/flush_gk20a.h"
#include "hal/mm/gmmu/gmmu_gp10b.h" #include "hal/mm/gmmu/gmmu_gp10b.h"
#include "hal/mm/mm_gp10b.h" #include "hal/mm/mm_gp10b.h"
@@ -131,7 +131,7 @@ static int init_mm(struct unit_module *m, struct gk20a *g)
nvgpu_gmmu_default_big_page_size; nvgpu_gmmu_default_big_page_size;
g->ops.mm.init_inst_block = gv11b_mm_init_inst_block; g->ops.mm.init_inst_block = gv11b_mm_init_inst_block;
g->ops.mm.gmmu.get_mmu_levels = gp10b_mm_get_mmu_levels; g->ops.mm.gmmu.get_mmu_levels = gp10b_mm_get_mmu_levels;
g->ops.ramin.init_pdb = gp10b_ramin_init_pdb; g->ops.ramin.init_pdb = gv11b_ramin_init_pdb;
g->ops.ramin.alloc_size = gk20a_ramin_alloc_size; g->ops.ramin.alloc_size = gk20a_ramin_alloc_size;
g->ops.mm.setup_hw = nvgpu_mm_setup_hw; g->ops.mm.setup_hw = nvgpu_mm_setup_hw;
g->ops.fb.init_hw = gv11b_fb_init_hw; g->ops.fb.init_hw = gv11b_fb_init_hw;

View File

@@ -37,7 +37,7 @@
#include "hal/fb/fb_gv11b.h" #include "hal/fb/fb_gv11b.h"
#include "hal/fb/intr/fb_intr_gv11b.h" #include "hal/fb/intr/fb_intr_gv11b.h"
#include "hal/fifo/ramin_gk20a.h" #include "hal/fifo/ramin_gk20a.h"
#include "hal/fifo/ramin_gp10b.h" #include "hal/fifo/ramin_gv11b.h"
#include "hal/mm/cache/flush_gk20a.h" #include "hal/mm/cache/flush_gk20a.h"
#include "hal/mm/gmmu/gmmu_gp10b.h" #include "hal/mm/gmmu/gmmu_gp10b.h"
#include "hal/mm/mm_gp10b.h" #include "hal/mm/mm_gp10b.h"
@@ -120,7 +120,7 @@ static int init_mm(struct unit_module *m, struct gk20a *g)
nvgpu_gmmu_default_big_page_size; nvgpu_gmmu_default_big_page_size;
g->ops.mm.init_inst_block = gv11b_mm_init_inst_block; g->ops.mm.init_inst_block = gv11b_mm_init_inst_block;
g->ops.mm.gmmu.get_mmu_levels = gp10b_mm_get_mmu_levels; g->ops.mm.gmmu.get_mmu_levels = gp10b_mm_get_mmu_levels;
g->ops.ramin.init_pdb = gp10b_ramin_init_pdb; g->ops.ramin.init_pdb = gv11b_ramin_init_pdb;
g->ops.ramin.alloc_size = gk20a_ramin_alloc_size; g->ops.ramin.alloc_size = gk20a_ramin_alloc_size;
g->ops.mm.setup_hw = nvgpu_mm_setup_hw; g->ops.mm.setup_hw = nvgpu_mm_setup_hw;
g->ops.fb.init_hw = gv11b_fb_init_hw; g->ops.fb.init_hw = gv11b_fb_init_hw;

View File

@@ -35,7 +35,7 @@
#include "hal/fb/fb_gv11b.h" #include "hal/fb/fb_gv11b.h"
#include "hal/fb/intr/fb_intr_gv11b.h" #include "hal/fb/intr/fb_intr_gv11b.h"
#include "hal/fifo/ramin_gk20a.h" #include "hal/fifo/ramin_gk20a.h"
#include "hal/fifo/ramin_gp10b.h" #include "hal/fifo/ramin_gv11b.h"
#include "hal/mc/mc_gp10b.h" #include "hal/mc/mc_gp10b.h"
#include "hal/mm/cache/flush_gk20a.h" #include "hal/mm/cache/flush_gk20a.h"
#include "hal/mm/gmmu/gmmu_gp10b.h" #include "hal/mm/gmmu/gmmu_gp10b.h"
@@ -108,7 +108,7 @@ static int init_mm(struct unit_module *m, struct gk20a *g)
memset(&g->ops.fb, 0, sizeof(g->ops.fb)); memset(&g->ops.fb, 0, sizeof(g->ops.fb));
g->ops.fb.init_hw = gv11b_fb_init_hw; g->ops.fb.init_hw = gv11b_fb_init_hw;
g->ops.fb.intr.enable = gv11b_fb_intr_enable; g->ops.fb.intr.enable = gv11b_fb_intr_enable;
g->ops.ramin.init_pdb = gp10b_ramin_init_pdb; g->ops.ramin.init_pdb = gv11b_ramin_init_pdb;
g->ops.ramin.alloc_size = gk20a_ramin_alloc_size; g->ops.ramin.alloc_size = gk20a_ramin_alloc_size;
g->ops.mm.gmmu.get_default_big_page_size = g->ops.mm.gmmu.get_default_big_page_size =
nvgpu_gmmu_default_big_page_size; nvgpu_gmmu_default_big_page_size;

View File

@@ -35,7 +35,7 @@
#include "hal/fb/fb_gv11b.h" #include "hal/fb/fb_gv11b.h"
#include "hal/fb/intr/fb_intr_gv11b.h" #include "hal/fb/intr/fb_intr_gv11b.h"
#include "hal/fifo/ramin_gk20a.h" #include "hal/fifo/ramin_gk20a.h"
#include "hal/fifo/ramin_gp10b.h" #include "hal/fifo/ramin_gv11b.h"
#include "hal/mm/cache/flush_gk20a.h" #include "hal/mm/cache/flush_gk20a.h"
#include "hal/mm/gmmu/gmmu_gp10b.h" #include "hal/mm/gmmu/gmmu_gp10b.h"
#include "hal/mm/mm_gv11b.h" #include "hal/mm/mm_gv11b.h"
@@ -104,7 +104,7 @@ static int init_mm(struct unit_module *m, struct gk20a *g)
memset(&g->ops.fb, 0, sizeof(g->ops.fb)); memset(&g->ops.fb, 0, sizeof(g->ops.fb));
g->ops.fb.init_hw = gv11b_fb_init_hw; g->ops.fb.init_hw = gv11b_fb_init_hw;
g->ops.fb.intr.enable = gv11b_fb_intr_enable; g->ops.fb.intr.enable = gv11b_fb_intr_enable;
g->ops.ramin.init_pdb = gp10b_ramin_init_pdb; g->ops.ramin.init_pdb = gv11b_ramin_init_pdb;
g->ops.ramin.alloc_size = gk20a_ramin_alloc_size; g->ops.ramin.alloc_size = gk20a_ramin_alloc_size;
g->ops.mc.intr_stall_unit_config = mc_gp10b_intr_stall_unit_config; g->ops.mc.intr_stall_unit_config = mc_gp10b_intr_stall_unit_config;
g->ops.mm.gmmu.get_default_big_page_size = g->ops.mm.gmmu.get_default_big_page_size =

View File

@@ -54,7 +54,7 @@
#include "hal/fifo/channel_gv11b.h" #include "hal/fifo/channel_gv11b.h"
#include "hal/fifo/preempt_gv11b.h" #include "hal/fifo/preempt_gv11b.h"
#include "hal/fifo/ramin_gk20a.h" #include "hal/fifo/ramin_gk20a.h"
#include "hal/fifo/ramin_gp10b.h" #include "hal/fifo/ramin_gv11b.h"
#include "hal/mm/cache/flush_gk20a.h" #include "hal/mm/cache/flush_gk20a.h"
#include "hal/mm/gmmu/gmmu_gp10b.h" #include "hal/mm/gmmu/gmmu_gp10b.h"
#include "hal/mm/gmmu/gmmu_gv11b.h" #include "hal/mm/gmmu/gmmu_gv11b.h"
@@ -135,7 +135,7 @@ static int init_mm(struct unit_module *m, struct gk20a *g)
nvgpu_gmmu_default_big_page_size; nvgpu_gmmu_default_big_page_size;
g->ops.mm.init_inst_block = gv11b_mm_init_inst_block; g->ops.mm.init_inst_block = gv11b_mm_init_inst_block;
g->ops.mm.gmmu.get_mmu_levels = gp10b_mm_get_mmu_levels; g->ops.mm.gmmu.get_mmu_levels = gp10b_mm_get_mmu_levels;
g->ops.ramin.init_pdb = gp10b_ramin_init_pdb; g->ops.ramin.init_pdb = gv11b_ramin_init_pdb;
g->ops.ramin.alloc_size = gk20a_ramin_alloc_size; g->ops.ramin.alloc_size = gk20a_ramin_alloc_size;
g->ops.mm.setup_hw = nvgpu_mm_setup_hw; g->ops.mm.setup_hw = nvgpu_mm_setup_hw;
g->ops.fb.init_hw = gv11b_fb_init_hw; g->ops.fb.init_hw = gv11b_fb_init_hw;

View File

@@ -45,7 +45,7 @@
#include "hal/fb/fb_mmu_fault_gv11b.h" #include "hal/fb/fb_mmu_fault_gv11b.h"
#include "hal/fb/intr/fb_intr_gv11b.h" #include "hal/fb/intr/fb_intr_gv11b.h"
#include "hal/fifo/ramin_gk20a.h" #include "hal/fifo/ramin_gk20a.h"
#include "hal/fifo/ramin_gp10b.h" #include "hal/fifo/ramin_gv11b.h"
#include <nvgpu/hw/gv11b/hw_fb_gv11b.h> #include <nvgpu/hw/gv11b/hw_fb_gv11b.h>
#include <nvgpu/hw/gv11b/hw_flush_gv11b.h> #include <nvgpu/hw/gv11b/hw_flush_gv11b.h>
@@ -473,7 +473,7 @@ int test_mm_init_hal(struct unit_module *m, struct gk20a *g, void *args)
g->ops.fb.compression_page_size = gp10b_fb_compression_page_size; g->ops.fb.compression_page_size = gp10b_fb_compression_page_size;
#endif #endif
g->ops.fb.tlb_invalidate = gm20b_fb_tlb_invalidate; g->ops.fb.tlb_invalidate = gm20b_fb_tlb_invalidate;
g->ops.ramin.init_pdb = gp10b_ramin_init_pdb; g->ops.ramin.init_pdb = gv11b_ramin_init_pdb;
g->ops.ramin.alloc_size = gk20a_ramin_alloc_size; g->ops.ramin.alloc_size = gk20a_ramin_alloc_size;
g->ops.fb.is_fault_buf_enabled = gv11b_fb_is_fault_buf_enabled; g->ops.fb.is_fault_buf_enabled = gv11b_fb_is_fault_buf_enabled;
g->ops.fb.read_mmu_fault_buffer_size = g->ops.fb.read_mmu_fault_buffer_size =

View File

@@ -53,7 +53,7 @@
#include "hal/fb/intr/fb_intr_gv11b.h" #include "hal/fb/intr/fb_intr_gv11b.h"
#include "hal/fifo/ramin_gk20a.h" #include "hal/fifo/ramin_gk20a.h"
#include "hal/fifo/ramin_gm20b.h" #include "hal/fifo/ramin_gm20b.h"
#include "hal/fifo/ramin_gp10b.h" #include "hal/fifo/ramin_gv11b.h"
#include "hal/fb/fb_mmu_fault_gv11b.h" #include "hal/fb/fb_mmu_fault_gv11b.h"
#include <nvgpu/hw/gv11b/hw_gmmu_gv11b.h> #include <nvgpu/hw/gv11b/hw_gmmu_gv11b.h>
@@ -133,7 +133,7 @@ static int init_mm(struct unit_module *m, struct gk20a *g)
#endif #endif
g->ops.fb.tlb_invalidate = gm20b_fb_tlb_invalidate; g->ops.fb.tlb_invalidate = gm20b_fb_tlb_invalidate;
g->ops.ramin.init_pdb = gp10b_ramin_init_pdb; g->ops.ramin.init_pdb = gv11b_ramin_init_pdb;
g->ops.ramin.alloc_size = gk20a_ramin_alloc_size; g->ops.ramin.alloc_size = gk20a_ramin_alloc_size;
g->ops.mm.init_inst_block = gv11b_mm_init_inst_block; g->ops.mm.init_inst_block = gv11b_mm_init_inst_block;