mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-24 10:34:43 +03:00
gpu: nvgpu: rearch mc reset and enable hals
Remove current mc hals - mc.reset() - mc.enable() - mc.disable() - mc.reset_mask() - mc.reset_engine() - mc.reset_engine_enable() Add new mc hals - mc.enable_units(g, units, enable) > enable/disable given unit(s) - mc.enable_dev(g, dev, enable) > enable/disable engine represented by given device pointer - mc.enable_devtype(g, devtype) > enable/disable all engines of given devtype Move common mc intr functions to common/mc/mc_intr.c. Add below common mc functions - nvgpu_mc_reset_units(g, units) > reset given logical OR of nvgpu unit bitmap - nvgpu_mc_reset_dev(g, dev) > reset given single engine via dev > if engine is graphics, reset gpcs for nvgpu_next - nvgpu_mc_reset_devtype(g, devtype) > reset all engines of given devtype > if devtype is graphics, reset gpcs for nvgpu_next Bug 200648985 Bug 3109773 Change-Id: Idc67a14a0a7cde83de44fbfbec13007fead3ed5c Signed-off-by: Vedashree Vidwans <vvidwans@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2408523 Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
committed by
Alex Waterman
parent
e6e7561084
commit
e0dd79cd43
@@ -95,9 +95,14 @@ static void mock_void_return(struct gk20a *g)
|
||||
/* noop */
|
||||
}
|
||||
|
||||
static void mock_mc_reset(struct gk20a *g, u32 arg1)
|
||||
static int mock_mc_enable_units(struct gk20a *g, u32 units, bool enable)
|
||||
{
|
||||
/* noop */
|
||||
return 0;
|
||||
}
|
||||
static int mock_mc_enable_dev(struct gk20a *g, const struct nvgpu_device *dev,
|
||||
bool enable)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void mock_intr_unit_config(struct gk20a *g, u32 unit, bool enable)
|
||||
@@ -142,7 +147,8 @@ int test_ce_init_support(struct unit_module *m, struct gk20a *g, void *args)
|
||||
g->fifo.num_engines = 0;
|
||||
g->ops.ce.set_pce2lce_mapping = mock_void_return;
|
||||
g->ops.ce.init_prod_values = mock_void_return;
|
||||
g->ops.mc.reset = mock_mc_reset;
|
||||
g->ops.mc.enable_units = mock_mc_enable_units;
|
||||
g->ops.mc.enable_dev = mock_mc_enable_dev;
|
||||
g->ops.mc.intr_nonstall_unit_config = mock_intr_unit_config;
|
||||
g->ops.mc.intr_stall_unit_config = mock_intr_unit_config;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user